Skip to main content

kf-sdk (import kappa_apk)

License BSD 3.0 Python 3.9–3.13 PyPI Downloads Releases

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

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

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

Авторы

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

Назначение

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

Функции

  • [Реализовано в 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_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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kf_sdk-3.0.2.tar.gz (2.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

kf_sdk-3.0.2-cp313-cp313-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.13Windows x86-64

kf_sdk-3.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

kf_sdk-3.0.2-cp312-cp312-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.12Windows x86-64

kf_sdk-3.0.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

kf_sdk-3.0.2-cp311-cp311-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.11Windows x86-64

kf_sdk-3.0.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

kf_sdk-3.0.2-cp310-cp310-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.10Windows x86-64

kf_sdk-3.0.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

kf_sdk-3.0.2-cp39-cp39-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.9Windows x86-64

kf_sdk-3.0.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

Details for the file kf_sdk-3.0.2.tar.gz.

File metadata

  • Download URL: kf_sdk-3.0.2.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.8

File hashes

Hashes for kf_sdk-3.0.2.tar.gz
Algorithm Hash digest
SHA256 6c514eff580609fd922c01f062fac664f3f365045ed41e25ff0e5191de8f23b3
MD5 3ef5eb6ec19bdf0a44e1f18744e626bc
BLAKE2b-256 da9ae81623e174007cf3392f99e1e808713d2952d7ecdd27a279ce9571c3de05

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: kf_sdk-3.0.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.8

File hashes

Hashes for kf_sdk-3.0.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0349cca88384e88fd9a811aaa9000916359399a66b2f5310474ebb716a1bad6b
MD5 4e29c6f0c1fb6344159c3ad83002ce11
BLAKE2b-256 d537646723d83af99757fa806a8396557306f4ddb287bb0fa07d94ab6917414a

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kf_sdk-3.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b622d85d00379587a2dfb8010adea19d9582e431898c557e5c059fa4d5180124
MD5 9400ec08cb28d2e59de061f6ebc673ed
BLAKE2b-256 03dd31f9c98d8affb44d05f879d96cd2c1bc5eb84f86171df5c789384967da95

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: kf_sdk-3.0.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.8

File hashes

Hashes for kf_sdk-3.0.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1384ea0d23a4a03a35567e9810b6334b079f2b81840a009bb79fd31aadfb670f
MD5 a20e66b86c2d1c6a494af6dac76b5ce4
BLAKE2b-256 70d7e2091c5e35c1d34e5ca3329a518b3a0c0a0c1ef8a7404e1761e39f2275f6

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kf_sdk-3.0.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b79377aa30f3a3bf5ca5ee49762bea619c8df840ceb20868371480af8d79bed5
MD5 fddec2b6c514881e2c4e74374c38d0f6
BLAKE2b-256 f36c976a35c7a7591c8888d2c407e11f9e6dc482c6401a7066aefd6ed4c33420

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: kf_sdk-3.0.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.8

File hashes

Hashes for kf_sdk-3.0.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 90de234533e4a504aa600da677c510e64f9749871eeb6b474f5f3f1bce44de1d
MD5 771e28db2da7ecfd5fcb5fe410542cf3
BLAKE2b-256 76eac090fd6b42487bd4a17a26c21318091a50bedb3b66fb10a7c799418045b1

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kf_sdk-3.0.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7b8b762bc175d993dbe9caa1aa36038a16bf45b069dc25a45e345a4fad8b8e5f
MD5 427289a6b1bfe9449c9edb9dedeef94a
BLAKE2b-256 e345d0d8fcc5c84644ddd0b028037df4f23ccaede5319638c411e592b55f21cd

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: kf_sdk-3.0.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.8

File hashes

Hashes for kf_sdk-3.0.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d906b87c0c7ce4fa5aabe87412bc5aa64098363edfbb355fc45b0042dbbe69ab
MD5 8d9fd559e1ba025f1ff687bfbac3dac4
BLAKE2b-256 82c6ee32c1ced5bc9ae39789ab32cbf851d5817c6f595a76f005c697a16b4e00

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kf_sdk-3.0.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 2ddd8d6ed3c39310c5d355e8fcfcb784953533b691a3797aa25ad274f018a422
MD5 64023fee4172402118a1fce3cb9c13cb
BLAKE2b-256 0fd716beee961b7ca67713160e2b187a04d70ce7add19e693a585a0f5eb74bac

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: kf_sdk-3.0.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.8

File hashes

Hashes for kf_sdk-3.0.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e57108baa43455673d2924cb7a8b255b7eaea578e76009efe9975d75626ce257
MD5 600b9cb0bbf97a17ad9012cb00e404f8
BLAKE2b-256 73590856b47389a7decaa4879ed06955e30bb5d5671687a8e1ca728900d1f207

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kf_sdk-3.0.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a04a274be27558d25dd7e94dcbd40df7cb2e6e75558b5e3a4a511834bbe05fad
MD5 a7c12e4f126348187c056856487f1a15
BLAKE2b-256 6bef2ff03e6105033ddb0a505ff9708c9b7826b6ee122a25eef78e38e29141cb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page