blob: 68afff048488b90a0283f6bc089ec7c2af95106f [file] [log] [blame]
.. ..
<!---
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
--->
Apache Flagon Distill
=====================
.. image:: https://readthedocs.org/projects/incubator-flagon-distill/badge/?version=distill_toolkit_refactor
:target: https://incubator-flagon-distill.readthedocs.io/en/distill_toolkit_refactor/?badge=stable
:alt: Documentation Status
This project is a work in progress, prior to an official Apache Software Foundation release. Check back soon for important updates.
Please see our `readthedocs.org pages <https://incubator-flagon-distill.readthedocs.io/en/distill_toolkit_refactor/>`_ for documentation.
A contribution guide has been provided `here <http://flagon.incubator.apache.org/docs/contributing/>`_.
Installation
------------
To install and set up the Python project, Distill uses `Poetry <https://python-poetry.org/>`_, a dependency and package management tool. Poetry simplifies the management of project dependencies and virtual environments, ensuring consistent and reproducible builds.
Prerequisites
~~~~~~~~~~~~~
Before you begin, make sure you have the following prerequisites installed on your system:
- Python (>= 3.8)
- Poetry (>= 1.0)
You can check your Python version by running:
.. code-block:: bash
python --version
This will return the version of Python installed on your system. If you do not have Python installed, you can download it from the `official website <https://www.python.org/downloads/>`_. However, we recommend using a Python version manager such as `pyenv`. You can refer to this guide for setting it up: `pyenv guide <https://realpython.com/intro-to-pyenv/>`_.
You can install Poetry a number of ways (see the `Poetry docs <https://python-poetry.org/docs/>`_ for all methods). We recommend installing one of the following two ways:
**Official Installer**:
*Linux, macOS, Windows (WSL)*
.. code-block:: bash
curl -sSL https://install.python-poetry.org | python3 -
*Windows (Powershell)*
.. code-block:: bash
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
**pipx**:
.. code-block:: bash
pipx install poetry
The above two methods should minimize the chances of dependency conflicts with your system Python (global) installation. Some users have reported issues with Poetry using an incorrect Python environment instead of the project's local virtual environment when using regular pip method. If you run into issues, please refer to the official Poetry docs or Github for more in-depth installation instructions.
Installation Steps
~~~~~~~~~~~~~~~~~~
Follow these steps to set up and install the project:
1. Clone the repository:
.. code-block:: bash
git clone https://github.com/apache/flagon-distill.git
2. Navigate to the project directory:
.. code-block:: bash
cd flagon-distill
3. Use Poetry to install project dependencies and create a virtual environment:
.. code-block:: bash
poetry install
This command reads the ``pyproject.toml`` file and installs all required packages into a dedicated virtual environment.
4. Activate the virtual environment:
.. code-block:: bash
poetry shell
You are now inside the project's virtual environment, which isolates the project's dependencies from your system-wide Python packages.
5. Run the tests:
You can now run the tests to make sure everything installed properly. For example:
.. code-block:: bash
make test
Remember that you need to activate the virtual environment (step 4) each time you work on the project.
Updating Dependencies
~~~~~~~~~~~~~~~~~~~~~
To update project dependencies, you can use the following command:
.. code-block:: bash
poetry update
This command updates the ``pyproject.toml`` file with the latest compatible versions of the packages.
Uninstalling
~~~~~~~~~~~~
To uninstall the project and its dependencies, simply deactivate the virtual environment (if activated) by typing:
.. code-block:: bash
exit
This will exit the virtual environment. You can then safely delete the project directory.
By following these installation steps, you can easily set up and manage the Python project using Poetry. Enjoy coding!