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.2.tar.gz (6.2 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.2-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pyproject_pipenv-1.1.2.tar.gz
Algorithm Hash digest
SHA256 b16084bf00108edcad82a5cfd4e966b38cc6653e5195b8b1ddec42a10e165e22
MD5 f916988c3505be0a788198a72d408d81
BLAKE2b-256 0e3e6960d9680dafa68c2d3ca32a8839806d9679179c537d29195e1550dafa86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyproject_pipenv-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 283e19a6784db600f5f77f6ac5b1bfc7c4b893633cbba636864eee53fc19818f
MD5 4497d2aea45c991eaf3bfd0ec4737abc
BLAKE2b-256 f7af2eefe7cc37e649163ff5cf0537b182fdebd8e5dfb591e7d6e49d0142a927

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