Skip to main content

Convert requirements.txt to pyproject.toml

Project description

Poetry Import Plugin

PyPI version PyPI - Python Version GitHub issues pre-commit enable main semantic-release

poetry-import-plugin is a Python plugin for Poetry that simplifies the process of importing dependencies from requirements.txt files into a Poetry project. It allows you to integrate dependencies into specified dependency groups within the project's pyproject.toml file, optionally applying constraints from a constraints file. This plugin also supports updating the Poetry lock file and installing dependencies.

ps. It is renamed from Req2Toml

Features

  • Import dependencies from multiple requirements.txt files into specified groups.
  • Apply version constraints from a constraints file.

Installation

Please follow the official docs for the latest available methods.

Currently (as of 2024), poetry provides three ways to install the plugin:

With pipx inject

# To install
pipx inject poetry poetry-import-plugin

# To uninstall
pipx uninject poetry poetry-import-plugin

With pip

# To install
$POETRY_HOME/bin/pip install --no-cache-dir poetry-import-plugin

# To uninstall
$POETRY_HOME/bin/pip uninstall poetry-import-plugin

The self add command (not recommended for Windows users)

# To install
poetry self add poetry-import-plugin

# To uninstall
poetry self remove poetry-import-plugin

Usage

The import command can be used to import dependencies from requirements.txt files into your Poetry project. Below are the available options and arguments:

Arguments

  • files (optional, multiple): The requirements.txt files to import.

Options

  • --group, -g (optional, multiple): Specifies the dependency group(s) into which the dependencies will be imported. Multiple groups can be specified, each followed by a list of dependency files to import.
  • --constraint, -c (optional): Specifies a constraint file to apply version restrictions on dependencies during import.
  • --lock (optional): Updates the Poetry lock file without installing the packages.
  • --no-update (optional): Prevents updating the lock file when running the lock operation.
  • --install (optional): Runs a Poetry installation to install all dependencies defined in pyproject.toml.

Examples

  1. Import dependencies from requirements.txt into the default group:

    poetry import requirements.txt
    
  2. Import dependencies from multiple requirements.txt files into specific groups:

    poetry import -g dev dev-requirements.txt -g test test-requirements.txt
    
  3. Apply constraints from a constraints file during import:

    poetry import -c constraints.txt requirements.txt
    
  4. Update the Poetry lock file after importing dependencies:

    poetry import --lock requirements.txt
    
  5. Install all dependencies after importing:

    poetry import --install requirements.txt
    

Contact

For any questions or feedback, please open an issue on the GitHub repository or contact the author.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

poetry_import_plugin-2.1.1.tar.gz (12.5 kB view hashes)

Uploaded Source

Built Distribution

poetry_import_plugin-2.1.1-py3-none-any.whl (13.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page