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-3.0.1.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

poetry_import_plugin-3.0.1-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file poetry_import_plugin-3.0.1.tar.gz.

File metadata

  • Download URL: poetry_import_plugin-3.0.1.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.12.3 Linux/6.8.0-1021-azure

File hashes

Hashes for poetry_import_plugin-3.0.1.tar.gz
Algorithm Hash digest
SHA256 5fa61e82029cd5247940220cb26a4bf24154938be0dfd3173376f8e72e101396
MD5 3899486d04c8d813cbe7c2c9ca816e6b
BLAKE2b-256 e3a394c60bc85ac6c95369264e37b2541b0b7bbf9c4c3f169086533475481e62

See more details on using hashes here.

File details

Details for the file poetry_import_plugin-3.0.1-py3-none-any.whl.

File metadata

  • Download URL: poetry_import_plugin-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.12.3 Linux/6.8.0-1021-azure

File hashes

Hashes for poetry_import_plugin-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ef7ed7fb594a500cff550dac8ca494817b7fe614325a223f30b97d12fbaf2ee2
MD5 6ba0eeade72c20dcd02905e145615e6d
BLAKE2b-256 b9c7d8dcf30a17fb6236d1a1870323808fc2757a4157126258682455b201924a

See more details on using hashes here.

Supported by

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