Skip to main content

Functions for server command-line arguments used by humans.

Project description

Path-and-Address
================

Functions for command-line server tools used by humans.


Description
-----------

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

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

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

Some examples:

```bash
$ 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 0.0.0.0
* Serving 0.0.0.0 on http://localhost:5000/

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

$ your_app 0.0.0.0:8080
* Serving . on http://0.0.0.0:8080/
```


Usage
-----

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

Example, using `sys.argv` directly:

```python
import sys
from path_and_pattern import resolve

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

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


Installation
------------

To install, simply:

```bash
$ pip install path-and-address
```

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


Contributing
------------

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 [Authors.md][]
3. Send a pull request


[pols]: http://en.wikipedia.org/wiki/Principle_of_least_astonishment

Project details


Download files

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

Source Distribution

path-and-address-1.1.0.zip (7.7 kB view details)

Uploaded Source

File details

Details for the file path-and-address-1.1.0.zip.

File metadata

File hashes

Hashes for path-and-address-1.1.0.zip
Algorithm Hash digest
SHA256 c9cbea6919464ff2bbe441b996341e97d112ef876d8eeaa7ab127fe9fb811471
MD5 47ba266cdf2549939434ddc1af2a051b
BLAKE2b-256 9d17e1afeb3587c51c8fe71ef32cfd72715dd7d90ded7ebe622213d14b6c1acb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page