Skip to main content

Sync requirements from Pipfile to pyproject.toml

Project description

pyproject-pipenv

ci PyPI pyversions PyPI version Very popular Code style: black

Sync properties from Pipfile to pyproject.toml.

Never need again to change dependencies manually in pyproject.toml (or forget to do it and publish a broken package), and enjoy the same dependency locking or semantic versioning.

Also allows just checking to be used as part of CI lint/format steps.

Install

# in your project virtualenv (or globally / pipx)
$ pip install pyproject-pipenv
...

Usage

Check:

$ pyproject-pipenv
Dependencies out of sync:
- tomlkit<2.0.0
+ tomlkit<1.0.0
pyproject.toml NEEDS UPDATE!

Apply:

$ pyproject-pipenv --fix
Dependencies out of sync:
- tomlkit<2.0.0
+ tomlkit<1.0.0
pyproject.toml UPDATED!

Features

  • Syncs
    • Dependencies
    • Python version required

ToDo

  • Handle markers and all that extra crap besides version
  • Sync more fields

Context

For some reason, neither pyproject nor pipenv interact with each other:

  • You use pipenv (and Pipfile) while developing, because it's great
  • You add all the package details to pyproject.toml
  • You work on the code and add new dependencies
  • Then you publish the new version only to notice you forgot to add the dependencies also to pyproject dependencies entry...

dephell seemed to be a solution but it is dead. Forking it sounds too much, as it supports many different things than I need.

pipenv-setup seems to be the same but for setup.py instead of pyproject.toml. Probably a good source for inspiration after this initial version.

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

pyproject_pipenv-1.1.1.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

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

pyproject_pipenv-1.1.1-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file pyproject_pipenv-1.1.1.tar.gz.

File metadata

  • Download URL: pyproject_pipenv-1.1.1.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for pyproject_pipenv-1.1.1.tar.gz
Algorithm Hash digest
SHA256 aa0c8ee5b96646e107b21611d1ec085c26fb53418e2a4188a4d57538371430bf
MD5 56b63f97a7a693803c52e9af777697a3
BLAKE2b-256 8ca2b721b91eb608c5d51ad4f3a689b969f22d4f693396202f61a5dc18017081

See more details on using hashes here.

File details

Details for the file pyproject_pipenv-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pyproject_pipenv-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9f7f48b6f71797741f41a4543f926ee222468d3dc694990469f38da15f5aad42
MD5 df764e465cf1ca7e31a375888a1ae45a
BLAKE2b-256 829b9c18a35ff2c2ce3013edce3f83e5f62cbee134776f29909e997bc66c53e9

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