Skip to main content

Pybundler

PyPI version CircleCI

Manages python applicatons or packages.

Create a basic template of python package and manage python apps or packages. The purpose of this tool is offer a similar experience with ruby's bundler. This package is based on pypkg-generator and pipenv.

Installation

OS X & Linux:

From PYPI

$ pip3 install pybundler

from the source

$ git clone https://github.com/dany2691/pybundler.git
$ cd pybundler
$ python3 setup.py install

Usage example

Open a terminal and type:

$ pybundler --help

And it'll display:

Options:
  --install-all         Installs all packages from Pipfile
  -i, --install TEXT    Install a given package or the content of the Pipfile
  -u, --uninstall TEXT  uninstalls a given dependecy
  -d, --dev             If it is True, install dependency in dev section
  --lock                Creates or updates the Pipfile.lock
  -s, --shell           Spawns a shell within the virtualenv
  -b, --build-wheel     Creates a source archive and a wheel for your package
  -t, --test-release    Uploads the package to test.pypi.org
  -r, --release         Uploads the package to pypi.org andpushes it to the
                        git remote
  -p, --package         Creates a new python package from scratch
  -v, --version         Shows the current version of the package
  --help                Show this message and exit.

The purpose of this tool is offer a similar experience with ruby's bundler. So you can create a new package from scratch.

$ pybundler --package

Then, a list of question will prompted in order to customize the new package:

Please, enter the nanme of the package: : greate-project
Enter the path of the project (default: current dir) []:
Do you want to include a license file?  [y/N]: y
Do you want to include a code of conduct file?  [y/N]: y
Do you want to include a Pipfile file?  [y/N]: y
Do you want to install pytest?  [y/N]: y

So you can install dependencies like pipenv in a virtual enviroment:

$ pybundler --install numpy==1.16.2

You can install dev dependencies, as shown below:

$ pybundler --install pytest --dev

So, like pipenv, is possible to install all dependencies from Pipfile

$ pybundler --install-all

The following option generates or updates Pipfile.lock:

$ pybundler --lock

The following option spawns a shell within the virtualenv:

$ pybundler --shell

To see the current version installed in the system:

$ pybundler --version

In order to automate the publishing of the new package, we provide the next options for building and uploading the package to pypi and the remote git service.

This is a replacement for python setup.py sdist bdist_wheel

$ pybundler --build-wheel

The next option, uploads the package to test.pypi.org:

$ pybundler --test-release

And last but not least, this one, uploads the package to pypi.org and pushes it to the git remote:

$ pybundler --release

Development setup

This project uses pipenv for dependecy resolution. It's a kind of mix between pip and virtualenv. Follow the next instructions to setup the development enviroment.

$ git clone https://github.com/dany2691/pybundler.git
$ cd pybundler
$ pipenv shell
$ pipenv install -e .

To run the test-suite, inside the pybundler directory:

$ pytest -vv test/

Release History

  • 0.3.0
    • ADD: Add --version flag to the options
  • 0.2.1
    • FIX: Fix the Documentation
  • 0.2.0
    • CHANGE: New name of the project, pybundler instead of py-bundler
  • 0.1.1
    • FIX: README.md fixed, text/markdown instead of text/markadown
  • 0.1.0
    • The first proper release
    • ADD: Add cli module
  • 0.0.1
    • Work in progress

Meta

Daniel Omar Vergara Pérez – @dan1_net – daniel.omar.vergara@gmail.com

https://github.com/dany2691

Contributing

  1. Fork it (https://github.com/dany2691/pybundler)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request

Release files for pybundler 0.4.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 pybundler 0.4.0
File Size Uploaded
pybundler-0.4.0.tar.gz 6.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pybundler 0.4.0
File Interpreter ABI Platform
pybundler-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.3 kB

Release files / pybundler-0.4.0.tar.gz

Download URL pybundler-0.4.0.tar.gz
Size 6.0 kB
Tags Source
SHA-256 checksum
How to use checksums
80a9783a7175ee3de922a18cc129a1ede208166bb36995b7996069194e7a5e9e
BLAKE2b-256 checksum
How to use checksums
6f5af1c1dbfa5db63e5c4118a30849226e7634c8863e0f60e0994645e874111e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.8.0 tqdm/4.36.1 CPython/3.7.4

Release files / pybundler-0.4.0-py3-none-any.whl

Download URL pybundler-0.4.0-py3-none-any.whl
Size 7.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1c617e6d18fcb159cd239aaf5cb7b8b94697b894982ab54ada52594e4b59cacd
BLAKE2b-256 checksum
How to use checksums
b0576ac2c2a2a89b87eba55af8e8f26cd7313cdbb0b13a6db28b90253b784620
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.8.0 tqdm/4.36.1 CPython/3.7.4

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

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