kf-sdk (import kappa_apk)
Python-клиент SDK для Kappa-framework — самостоятельно развёртываемой микросервисной платформы для исследовательских ML/AI рабочих процессов.
Реализован на Rust + PyO3. PyPI: kf-sdk · импорт: import kappa_apk (имя дистрибутива сохранено для совместимости с ранними публикациями).
Документация SDK: docs/ru/README.md (RU) · docs/README.md (EN) | English version: README.en.md
| Версия | 3.0.5 |
| Требует Kappa | ≥ 2.11.0 (min_backend_version()) |
| Python | 3.9+ |
| Rust edition | 2024 |
| Лицензия | BSD-3-Clause (LICENSE.md) |
Каппа — ϰ-фреймворк управления датасетами и моделями, версия 3.0.5
Каппа — набор концептуального и программного обеспечения (фреймворк) для осуществления функций курации датасетов и моделей (Исследовательский центр в сфере искусственного интеллекта по направлению «Строительство и городская среда» НГУ, Новосибирск).
Авторы
Кумар Р., Павловский Е.Н., Иванков П.С., Денисов С.С., Мищенко А.С., Болотов К.Ю., Безруков Я.С., Глушенко А.В., Дербаль Р., Бобо С.
Назначение
- Распределение ответственности при формировании набора данных;
- Контроль за обучением моделей машинного обучения с обратной связью на датасет;
- Испытание цифровых двойников на базе моделей искусственного интеллекта;
- Отслеживание соблюдения этических норм и стандартов.
Функции
- [Реализовано в 2024, версия 1.0.0] Отслеживание авторства разметки, в т.ч. с использованием средств автоматизации разметки
- [Реализовано в 2025, версия 2.0.0] Бенчмаркинг ИИ-моделей
- [План на 2026] Индексация всех датасетов в интернете (для сферы строительства и городской среды), индексация всех ИИ-задач из научных публикаций и открытых кодов (для сферы строительства и городской среды)
Проекты на базе фреймворка
- 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 / kappa_apk)
Требования
- 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_package(
dataset_id=582,
version_no="1.0.0",
)
print(info.data_path) # кэш ОС: 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.
Metadata
Release files for kf-sdk 3.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| kf_sdk-3.0.5.tar.gz | 2.2 MB | Without provenance | Details for kf_sdk-3.0.5.tar.gz |
Built distributions (wheels)
Total release size: 36.4 MB
Release files / kf_sdk-3.0.5.tar.gz
| Download URL | kf_sdk-3.0.5.tar.gz |
|---|---|
| Size | 2.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4e4258febef75d839830695d0c79d1a224f1c42dec649a28760ee70700325429
|
|
BLAKE2b-256 checksum How to use checksums |
1449c56d1e0d1598746d68ceca2fd91c986106aac0ea371caaeac1f4be0639f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.8
|
Release files / kf_sdk-3.0.5-cp313-cp313-win_amd64.whl
| Download URL | kf_sdk-3.0.5-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
04027090ecc6f36378240d0bcc868a9fcec6056be00c74bbc52677d3c7e03b79
|
|
BLAKE2b-256 checksum How to use checksums |
a529033ec0fba47226debd708b4268df58757e42aed8e29cec62b8fcf382cab7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.8
|
Release files / kf_sdk-3.0.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
| Download URL | kf_sdk-3.0.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl |
|---|---|
| Size | 3.6 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
98c458c0ce0b861f51281a7fabb429481c53c2ffe9ada9ae4a081836146c269a
|
|
BLAKE2b-256 checksum How to use checksums |
f44eb73679a3b9e7cd2c22b6f5a23b5880555fbc1f6fe5385bea394f77e549d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.8
|
Release files / kf_sdk-3.0.5-cp312-cp312-win_amd64.whl
| Download URL | kf_sdk-3.0.5-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
67d059ba32e1e44ba5154a4177429796437fbd8fc27667cc788771d2e52c200e
|
|
BLAKE2b-256 checksum How to use checksums |
032b79d10fe44edfc41b131d7ae12c8abb270690de3a03f926368f0a9c4faea2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.8
|
Release files / kf_sdk-3.0.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
| Download URL | kf_sdk-3.0.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl |
|---|---|
| Size | 3.6 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
bfb9f69424b95ca12e6cb6456246e2caa6c83ef6f63aa617b909edd6956d353c
|
|
BLAKE2b-256 checksum How to use checksums |
d28e192b9bcab0846e00520ded9178486d77d5c2052fefe48db0a0c367d0e216
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.8
|
Release files / kf_sdk-3.0.5-cp311-cp311-win_amd64.whl
| Download URL | kf_sdk-3.0.5-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1a20bdef2cf2e2054a96b4f659253f59a69d30b80d0b8a894bb46e17bdf6c3e9
|
|
BLAKE2b-256 checksum How to use checksums |
cd73999e015f9acda91d2dc3122c1d046342e57c5967832a3d7d187f4f21d714
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.8
|
Release files / kf_sdk-3.0.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
| Download URL | kf_sdk-3.0.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl |
|---|---|
| Size | 3.6 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
e95f60b44f8430db319996b4924936c820962cca7e987f53ddc3b56d906c44fc
|
|
BLAKE2b-256 checksum How to use checksums |
25b43c9fa6247242abeaaf1d5339004a4e09671d5dd42d966198f5e7171960fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.8
|
Release files / kf_sdk-3.0.5-cp310-cp310-win_amd64.whl
| Download URL | kf_sdk-3.0.5-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
3c7a8da7189fc921876ede1f0c52b3e48f38d5a712bf454444f0391ad9e1c09c
|
|
BLAKE2b-256 checksum How to use checksums |
6874c58793da3a21d4300fa14d3fbce16e1e0f1ac10bb57e604ed3e7b408efcf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.8
|
Release files / kf_sdk-3.0.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
| Download URL | kf_sdk-3.0.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl |
|---|---|
| Size | 3.6 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
e3422b90b79537a8cca2bcb560b6e640ca5b2680b995bdd46680e41812df6c73
|
|
BLAKE2b-256 checksum How to use checksums |
3ee501364d92af081af29bccafee65fe6188e5386db60e39131972c22731458b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.8
|
Release files / kf_sdk-3.0.5-cp39-cp39-win_amd64.whl
| Download URL | kf_sdk-3.0.5-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
bbafdc371b95270220e45ab516b31cc304aa0083e6ef90e2fa9b8d4596173cd7
|
|
BLAKE2b-256 checksum How to use checksums |
8eacb10ab4f23c94914d2d472cc5c73656b7c5dad713b8326f8493f33ea3473a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.8
|
Release files / kf_sdk-3.0.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
| Download URL | kf_sdk-3.0.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl |
|---|---|
| Size | 3.6 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
117a262f6b49a3220099dfc23736644829b86ea6f112c3407fab99ab0a4ab453
|
|
BLAKE2b-256 checksum How to use checksums |
7fff94c6e3b425a5c1e2e114311ee9c43e029a29f01352f87aa3ef565e0c2a8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.8
|
Security for kf-sdk 3.0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.