Sealium is a state-of-the-art Python library for secure licensing and activation management.
Project description
<p align="center">
<img src="assets/Sealium-logo-transparent.png" width="400" alt="Sealium Logo">
</p>
<p align="center">
<a href="https://pypi.org/project/sealium/"><img src="https://img.shields.io/pypi/v/sealium?style=flat-square&logo=pypi&color=2c8cff" alt="PyPI"></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/license-GPLv3-2c8cff?style=flat-square" alt="License"></a>
<a href="https://www.python.org"><img src="https://img.shields.io/badge/python-3.13+-2c8cff?style=flat-square&logo=python" alt="Python"></a>
</p>
---
# 🔒 Sealium
**Secure license key generation, software activation, and hardware binding.**
---
## ✨ Features
| Feature | Description |
|---------|-------------|
| 🔐 **RSA-4096 Encryption** | Secure client-server communication |
| 🎫 **License Keys** | Cryptographically secure random keys |
| 💻 **Hardware Binding** | Bind licenses to specific machines |
| ⏰ **Expiration Control** | Set expiry dates and feature flags |
| 🛡️ **Anti-Replay** | Nonce-based replay attack prevention |
| 🌐 **Client-Server** | Ready-to-use FastAPI backend |
---
## 📦 Installation
```bash
pip install sealium
🚀 Quick Example
from sealium.client.activator import Activator
# Activate a license
activator = Activator(
server_url="http://localhost:8000/v1/activation",
server_public_key_pem=open("data/server_public.pem").read(),
client_private_key_pem=open("data/client_private.pem").read()
)
response = activator.activate("your-license-key")
if response.result == "success":
print(f"✅ Activated until {response.authorized_until}")
else:
print(f"❌ {response.error_msg}")
🔧 Requirements
- Python 3.13+
- cryptography, requests, fastapi, uvicorn, sqlalchemy
📄 License
GPLv3 © Sealium Contributors
Built with ❤️ for Python developers
```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
sealium-1.0.0.tar.gz
(41.1 kB
view details)
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
sealium-1.0.0-py3-none-any.whl
(49.8 kB
view details)
File details
Details for the file sealium-1.0.0.tar.gz.
File metadata
- Download URL: sealium-1.0.0.tar.gz
- Upload date:
- Size: 41.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66a488d02a540dd7ff1d1ef60455902b972c9819e2cfddd3c982b4922ee5c05d
|
|
| MD5 |
e50243fb94afac11c2a7bbb04e8bca59
|
|
| BLAKE2b-256 |
e9bff3a754e217fc3cba45790ce1d7fccca8b8fe4c4fbe95af242b6ca2a20a1a
|
File details
Details for the file sealium-1.0.0-py3-none-any.whl.
File metadata
- Download URL: sealium-1.0.0-py3-none-any.whl
- Upload date:
- Size: 49.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4fd85a8769c92b0d9bdb3b449c89c4f6a728d39772d489a0046e391e9b73c004
|
|
| MD5 |
3dab135ba225217deeb6efd44e8b9fb7
|
|
| BLAKE2b-256 |
8f6ef97e32e53841f8a663b3f484d1f7df8ce59987f49fd2f52aee4f42d5fa11
|