Skip to main content

kf-sdk (import kappa_apk)

License BSD 3.0 Python 3.9–3.13 PyPI version PyPI downloads GitHub release

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.6
Требует Kappa ≥ 2.11.0 (min_backend_version())
Python 3.9+
Rust edition 2024
Лицензия BSD-3-Clause (LICENSE.md)

Каппа — ϰ-фреймворк управления датасетами и моделями, версия 3.0.6

Каппа — набор концептуального и программного обеспечения (фреймворк) для осуществления функций курации датасетов и моделей (Исследовательский центр в сфере искусственного интеллекта по направлению «Строительство и городская среда» НГУ, Новосибирск).

Авторы

Кумар Р., Павловский Е.Н., Иванков П.С., Денисов С.С., Мищенко А.С., Болотов К.Ю., Безруков Я.С., Глушенко А.В., Дербаль Р., Бобо С.

Назначение

  • Распределение ответственности при формировании набора данных;
  • Контроль за обучением моделей машинного обучения с обратной связью на датасет;
  • Испытание цифровых двойников на базе моделей искусственного интеллекта;
  • Отслеживание соблюдения этических норм и стандартов.

Функции

  • [Реализовано в 2024, версия 1.0.0] Отслеживание авторства разметки, в т.ч. с использованием средств автоматизации разметки
  • [Реализовано в 2025, версия 2.0.0] Бенчмаркинг ИИ-моделей
  • [План на 2026] Индексация всех датасетов в интернете (для сферы строительства и городской среды), индексация всех ИИ-задач из научных публикаций и открытых кодов (для сферы строительства и городской среды)

Проекты на базе фреймворка

Финансовая поддержка

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.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kf-sdk 3.0.6
File Size Uploaded Provenance Actions
kf_sdk-3.0.6.tar.gz 2.2 MB Without provenance Details for kf_sdk-3.0.6.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for kf-sdk 3.0.6
File Actions
kf_sdk-3.0.6-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for kf_sdk-3.0.6-cp313-cp313-win_amd64.whl
kf_sdk-3.0.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details for kf_sdk-3.0.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
kf_sdk-3.0.6-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for kf_sdk-3.0.6-cp312-cp312-win_amd64.whl
kf_sdk-3.0.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for kf_sdk-3.0.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
kf_sdk-3.0.6-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for kf_sdk-3.0.6-cp311-cp311-win_amd64.whl
kf_sdk-3.0.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for kf_sdk-3.0.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
kf_sdk-3.0.6-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for kf_sdk-3.0.6-cp310-cp310-win_amd64.whl
kf_sdk-3.0.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for kf_sdk-3.0.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
kf_sdk-3.0.6-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for kf_sdk-3.0.6-cp39-cp39-win_amd64.whl
kf_sdk-3.0.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details for kf_sdk-3.0.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Total release size: 36.6 MB

Release files / kf_sdk-3.0.6.tar.gz

Download URL kf_sdk-3.0.6.tar.gz
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
6c5bd659519a13f4df7ad88e073506a71f55597a73a82cd604ff2d92bb198852
BLAKE2b-256 checksum
How to use checksums
0de25423412d2eea5d06db92431a7c37d8a25304ab9cc8d295c32101a88ea26b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Release files / kf_sdk-3.0.6-cp313-cp313-win_amd64.whl

Download URL kf_sdk-3.0.6-cp313-cp313-win_amd64.whl
Size 3.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
4b3f31344b3a25ab100c8f41ef84c36d21addd5a868cbeefc3da32a2ccbfd48e
BLAKE2b-256 checksum
How to use checksums
f8282addb05b0bf8ee8c5cea90e2445aeab6ec8b562db1bd02277527181a95cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Release files / kf_sdk-3.0.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL kf_sdk-3.0.6-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
ebcac68cc5bacc3e0bee0a2cf164507f81a1f18b65c7f77596bfa556bed4abeb
BLAKE2b-256 checksum
How to use checksums
0d633424edc5211db3323ca13acb8a386cdc853cdc9507a08270152870d29678
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Release files / kf_sdk-3.0.6-cp312-cp312-win_amd64.whl

Download URL kf_sdk-3.0.6-cp312-cp312-win_amd64.whl
Size 3.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
ad70530be0c95d5b878d836ece4990d3573d3620ec6fd69ba9d8724fa7cf6913
BLAKE2b-256 checksum
How to use checksums
e7dea770e8ea06c193c53d12261462a572bb86c7c33754caaae5ebd29220f4e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Release files / kf_sdk-3.0.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL kf_sdk-3.0.6-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
9c064a09ff27d64128a9d0172b17f9cb7f6b0cb5af2cf2e41a19201e4e25255a
BLAKE2b-256 checksum
How to use checksums
d6d4cbc2884455c72e1fa42b2b2831c45794801739c1a71c0c574bb2a8a8cc1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Release files / kf_sdk-3.0.6-cp311-cp311-win_amd64.whl

Download URL kf_sdk-3.0.6-cp311-cp311-win_amd64.whl
Size 3.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
9df20ff766aea245686b2f4ef7ab5848bf5feaf7c97a2c0a3307f8e92366705b
BLAKE2b-256 checksum
How to use checksums
bdb430e535c3bae64cfcb48e161a8852081670555f23b67c4ff4876b8b4331da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Release files / kf_sdk-3.0.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL kf_sdk-3.0.6-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
ba9ad6d3ffa50dc982d3a9be3e59476323848f1f22dd9adcf11afbcf966aa3cd
BLAKE2b-256 checksum
How to use checksums
15e9c6a88a701fb718394c9a1b51c0e2e2a7b5299362d7793aeddd24acd8c9eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Release files / kf_sdk-3.0.6-cp310-cp310-win_amd64.whl

Download URL kf_sdk-3.0.6-cp310-cp310-win_amd64.whl
Size 3.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
68fdfaac780cd43c882bdd8d731193e1ce77c6dc941dd8dbb936c3a9c4613c10
BLAKE2b-256 checksum
How to use checksums
4c1d02cde2af64924ff3104cb81a6e7c8109f59bc9be5d60ebf7cf4d2587b0b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Release files / kf_sdk-3.0.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL kf_sdk-3.0.6-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
722ec8aa7489ca91311be42f4ee65ae2c46a7c776fad2782b034052f9d494f9c
BLAKE2b-256 checksum
How to use checksums
5a9dbaab604f1b78905627f25b9e46d0a51e495c3093e578be259e066b9f13a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Release files / kf_sdk-3.0.6-cp39-cp39-win_amd64.whl

Download URL kf_sdk-3.0.6-cp39-cp39-win_amd64.whl
Size 3.3 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
78c0ba2b79cfffea3e65580e57a4f2f371b11694f0d1b3afb9a9197eb455b643
BLAKE2b-256 checksum
How to use checksums
fcc2feebd38bebbd70791ed34d442615a8be4da97551acded08fa4131fde36bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Release files / kf_sdk-3.0.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL kf_sdk-3.0.6-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
b6e093431c449080c5363e942df147b88e20c8c2fad928144a235564899e4f73
BLAKE2b-256 checksum
How to use checksums
bc4cc3627451baab24c748202f6d699b6358fecea901f25bc9bd40deb9861a5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Security for kf-sdk 3.0.6

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page