Pipenv-Setup
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-setupwill still figure things out:
And things will be where they should bepackage e1839a8 is local, omitted in setup.py setup.py successfully updated 23 packages from Pipfile.lock synced to setup.py# 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)
| 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
|