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.
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
a4-0.2.5-py3-none-any.whl
(7.6 kB
view hashes)