emrgnt-cmplxty/automata

Migrate Python Project Dependency Management to Poetry

Closed this issue · 0 comments

Title: Migrate Python Project Dependency Management to Poetry

Problem:
Our project is currently using requirements.txt for dependency management. However, this method requires separate steps for packaging, and could potentially lead to dependency conflicts or issues.

Proposed Solution:
We should migrate our dependency management to Poetry. This tool integrates dependency management and packaging into a single framework, which will streamline our development process and help prevent any future dependency issues.

Steps:

  1. Install Poetry globally in the environment:

    curl -sSL https://install.python-poetry.org | python -
  2. In the project directory, initialize a new Poetry project:

    cd your_project_dir
    poetry init
  3. Add dependencies from the existing requirements.txt file to Poetry:

    poetry add $(cat requirements.txt | tr "\n" " ")
  4. After verifying all dependencies are correctly added to Poetry, remove the requirements.txt file:

    rm requirements.txt
  5. Install the dependencies in a new virtual environment:

    poetry install

Impact on CI/CD and scripts:
Before removing the requirements.txt file, we need to ensure that this won't affect our current CI pipeline or any scripts that use this file. We need to replace any usage of pip install -r requirements.txt with poetry install, which will create a virtual environment and install the dependencies there. We should check all our CI/CD scripts and make necessary changes.

Testing:
After migrating to Poetry, we need to thoroughly test our application and CI/CD pipeline to ensure everything is working correctly.


This issue aims to provide a step-by-step guide for the migration process while keeping potential issues and their solutions in mind. Feel free to modify it to suit your specific project requirements.