UriPoint
Overview
UriPoint is a comprehensive Python library for creating and managing endpoints across multiple protocols. It provides a flexible and powerful solution for setting up various network services with ease.
Features
Supported Protocols
- HTTP
- FTP
- RTSP (Real Time Streaming Protocol)
- MQTT (Message Queuing Telemetry Transport)
- WebSocket
- TCP
- UDP
- SMTP
- POP3
- SFTP
Installation
pip install uripoint
Quick Start
Creating Endpoints
- HTTP Endpoint
python uripoint.py --uri /api/status --protocol http --port 8000 --data '{"status": "OK"}'
- FTP Server
python uripoint.py --uri /files --protocol ftp --port 2121 --data '{"directory": "./files"}'
- RTSP Stream
python uripoint.py --uri /stream --protocol rtsp --port 8554 --data '{"stream_name": "test"}'
- MQTT Broker
python uripoint.py --uri /mqtt --protocol mqtt --port 1883 --data '{"topics": ["test/#"]}'
Additional Commands
- Run all servers:
python uripoint.py --serve
- List all endpoints:
python uripoint.py --list
Key Capabilities
- Dynamic endpoint creation
- Multi-protocol support
- Persistent configuration (YAML-based)
- Flexible data handling
- Easy configuration and management
Requirements
- Python 3.7+
- See
requirements.txtfor full dependencies
Testing
To run tests:
python -m pytest
Contributing
We welcome contributions! Please see CONTRIBUTING.md for details on how to get started.
License
This project is licensed under the terms of the LICENSE file in the project root.
Advanced Usage
Each endpoint is highly configurable and can handle various data types. The configuration is saved to a YAML file, ensuring endpoints persist between runs.
Example Python Usage
from uripoint import create_endpoint
# Create an HTTP endpoint
endpoint = create_endpoint(
uri='/api/example',
protocol='http',
port=8000,
data={'key': 'value'}
)
endpoint.start()
Future Roadmap
- Enhanced protocol support
- Advanced routing mechanisms
- Improved security features
- More comprehensive documentation
Metadata
Release files for uripoint 0.4.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-0.4.0.tar.gz | 21.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| uripoint-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.7 kB
Release files / uripoint-0.4.0.tar.gz
| Download URL | uripoint-0.4.0.tar.gz |
|---|---|
| Size | 21.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
73c76d56dca01391759cf674696bdcaa3cb0d175f9d928dc932a7fb65ebde1aa
|
|
BLAKE2b-256 checksum How to use checksums |
d60f22a06e364265f84a09f009d194311fdb76990b1a3b3e80294b69e28ea1e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.3
|
Release files / uripoint-0.4.0-py3-none-any.whl
| Download URL | uripoint-0.4.0-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4fa3f6cb3e340ff18cd3ff6527610160baea91167a61e8e0f4aadad8616e4a7d
|
|
BLAKE2b-256 checksum How to use checksums |
916e7a26e0381c394267fe2daf25d99a5aeca1e86d2e3c73a4a3d2cc9df5f24c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.3
|