Skip to main content

paxo: python ♡ terminal

paxo is a small library that makes it fast and easy to create simple python command line tools.

PyPI Version Build Status PyPI License PyPI Python Versions Say Thanks!


What is this?

With paxo you can quickly create terminal applications with python. It handles a bunch of stuff in the background so that you do not need to worry about it.

Why Yet Another Command Line Library?

Well, for me paxo is not just a command line library managing your arguments and options but also managing everything related to those commands. It generates a quick info view of your commands and also provides a help command to learn more about each command. I hope that in the Future it will be able to handle everything documentation, manage all application configuration and data and be fully customizable so that you can create your own themes for a terminal app. If you just want a simple library to take care for shell arguments for you there are many other options available to you.

Paxo Terminal

Installation

It's as simple as:

$ pip install paxo

Usage

Paxo is really easy to use for anyone, whether you want to start quickly or customize your command line application to your own needs entirely. You can see paxo in action with some of my side projects. (e.g. pen or como). You can find a minimalistic script that makes use of this library inside the project's example folder:

from paxo import Paxo
from paxo.command import cmd


@cmd(help='Print out a help message.')
def hello(args):
    print 'Hello World!'

app = Paxo('example', 'a Cecil Woebker project.', '<command>', '0.1')

if __name__ == '__main__':
    app.go()

A simple command line call ./example.py hello prints “Hello World!“. Take a look at the above screenshot for the accompanying info screen of the example.py command.

Advanced

If you want to know even more make sure to check out the source code or look at some of the projects I mentioned above.

Features

  • Mange commands, usage and help information
  • Easily map commands to python functions
  • Declare a default action
  • Declare a dynamic action

TODO

  • Additional decorator for dynamic/default action
  • Route shell arguments to python functions automatically
  • Automatically create usage text from function signature
  • Cleanup Command management
  • Manage app configuration
  • Manage app data
  • Loose dependencies and become standalone
  • Support for command line options (ala -o, -a, -u)
  • Extended documentation feature - Create man pages
  • Cross Platform support
    • Additional decorator for OS support
  • Create sphinx documentation for “paxo“
  • Themes for “paxo“ - Design your own command line tool

Contribute

Beware: I developed this mainly for my own projects. Unfortunately this tool is not yet as versatile as I would like it to be. If you have any questions or would like some new features please let me know!

Fork and contribute!


For questions and suggestions, feel free to shoot me an email at me@cwoebker.com.

Also, follow or tweet @cwoebker.


Copyright (c) 2015-2018, Cecil Wöbker. License: BSD (see LICENSE for details)

Metadata

Release files for paxo 0.3.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 paxo 0.3.0
File Size Uploaded Provenance
paxo-0.3.0.tar.gz 11.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for paxo 0.3.0
File Interpreter ABI Platform
paxo-0.3.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 22.3 kB

Release files / paxo-0.3.0.tar.gz

Download URL paxo-0.3.0.tar.gz
Size 11.5 kB
Tags Source
SHA-256 checksum
How to use checksums
6ba19a16b11c49303c3bf19ea89a0bf83352e6ff73a2087c673c23100cf63d42
BLAKE2b-256 checksum
How to use checksums
e4cedc82f01f769a50f40fde85cc0d18463f17a1065a42e8f8ba56e8e88918ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

Release files / paxo-0.3.0-py2.py3-none-any.whl

Download URL paxo-0.3.0-py2.py3-none-any.whl
Size 10.8 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
0a1855f9e8e0d09aa239d18928364d3881252450e5b67617703693b7603147b0
BLAKE2b-256 checksum
How to use checksums
c763c86dcb079f15c49ce5461a003b97ec56e234682d698e7669bb9818568ae5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

Security for paxo 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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