Skip to main content

Functions for server command-line arguments used by humans.

Project description


Functions for command-line server tools used by humans.


Path-and-address resolves ambiguities for command-line interface applications
with the following pattern:

$ your_app [<path>] [<address>]

The library applies [the principal of least surprise][pols] to command-line

Some examples:

$ your_app .
* Serving . on http://localhost:5000/

$ your_app 80
* Serving . on http://localhost:80/

$ your_app ./80
* Serving ./80 on http://localhost:5000/

$ your_app path/to/file
* Serving path/to/file on http://localhost:5000/

$ your_app
* Serving on http://localhost:5000/

$ your_app .
* Serving . on

$ your_app
* Serving . on


Implement a CLI front-end in Python that exposes the above `[path] [address]`
pattern. Then call `resolve(path, address)`.

Example, using `sys.argv` directly:

import sys
from path_and_pattern import resolve

path, address = resolve(*argv[1:])

More examples can be found in the "examples" directory.


To install, simply:

$ pip install path-and-address

Or put it in your project's `requirements.txt`.


1. Check the open issues or open a new issue to start a discussion around
your feature idea or the bug you found
2. Fork the repository, make your changes, and add yourself to [][]
3. Send a pull request


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for path-and-address, version 1.1.0
Filename, size File type Python version Upload date Hashes
Filename, size (7.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page