Python client SDK for the Kappa-framework ML/AI platform
Project description
kf-sdk
Python-клиент SDK для Kappa-framework — самостоятельно развёртываемой микросервисной платформы для исследовательских ML/AI рабочих процессов.
Реализован на Rust + PyO3, распространяется как Python-пакет kf-sdk (import kappa_apk).
Документация SDK: docs/ru/README.md (RU) · docs/README.md (EN) | English version: README.en.md
| Версия | 3.0.0 |
| Python | 3.9+ |
| Rust edition | 2024 |
| Лицензия | BSD-3-Clause (LICENSE.md) |
Каппа — ϰ-фреймворк управления датасетами и моделями, версия 3.0.0
Каппа — набор концептуального и программного обеспечения (фреймворк) для осуществления функций курации датасетов и моделей (Исследовательский центр в сфере искусственного интеллекта по направлению «Строительство и городская среда» НГУ, Новосибирск).
Авторы
Кумар Р., Павловский Е.Н., Иванков П.С., Денисов С.С., Мищенко А.С., Болотов К.Ю., Безруков Я.С., Глушенко А.В., Дербаль Р., Бобо С.
Назначение
- Распределение ответственности при формировании набора данных;
- Контроль за обучением моделей машинного обучения с обратной связью на датасет;
- Испытание цифровых двойников на базе моделей искусственного интеллекта;
- Отслеживание соблюдения этических норм и стандартов.
Функции
- [Реализовано в 2024, версия 1.0.0] Отслеживание авторства разметки, в т.ч. с использованием средств автоматизации разметки
- [Реализовано в 2025, версия 2.0.0] Бенчмаркинг ИИ-моделей
- [Реализовано в 2026, версия 3.0.0] Индексация всех датасетов в интернете (для сферы строительства и городской среды), индексация всех ИИ-задач, из научных публикаций и открытых кодов (для сферы строительства и городской среды)
Проекты на базе фреймворка
- 05-2024 – 11-2024: База данных для проекта «Школьники — научные волонтёры»
- 12-2024 – н.в.: Развёрнутая версия фреймворка с датасетами — здесь можно скачать датасет библиографических карточек, используемый для обучения алгоритмов распознавания текста на изображениях в строительной тематике
Финансовая поддержка
2024: Исследование выполнено за счёт финансовой поддержки (гранта) исследовательских центров, предоставленной Автономной некоммерческой организацией «Аналитический центр при Правительстве Российской Федерации», идентификатор соглашения о предоставлении субсидии 000000D730324P540002, договор о предоставлении гранта с Новосибирским государственным университетом от 27.12.2023 № 70-2023-001318.
2025: Исследование выполнено в рамках гранта (Соглашение о предоставлении из федерального бюджета гранта в форме субсидии от 17.04.2025 № 139-15-2025-006 ИГК 000000Ц313925P3S0002), направление «Строительство и городская среда», мероприятие № 56 Плана деятельности Исследовательского центра в сфере ИИ НГУ.
2026: Исследование выполнено в рамках гранта (Соглашение о предоставлении из федерального бюджета гранта в форме субсидии от 17.04.2025 № 139-15-2025-006 ИГК 000000Ц313925P3S0002), направление «Строительство и городская среда», мероприятие № 85 Плана деятельности Исследовательского центра в сфере ИИ НГУ.
Датасеты
На базе фреймворка зарегистрировано три датасета:
- «Датасет по ретроконверсии библиотечных карточек (строительство)» — свидетельство о регистрации базы данных № 2025620303 от 17 января 2025 г.
- «Датасет по наблюдениям за флорой и фауной в городской среде» — свидетельство о регистрации базы данных № 2025620139 от 10 января 2025 г.
- «Датасет по извлечению аннотаций из библиотечных ресурсов» — свидетельство о регистрации базы данных № 2026620302 от 21 января 2026 г.
Установка kf-sdk
Требования
- Python 3.9+
- Для сборки из исходников: Rust toolchain +
maturin >= 1.9
Установка
Из PyPI (рекомендуется)
pip install kf-sdk
Сборки wheels публикуются для Linux (manylinux), macOS (Intel + Apple Silicon) и Windows, Python 3.9–3.13.
import kappa_apk
print(kappa_apk.version())
Из исходников (требуется Rust)
pip install maturin
git clone https://github.com/nsu-ai/kappa.git
cd kappa
maturin develop --release
Локальная сборка wheel
# Только локальная сборка → dist/ (без загрузки)
./build_wheel.sh
./build_wheel.sh --local --no-sdist -v 3.11
# Сборка + установка + smoke test
./build_wheel.sh -i
# Сборка + загрузка на PyPI
./build_wheel.sh --upload
Требования для сборки
- Rust toolchain (
curl https://sh.rustup.rs | sh) maturin >= 1.9(pip install maturin)- Python 3.9–3.13
- Опционально:
cibuildwheelдля кроссплатформенных wheels (см.docs/ru/BuildAndPublish.md)
Начало работы
Все запросы идут через шлюз Traefik API — укажите base_url как адрес шлюза. Идентификация (пользователь, организация) определяется JWT-токеном на стороне сервера; идентификаторы пользователей в URL не передаются.
from kappa_apk import KappaApkClient
base_url = "https://kappa.nsu.ru:8061"
# Подключение через контекстный менеджер (автоматический вход/выход)
with KappaApkClient(base_url, "user@example.com", "secret") as client:
# Список датасетов
page = client.list_datasets(size=50)
print(page["items"])
# Загрузка архива версии датасета (кэшируется на диске)
info = client.download_dataset_version_archive(
dataset_id=582,
version_no="1.0.0",
)
print(info.data_path) # ~/cache/kappa-framework/datasets/...
# Или загрузка напрямую в загрузчик данных для обучения
loader = client.get_dataset_loader(
dataset_name="MyDataset",
version_no="1.0.0",
batch_size=32,
shuffle=True,
)
for batch in loader:
print(batch[0]["entity_id"])
Основные понятия
| Понятие | Описание |
|---|---|
KappaApkClient |
Основной HTTP-клиент — аутентификация, датасеты, бенчмарки |
KappaDataset |
Датасет в памяти (__len__ / __getitem__) |
KappaDataLoader |
Пакетный загрузчик на Rust с учётом эпох |
vision / text / audio |
Подмодули преобразований для предобработки |
Документация
Русский · English: README.en.md · docs/README.md
| Руководство (RU) | Руководство (EN) | Описание |
|---|---|---|
docs/ru/GettingStarted.md |
docs/GettingStarted.md |
Установка, шлюз, аутентификация |
docs/ru/KappaApkClient.md |
docs/KappaApkClient.md |
Справочник API клиента |
docs/ru/Datasets.md |
docs/Datasets.md |
CRUD датасетов, сущности, версии |
docs/ru/LoadersAndTransforms.md |
docs/LoadersAndTransforms.md |
Загрузчики данных и преобразования |
docs/ru/Benchmarks.md |
docs/Benchmarks.md |
Рабочий процесс бенчмарков |
docs/ru/DataModels.md |
docs/DataModels.md |
Модели запросов и ответов |
docs/ru/BuildAndPublish.md |
docs/BuildAndPublish.md |
Wheels, CI, публикация на PyPI |
code_examples/ |
— | Запускаемые примеры |
Лицензия
См. LICENSE.md — BSD 3-Clause License, Copyright (c) 2024, Novosibirsk State University, Ai-Center.
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 Distributions
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 kf_sdk-3.0.0.tar.gz.
File metadata
- Download URL: kf_sdk-3.0.0.tar.gz
- Upload date:
- Size: 2.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e69fc95fb81d13cb4719e7707e2825b55c7805148b6c2111213a2280d752c33
|
|
| MD5 |
cd590c4adba0d602cd73c66cc8d87bef
|
|
| BLAKE2b-256 |
de40763a9739598ab4c35b65969832eacaaab84c52ca5f14d6ba84f2bdb9749c
|
File details
Details for the file kf_sdk-3.0.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: kf_sdk-3.0.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2b320f61d4535fb8ab9b691cdedf256da1fcc6888f48fd024503cf2d97aae96
|
|
| MD5 |
3c2d2f3f795511eb9dcc21b7120a5391
|
|
| BLAKE2b-256 |
cf31a11ea204c65a0a439fd2897a78586f954cc4d6f82ecd7d4005e74ffa4e51
|
File details
Details for the file kf_sdk-3.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: kf_sdk-3.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57918115ceed8aee8eb72ffdc7c533a0ee05e61cbf87a7698f41390758a63f2b
|
|
| MD5 |
48c36be8ab445b464ad5049170588d19
|
|
| BLAKE2b-256 |
45fba09fa5b5a59c9a6eeadfa44172edd426bbd0c280be93e62e8128c0be4cca
|
File details
Details for the file kf_sdk-3.0.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: kf_sdk-3.0.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c02dd89661c10c26762a35ed6ff3f19a0cf26b42f3d76317e63c86fd4d150d0
|
|
| MD5 |
f20052053d080869eae15950ff2aa11b
|
|
| BLAKE2b-256 |
f0c6eee00aabef26f18352f32f2ce5a83b418450ae718a1fc2f5c99f85b91bdc
|
File details
Details for the file kf_sdk-3.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: kf_sdk-3.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a6f2407a6d390167cf087f049439b0585b51ff91d9defbd7f19e58a847d1252
|
|
| MD5 |
335ea4a4b3ecd5ace0dab3ab706bc71b
|
|
| BLAKE2b-256 |
ea6ddb7e761e0e5fd54c134ed9fa0e1cdb10e7938867d9bacd79fa7b4a1c7802
|
File details
Details for the file kf_sdk-3.0.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: kf_sdk-3.0.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c52522cf0c1658da3790af4dfaf5a5ce04a08dfeb1eb19b07d97a213f56a759e
|
|
| MD5 |
ae2f2279e46356448dc98748c67d90d5
|
|
| BLAKE2b-256 |
3eca37c7a37956cc41f16c9e7cb85b2e00803b9eff0c3d7e28061a0965cacb77
|
File details
Details for the file kf_sdk-3.0.0-cp311-cp311-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: kf_sdk-3.0.0-cp311-cp311-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b541a4462efc0cda68d548435ff7495a69f3004b84dabc9d8b99d8989c48e054
|
|
| MD5 |
87dfc6d5c3ce066f9bc2f07882724b21
|
|
| BLAKE2b-256 |
04193952607dc102c9e10b35df53643425e6d80e4f5880d9d1c4bd8fbeeba475
|
File details
Details for the file kf_sdk-3.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: kf_sdk-3.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4f6ce03fb0c1bcd864aeb76c6d86b2aed7d87b6e346455588b0a4033e381bad
|
|
| MD5 |
f02dc16bb3a235e8e64c3e91766310c0
|
|
| BLAKE2b-256 |
7e95bda6f9c5d7cf7d2f67022d448c38ee9cb1b38e1d376ff1685d8312d96bb5
|
File details
Details for the file kf_sdk-3.0.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: kf_sdk-3.0.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
817c6ae8119ecd4b4df40224bb4b02e2b94caec35e2ebc0e118ce71df8f5a57f
|
|
| MD5 |
bbc1cfd8bbe7fcc6e24e4b5aad017f31
|
|
| BLAKE2b-256 |
bfdda9493bd13182b4ece453227bbe1f28f4f1bbd3a0fc11d26a8c1348842660
|
File details
Details for the file kf_sdk-3.0.0-cp310-cp310-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: kf_sdk-3.0.0-cp310-cp310-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88de49afa91377609c0a054eb743c9928f7baf72a3d6d1fc14cd1f9863f29f23
|
|
| MD5 |
963618c4c121c3d26e7799ab40b44574
|
|
| BLAKE2b-256 |
02cdc210c98306a59101897488db0c7ba473d59261f369c8f51ce594ba5af704
|
File details
Details for the file kf_sdk-3.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: kf_sdk-3.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94a3d8e7501650f817283604b661620263c95a7bcc9a96dfb9dca1fef3ba9ada
|
|
| MD5 |
f63c9a5ed560e37d4685035e45ffda59
|
|
| BLAKE2b-256 |
da946646c0b67cec6d38c933e03dd66a6cb2dfbb34b362c1753119958e2613e0
|
File details
Details for the file kf_sdk-3.0.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: kf_sdk-3.0.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e6e91861f8be5955d9ed911b0b4343a38837244eae9a8c3276525844bd339ce
|
|
| MD5 |
68daffbffa172401e30e7d095beab816
|
|
| BLAKE2b-256 |
cf73dda2e02ef67db09f39fedbaa787180347e20916da58050c11a5fe4167fc7
|
File details
Details for the file kf_sdk-3.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: kf_sdk-3.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86987bd4a9d76a46785e038b1431fca7ad3446a2a9a316215645a3c9e7181fe6
|
|
| MD5 |
3ea81bb8fed5d1b45c617ec21a27c959
|
|
| BLAKE2b-256 |
b960f1053c3cf454c8b7d8a9da4c7249f70fcbe2013ae8769af632107f913f02
|