Продаёте утилиту на Python? Дайте ключ каждому покупателю.
Один вызов SDK. Ключи из вашего магазина, лимиты устройств, возврат отключает.
Тариф Free · Без банковской карты · Готово за минуты
Пишете код с ИИ-агентом? Вставьте один промпт- Python
- Gumroad
- Lemon Squeezy
- Ko-fi
- Payhip
- Stripe
- Windows
- macOS
- Linux
Создано под то, как вы продаёте.
pip install sunlicense
Только стандартная библиотека, Python 3.8+.
result.validЛимиты устройств
1, 2 или 5 устройств на лицензию.
TOO_MANY_MACHINESКлючи из вашего магазина
Gumroad, Lemon Squeezy, Payhip, Ko-fi или Stripe.
Подписки и пробные версии
Закончившиеся подписки приостанавливают ключ.
Офлайн-файлы лицензий
Подписанные, проверяются вашим открытым ключом.
Ed25519Ключ внутри zip
Загрузки из портала несут ключ каждого покупателя.
StandardГотово до следующего релиза.
- 1Создать бесплатный аккаунт
- 2Подключите свой магазин
- 3pip install, проверка при запуске
import platform
import sys
from sunlicense import SunLicense # pip install sunlicense
client = SunLicense(base_url="https://api.sunlicense.com",
token="slk_...") # API key: validation only, safe to ship
def require_license(key: str) -> None:
result = client.validate(key, host=platform.node())
if not result.valid: # result.data["code"] says why, e.g. TOO_MANY_MACHINES
sys.exit("License not valid. Manage your key at yourtool.example/account")Вопросы и ответы.
Как добавить лицензионный ключ в Python-скрипт?
Выполните pip install sunlicense, создайте API-ключ в панели управления и вызывайте client.validate(key, host=machine_id) при запуске утилиты. Он возвращает valid, HTTP-статус и JSON-ответ с кодом вроде EXPIRED или TOO_MANY_MACHINES. SDK использует только стандартную библиотеку, так что дополнительных зависимостей нет.
Разве покупатели не могут просто удалить проверку из файла .py?
Решительный человек сможет: исходный код на Python можно отредактировать, а упаковка через PyInstaller лишь усложняет задачу. Проверка ключа останавливает случайную раздачу и возвращённые копии. Всё, что ваша утилита делает на вашем собственном сервере, например API, к которому она обращается, может проверять ключ там, где его не убрать.
Можно ли продавать мою утилиту по подписке?
Да. Используйте политику подписки и подключите магазин: когда заканчивается участие в Gumroad, подписка Lemon Squeezy или подписка Stripe, магазин сообщает об этом в SunLicense, и ключ приостанавливается. SunLicense отвечает только за лицензирование; что делает ваша утилита, решаете вы.
Это бесплатно?
Да. Тариф Free включает три продукта, 100 лицензий и 10 000 проверок лицензий в месяц, без банковской карты. Платные тарифы — от 5 $ в месяц, а проверки лицензий ваших покупателей продолжают работать, даже если вы превысите лимит.
Защитите следующий релиз.
- Тариф Free
- Без банковской карты
- Отмена в любой момент
SunLicense