Skip to main content
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
[authors.md]: ./AUTHORS.md

Metadata

Release files for path-and-address 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for path-and-address 2.0.1
File Size Uploaded
path-and-address-2.0.1.zip 6.5 kB Details

Release files / path-and-address-2.0.1.zip

Download URL path-and-address-2.0.1.zip
Size 6.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e96363d982b3a2de8531f4cd5f086b51d0248b58527227d43cf5014d045371b7
BLAKE2b-256 checksum
How to use checksums
2bb5749fab14d9e84257f3b0583eedb54e013422b6c240491a4ae48d9ea5e44f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

2.0.1 This release

1 release file

1.1.0

1 release file

1.0.0

1 release file

0.2.0

1 release file

0.1

1 release file

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