UriPoint
Overview
UriPoint is a flexible Python library for creating, managing, and interacting with network endpoints across multiple protocols.
Key Features
Persistent Endpoint Management
UriPoint provides a robust CLI for creating and managing endpoints that persist across sessions.
How It Works
-
Configuration Storage
- Endpoints are stored in
~/.uripoint_config.yaml - Automatically saves and loads endpoint configurations
- Maintains state between CLI sessions
- Endpoints are stored in
-
Endpoint Creation
- Supports multiple creation methods
- Prevents duplicate endpoint registration
- Stores endpoint details with associated metadata
Installation
pip install uripoint
CLI Usage
Endpoint Creation Methods
- Full URI Approach
# Create an endpoint with full URI
uripoint --uri http://localhost:8080/api/status --data '{"status": "OK"}'
- Component-Based Approach
# Create an endpoint using individual components
uripoint --hostname localhost --path /api/status --protocol http --port 8001 --data '{"status": "OK"}'
Endpoint Management
# List all configured endpoints
uripoint --list
# Serve all configured endpoints
uripoint --serve
uripoint --test
Persistent Configuration
How Configuration Works
- Endpoints are saved in
~/.uripoint_config.yaml - Each endpoint includes:
- Protocol
- Hostname
- Path
- Port
- Optional metadata
Example Workflow
# Create first endpoint
uripoint --hostname localhost --path /api/users --port 8001
# Create second endpoint
uripoint --hostname localhost --path /api/products --port 8002
# List all endpoints (persists between sessions)
uripoint --list
# Serve all endpoints
uripoint --serve
Supported Protocols
- HTTP
- HTTPS
- WebSocket (WS)
- WebSocket Secure (WSS)
- FTP
- SFTP
Programmatic Usage
from uripoint import UriPointCLI
# Create CLI instance
cli = UriPointCLI()
# Create an endpoint
cli.create_endpoint(
uri='http://localhost:8000/api/status',
data='{"status": "OK"}'
)
# List endpoints
cli.list_endpoints()
# Serve endpoints
cli.serve()
Configuration File Location
- Path:
~/.uripoint_config.yaml - Format: YAML
- Contents: List of endpoint configurations
Contributing
Contributions are welcome! Please see CONTRIBUTING.md
License
This project is licensed under the terms of the LICENSE file in the project root.
Metadata
Release files for uripoint 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| uripoint-1.0.0.tar.gz | 25.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| uripoint-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.2 kB
Release files / uripoint-1.0.0.tar.gz
| Download URL | uripoint-1.0.0.tar.gz |
|---|---|
| Size | 25.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c78f5b8d212b4e7090b5dfe4e08ea900f85ab0c58e37bae98c5f6ddd87e50c13
|
|
BLAKE2b-256 checksum How to use checksums |
0d58b09cc891178183888f67d7291fc403724973800eeb9179fe7e1c7ad59d3e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.3
|
Release files / uripoint-1.0.0-py3-none-any.whl
| Download URL | uripoint-1.0.0-py3-none-any.whl |
|---|---|
| Size | 12.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e155d2a686cacd5c4b5ae158e7ade562f27ba7870578f98d83f30a5a2491a9a0
|
|
BLAKE2b-256 checksum How to use checksums |
85bc00ea79f332702167272484589f819adabaf1926af648dc232e79feeee082
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.3
|