Tropass SDK helps you develop and manage your models for Tropass platform
Project description
tropass-sdk — это инструмент для разработки и управления ML-моделями на платформе Тропасс.
📦 Установка
# Для pip
pip install tropass-sdk[server]
# Для uv
uv add tropass-sdk[server]
# Для poetry
poetry add tropass-sdk[server]
🛠 Подготовка приложения
Для инициализации сервера достаточно передать функцию предсказания в класс ModelServer.
Ключевые требования:
- Функция предсказания обязана принимать схему запроса модели
MLModelRequestSchema. - Функция предсказания обязана возвращать схему ответа модели
MLModelResponseSchema. - Инстанс
ModelServerобязан находиться в файлеmain.pyв корне проекта.
from tropass_sdk.server import ModelServer
from tropass_sdk.schemas.model_contract_schema import MLModelRequestSchema, MLModelResponseSchema
def predict_handler(data: MLModelRequestSchema) -> MLModelResponseSchema:
# Логика инференса модели
return MLModelResponseSchema(panel_items=[])
server = ModelServer(
model_func=predict_handler,
model_name="my_model",
model_description="Production model description",
model_version="1.0.0",
debug=False
)
⚡ Варианты запуска
Для запуска создайте экземпляр приложения c помощью метода build_application. Важно! Имя приложения обязательно должно быть application:
application = server.build_application()
Запуск: uvicorn main:application --host 0.0.0.0 --port 8000 --workers 4
🔍 Мониторинг и наблюдаемость
Благодаря интеграции с microbootstrap, сервис из коробки поддерживает:
- Метрики: Доступны по эндпоинту
/metricsв формате Prometheus. - Health Checks: Проверка состояния сервиса доступна по пути
/health. - Логирование: Структурированные логи готовы к сбору в ELK/Loki.
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 tropass_sdk-0.1.5.tar.gz.
File metadata
- Download URL: tropass_sdk-0.1.5.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9bcb98dabc6564101d18f4ea3ea1dcc851be289cf26f9a9211cb65e5f779a91c
|
|
| MD5 |
d7c32ea30557aab89ee6089205afa93f
|
|
| BLAKE2b-256 |
90529626ca1918940dae14e7cde3d41bd0384617b8d5ca3cf1fedb503d811e0a
|
File details
Details for the file tropass_sdk-0.1.5-py3-none-any.whl.
File metadata
- Download URL: tropass_sdk-0.1.5-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7212bf2b78a96dae51950b3d6e2986a5685794015ec58907ac7364acb7f84c9
|
|
| MD5 |
055bb7eca316301b1f9634b0526fbf1c
|
|
| BLAKE2b-256 |
6e02abd39df0cbffe02b8dc7738e32952ba1142cad82da1df63ea6eca983d64a
|