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

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyproject_pipenv-1.2.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.17

File hashes

Hashes for pyproject_pipenv-1.2.0.tar.gz
Algorithm Hash digest
SHA256 1f9d6324271a7b51928beb22a21cfc32303fe138f5d0f6534deaf0f7e1a73685
MD5 1bc6b76bc87572af745ddac14f8fe537
BLAKE2b-256 106939f0e60d78d1d3f28b8c68e3a31eb364e43bcc7bc40617fa5efaff9c4adb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyproject_pipenv-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8b3a0dc48d8e440e4fa441dac2cf91185fa0a39adecce6b3c224e243878496a7
MD5 72fcacb6996bbfaa5d6e2a3be58b3787
BLAKE2b-256 2893aa0bb701883d2cd4917964e1f21aee7d5dd59080ccd9196b234eb75f5e86

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