Skip to main content

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.

Metadata

Release files for pyproject-pipenv 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyproject-pipenv 1.2.0
File Size Uploaded
pyproject_pipenv-1.2.0.tar.gz 6.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyproject-pipenv 1.2.0
File Interpreter ABI Platform
pyproject_pipenv-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 12.0 kB

Release files / pyproject_pipenv-1.2.0.tar.gz

Download URL pyproject_pipenv-1.2.0.tar.gz
Size 6.1 kB
Tags Source
SHA-256 checksum
How to use checksums
1f9d6324271a7b51928beb22a21cfc32303fe138f5d0f6534deaf0f7e1a73685
BLAKE2b-256 checksum
How to use checksums
106939f0e60d78d1d3f28b8c68e3a31eb364e43bcc7bc40617fa5efaff9c4adb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.17

Release files / pyproject_pipenv-1.2.0-py3-none-any.whl

Download URL pyproject_pipenv-1.2.0-py3-none-any.whl
Size 5.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8b3a0dc48d8e440e4fa441dac2cf91185fa0a39adecce6b3c224e243878496a7
BLAKE2b-256 checksum
How to use checksums
2893aa0bb701883d2cd4917964e1f21aee7d5dd59080ccd9196b234eb75f5e86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.17

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page