The networking library you always wanted
Project description
Veltix
The networking library you always wanted
✨ Features
- 🚀 Dead simple API - Get started in minutes, not hours
- 🔒 Message integrity - Built-in SHA256 hash verification
- 📦 Custom binary protocol - Lightweight and efficient
- 🪶 Zero dependencies - Pure Python stdlib only
- 🔌 Extensible - Custom message types with plugin support
- ⚡ Multi-threaded - Handle multiple clients automatically
📖 Why Veltix?
Existing Python networking libraries are either too low-level (raw sockets) or too complex (Twisted, asyncio). Veltix fills the gap with a simple, modern API that handles the boring parts for you.
Built by a passionate developer who wanted networking to be easy, Veltix focuses on developer experience without sacrificing power or performance.
🚀 Installation
pip install veltix
Requirements: Python 3.10+
That's it! Zero dependencies, ready to use.
⚡ Quick Start
Simple Chat Server
Server (server.py):
from veltix import Server, ServerConfig, MessageType, Request, Binding
# Define message type
CHAT = MessageType(code=200, name="chat")
# Configure server
config = ServerConfig(host="0.0.0.0", port=8080)
server = Server(config)
sender = server.get_sender()
def on_message(client, response):
print(f"[{client.addr[0]}] {response.content.decode()}")
# Broadcast to all
reply = Request(CHAT, f"Echo: {response.content.decode()}".encode())
sender.broadcast(reply, server.get_all_clients_sockets())
server.bind(Binding.ON_RECV, on_message)
server.start()
input("Press Enter to stop...")
server.close_all()
Client (client.py):
from veltix import Client, ClientConfig, MessageType, Request, Binding
CHAT = MessageType(code=200, name="chat")
config = ClientConfig(server_addr="127.0.0.1", port=8080)
client = Client(config)
sender = client.get_sender()
def on_message(response):
print(f"Server: {response.content.decode()}")
client.bind(Binding.ON_RECV, on_message)
client.connect()
# Send message
msg = Request(CHAT, b"Hello Server!")
sender.send(msg)
input("Press Enter to disconnect...")
client.disconnect()
Run:
python server.py
python client.py # In another terminal
📦 Examples
More examples in examples/:
- Echo Server - Simple echo implementation
- File Transfer - Send files over network
- Custom Types - Define your message types
- Advanced Sender - Complex messaging patterns
📊 Comparison
| Feature | Veltix | socket | asyncio | Twisted |
|---|---|---|---|---|
| Easy API | ✅ | ❌ | ⚠️ | ❌ |
| Zero deps | ✅ | ✅ | ✅ | ❌ |
| Custom protocol | ✅ | ❌ | ❌ | ⚠️ |
| Message integrity | ✅ | ❌ | ❌ | ❌ |
| Multi-threading | ✅ | ❌ | ❌ | ✅ |
🗺️ Roadmap
v1.0.0 - Foundation (March 2026)
- Core TCP server/client
- Binary protocol with SHA256 integrity
- Custom message types
- Zero dependencies
- Status: IN PROGRESS
v2.0.0 - Security (Summer 2026)
- End-to-end encryption (ChaCha20 + X25519 + Ed25519)
- Automatic key exchange
- Perfect forward secrecy
- Status: PLANNED
v3.0.0 - Performance (Fall 2026)
- Rust core via PyO3
- 10-100x speed improvements
- Advanced optimizations
- Status: RESEARCH
v4.0.0+ (2027+)
- UDP support
- Plugin ecosystem
- Compression
- WebSocket bridge
🤝 Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
Quick ways to help:
- ⭐ Star the project
- 🐛 Report bugs
- 📚 Improve documentation
- 💻 Submit pull requests
- 💬 Join discussions
🙏 Contributors
Core Team
- Nytrox - Creator & Lead Developer
Community Heroes
Thank you to everyone who has contributed through code, documentation, bug reports, and support!
Want to be listed here? Check out our Contributing guide!
📄 License
MIT License - see LICENSE file for details.
🔗 Links
- Documentation: Coming soon
- GitHub: NytroxDev/Veltix
- PyPI: pypi.org/project/veltix
- Issues: Report a bug
Built with ❤️ by Nytrox
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file veltix-1.0.0.tar.gz.
File metadata
- Download URL: veltix-1.0.0.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a8768cf29146aa60f99807fcde12e051adf66963c644f0442ace3c98313849f
|
|
| MD5 |
d46fcdfc342c0fec986c1cb35c8c0d7c
|
|
| BLAKE2b-256 |
e0bb0b1b1428b3940d691bdd4dcd795138a08fc97e20ed1482357b65cacd90a1
|
File details
Details for the file veltix-1.0.0-py3-none-any.whl.
File metadata
- Download URL: veltix-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3746bb9d1bb6100f95609c5ff6b224988428e89337ca45ea7daf67ce085e8b54
|
|
| MD5 |
adf5a54e38fcc12546fa767ffe98c578
|
|
| BLAKE2b-256 |
1d641e432944c45b3f7ba788412fe89c02d746fe8c0df45ac4c0243778126685
|