Skip to main content

Python command line application bare bones template.

Project description

This is a structure template for Python command line applications, ready to be released and distributed via setuptools/PyPI/pip for Python 2 and 3.

Please have a look at the corresponding article: http://gehrcke.de/2014/02/distributing-a-python-command-line-application/

Usage

Clone this repository and adopt the bootstrap structure for your own project. This is just a starting point, but I hope a good one. From there on, you should read and follow https://packaging.python.org/, the definite resource on Python packaging.

Behavior

Flexible invocation

The application can be run right from the source directory, in different ways:

  1. Treating the bootstrap directory as a package and as the main script:

    $ python -m bootstrap arg1 arg2
    Executing bootstrap version 0.2.0.
    List of argument strings: ['arg1', 'arg2']
    Stuff and Boo():
    <class 'bootstrap.stuff.Stuff'>
    <bootstrap.bootstrap.Boo object at 0x7f43d9f65a90>
  2. Using setup.py develop (documented here):

    # This installs the bootstrap command linking back
    # to the current checkout, quite neat for development!
    $ python setup.py develop
    ...
    $ bootstrap arg1 arg2
  3. Using the bootstrap-runner.py wrapper:

    $ ./bootstrap-runner.py arg1 arg2
    Executing bootstrap version 0.2.0.
    List of argument strings: ['arg1', 'arg2']
    Stuff and Boo():
    <class 'bootstrap.stuff.Stuff'>
    <bootstrap.bootstrap.Boo object at 0x7f149554ead0>

Installation sets up bootstrap command

Situation before installation:

$ bootstrap
bash: bootstrap: command not found

Installation right from the source tree (or via pip from PyPI):

$ python setup.py install

Now, the bootstrap command is available:

$ bootstrap arg1 arg2
Executing bootstrap version 0.2.0.
List of argument strings: ['arg1', 'arg2']
Stuff and Boo():
<class 'bootstrap.stuff.Stuff'>
<bootstrap.bootstrap.Boo object at 0x7f366749a190>

On Unix-like systems, the installation places a bootstrap script into a centralized bin directory, which should be in your PATH. On Windows, bootstrap.exe is placed into a centralized Scripts directory which should also be in your PATH.

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

My-Test-Project-Rawa-0.2.0.tar.gz (3.0 kB view details)

Uploaded Source

File details

Details for the file My-Test-Project-Rawa-0.2.0.tar.gz.

File metadata

  • Download URL: My-Test-Project-Rawa-0.2.0.tar.gz
  • Upload date:
  • Size: 3.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.1

File hashes

Hashes for My-Test-Project-Rawa-0.2.0.tar.gz
Algorithm Hash digest
SHA256 7d4f87f7d291fc909cc36e9cbbeec4802da220a7aa8f42525c2d524952056a92
MD5 2dbf4d3f9c0b6503d672a74dd6424fcb
BLAKE2b-256 15b218b1ae6319fb2a1290b927066b32afa2832800a1c89a2a8a4abc69cf9ae2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page