PoetryΒΆ

Poetry is a Python packaging and dependency management utility. Poetry is utilized in the 2024 eCTF to manage dependencies for the eCTF tools, utilities, and additional build infrastructure.

Poetry should be automatically installed in your Nix environment. To set up Nix, see Nix. If you want to explore Poetry without Nix, it can be easily installed with Pip pip install poetry. Documentation on Poetry can be found at: https://python-poetry.org/.

Poetry utilizes two files to handle dependency management. These files are:

  • pyproject.toml

  • poetry.lock

The dependencies and project information are stored in pyproject.toml, and poetry.lock ensures that dependencies are all of the correct revision.

The eCTF example design will come with a Poetry project. This project can be installed with poetry install.

To use poetry outside of a pre-existing project, utilize poetry init to create a new project.

Once poetry is initialized, you can launch into an interactive shell with poetry shell. Additionally, you can launch programs inside of the environment with poetry run {command}.

Additional dependencies can be installed with poetry add {dependency} and removed with poetry remove {dependency}.