Minimal library for command-line applications.
Project description
A4 – Minimal library for command-line applications.
The name comes from A4 paper. It provides absolutely minimal (but not lousy) support for command-line applications.
A4 is listed on PyPI.
Simple logging
a4.log
implements minimal logging with three major features which, in my
highly opinionated opinion, should be included in all logging libraries:
- Levels.
- Colors.
- Timestamps.
You may print all logs to stderr with a4.log.fork=True
(default False
).
Yet another command-line application decorator
a4.app
provides a decorator Runnable
to convert a class into a runnable
command-line application. All class methods NOT starting with understore
are recognized as sub-commands. This pattern offers more convenience over
single-function decorators when multiple commands require shared resources.
import a4
from a4.app import AppBase, Runnable
@Runnable
class MyApp(AppBase):
def __init__(self):
AppBase.__init__(self)
def gen_calendar(self, args):
"""<yyyy> mmdd-mmdd [mmdd-mmdd ...]
Generate trading calendar for one year.
-c <cal_id> calendar ID, default 86
"""
opts, args = a4.get_opts('c:', args)
if len(args) < 2:
self._die_usage()
cal_id = int(opts['c'] or '86')
self._log(f'calendar id = {cal_id}')
if __name__ == '__main__':
MyApp().run()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file a4-0.2.7-py3-none-any.whl
.
File metadata
- Download URL: a4-0.2.7-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b241e355a20b5ad433e88ec9d34b6319f5ff616258ba3610c7f1399e4f51475 |
|
MD5 | a02dea512c28623508e96c2f72cf21f0 |
|
BLAKE2b-256 | ce0abba99c10bcb46f5f76b8cf3d2e1d7ca9efb48b04b97b1fcc0fe3d89ba791 |