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.0.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.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file pyproject-pipenv-1.1.0.tar.gz.

File metadata

  • Download URL: pyproject-pipenv-1.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 32b832b0864c1fe0b51c2e1c0199c654ca87bde691793c1871414934ef8d2aae
MD5 9e2f247ce8bc7194f0303acd04e99503
BLAKE2b-256 b27dcf653723411a936800437587f84aa76d4308025f953fc74d234ca73700f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyproject_pipenv-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c99f52b506aa227e75547bba0c17b293daa03afdff22293158c239c2b57355ce
MD5 cffbd8628c8f8a3578f80c192587a381
BLAKE2b-256 aa931ef2c6329a4eb2ef9605de183c6330674691af65c4f1e8648a3d2a77b2ad

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