Skip to main content

Pipenv-Setup

travis-badge PyPI version PyPI pyversions

sync dependencies in Pipfile.lock to setup.py

An beautiful python package development tool.

Never need again to change dependencies manually in setup.py and enjoy the same dependency locking

Install

$ pipenv install --dev pipenv-setup

Manual Usage

You can manually run $ pipenv-setup under directory that has your Pipfile.lock file.

If setup.py doesn't exist. A setup.py template will be created will dependencies extracted from the lock file.

Travis CI

What's better, add to .travis.yml and sync automatically before every pypi release

The following yml file is an example that runs tests on python 3.6 and 3.7 and automatically syncs pipfile dependencies to setup.py before every release. For explanation see this gist

language: python
dist: xenial

install: 'pipenv install --dev'
script: 'pytest'

stages:
- test
- deploy
jobs:
  include:
  - python: '3.7'
  - python: '3.6'
  - stage: deploy
    script: 'pipenv-setup'
    deploy:
      provider: pypi
      user: Madoshakalaka
      password:
        secure: xxxxxxxxx
      on:
        tags: true

Features

  • supports assorted package configuration. You can have a pipfile as ugly as you want:
    [package]
    requests = { extras = ['socks'] }
    records = '>0.5.0'
    django = { git = 'https://github.com/django/django.git', ref = '1.11.4', editable = true }
    "e682b37" = {file = "https://github.com/divio/django-cms/archive/release/3.4.x.zip"}
    "e1839a8" = {path = ".", editable = true}
    pywinusb = { version = "*", os_name = "=='nt'", index="pypi"}
    
    pipenv-setup will still figure things out:
    package e1839a8 is local, omitted in setup.py
    setup.py successfully updated
    23 packages from Pipfile.lock synced to setup.py
    
    And things will be where they should be
    # setup.py
        install_requires=[
            "certifi==2017.7.27.1",
            "chardet==3.0.4",
            "pywinusb==0.4.2; os_name == 'nt'",
            ...,
            "xlrd==1.1.0",
            "xlwt==1.3.0",
        ],
        dependency_links=[
            "git+https://github.com/django/django.git@1.11.4#egg=django",
            "https://github.com/divio/django-cms/archive/release/3.4.x.zip",
        ],
    
  • Blackened setup.py file.
  • Template generation with filled dependencies in the absence of a setup file.
    setup.py not found under current directory
    Creating boilerplate setup.py...
    setup.py successfully generated under current directory
    23 packages moved from Pipfile.lock to setup.py
    Please edit the required fields in the generated file
    

Release files for pipenv-setup 1.3.2

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

Source distribution (sdist)

Source distribution for pipenv-setup 1.3.2
File Size Uploaded
pipenv-setup-1.3.2.tar.gz 10.3 kB Details

Release files / pipenv-setup-1.3.2.tar.gz

Download URL pipenv-setup-1.3.2.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
00fdc7aefa5dd7f284878654e31fbae7c424c327f82679a6de0f58e81622a785
BLAKE2b-256 checksum
How to use checksums
07d867eb6c202cfc948fe92731a04195d4dd0ec81b8cd9776b7e94209cc131f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.34.0 CPython/3.7.1

Release history Release notifications | RSS feed

3.2.0

2 release files

3.1.4

2 release files

3.1.3

2 release files

3.1.2

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.2.5

2 release files

2.2.4

2 release files

2.2.3

2 release files

2.2.2

1 release file

2.2.1

2 release files

2.2.0

1 release file

2.1.7

1 release file

2.1.6

1 release file

2.0.6

1 release file

2.0.5

1 release file

2.0.4

1 release file

2.0.3

1 release file

2.0.2

1 release file

2.0.0

1 release file

This release

1.3.2 This release

1 release file

1.0.0

1 release file

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