Skip to main content

console script boilerplate

some boilerplate stuff for console scripts. inspired by now unmaintained pyCLI.

decorate your main function and register it in your setup.py as console_scripts entry_point [1]. the function will receive an app object as argument.

you get:

  • pythons ArgumentParser
  • KeyboardInterrupt is catched
  • SIGTERM is handled, so that context managers will exit properly
  • logging helper

exit_handler and sigterm_handler may be customized.

[1] https://setuptools.readthedocs.io/en/latest/setuptools.html#automatic-script-creation

example

from csboilerplate import cli_app


@cli_app(name=__name__)
def main(app):
    app.logging_config(log_level=app.args.debug)
    # do your stuff


main.argparser.add_argument('-d', '--debug', action='count', default=0,
                            help='lower logging threshold, may be used twice')

dev env

checkout git and:

virtualenv .env -p python3
. .env/bin/activate
pip install -e .[dev]

Metadata

Release files for csboilerplate 0.1.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 csboilerplate 0.1.0
File Size Uploaded
csboilerplate-0.1.0.tar.gz 7.8 kB Details

Release files / csboilerplate-0.1.0.tar.gz

Download URL csboilerplate-0.1.0.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
d3921a2a682d7471d27c72b796909ac33db99a42dcc9fa02e80d782ae41d79a4
BLAKE2b-256 checksum
How to use checksums
5a58c638e4c756a9ab27f8b3a7e18a507882d7037fdfed1261a77c3ce5a07906
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

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