Skip to main content

The networking library you always wanted

Project description

Veltix

The networking library you always wanted

PyPI Python License

✨ 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


Built with ❤️ by Nytrox

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

veltix-1.0.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

veltix-1.0.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

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

Hashes for veltix-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8a8768cf29146aa60f99807fcde12e051adf66963c644f0442ace3c98313849f
MD5 d46fcdfc342c0fec986c1cb35c8c0d7c
BLAKE2b-256 e0bb0b1b1428b3940d691bdd4dcd795138a08fc97e20ed1482357b65cacd90a1

See more details on using hashes here.

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

Hashes for veltix-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3746bb9d1bb6100f95609c5ff6b224988428e89337ca45ea7daf67ce085e8b54
MD5 adf5a54e38fcc12546fa767ffe98c578
BLAKE2b-256 1d641e432944c45b3f7ba788412fe89c02d746fe8c0df45ac4c0243778126685

See more details on using hashes here.

Supported by

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