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

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

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

Авторы

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

Назначение

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

Функции

  • [Реализовано в 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.3.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.3-cp313-cp313-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.13Windows x86-64

kf_sdk-3.0.3-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.3-cp312-cp312-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.12Windows x86-64

kf_sdk-3.0.3-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.3-cp311-cp311-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.11Windows x86-64

kf_sdk-3.0.3-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.3-cp310-cp310-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.10Windows x86-64

kf_sdk-3.0.3-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.3-cp39-cp39-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.9Windows x86-64

kf_sdk-3.0.3-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.3.tar.gz.

File metadata

  • Download URL: kf_sdk-3.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 64f0bc2667ba458d9c75d7ef853affece9db820e316ac1f88913221fbf7caccc
MD5 9bfe4c6b6ab03d62de2bc636b24e08ed
BLAKE2b-256 13aa59ef7ac074b0298922593bd45e6ad9ae1a1d82628e522a7db47310137ca4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kf_sdk-3.0.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 3.0 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.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c01f8787e22153e675aa826330dc2e3b37ef707a7493f0572c7f428ea787b363
MD5 7994fe19c507010d91a764225804a9be
BLAKE2b-256 2433b95f9d22dbee4669d72cdc66473ef8097d169b1e26ef073fdcc046969f4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kf_sdk-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 34400cf7ab8e2f36fb3ed9ed18a896a6ded50938869ecd8e7665070a7e92bd23
MD5 26ad26ac7021e4c650c7a5db7cb0c751
BLAKE2b-256 b65c3afe5b5cb6101f4e5014677900106e8e237e2fa6997529a93cf716da740f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kf_sdk-3.0.3-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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 97d2ee9d2036f996a347051c00b209282e86af1f78fefadc9bacab38f454c5b9
MD5 868593dbaa4bfce12da93d462bbf2ab0
BLAKE2b-256 05e0447b3c23c9e4c33707420e26c947c0a69a5a76d2529bc798ee8bcfc9223c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kf_sdk-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 fa9f058cdff91e87804c6675cb1dba01022ba2541d5f6348d65d1af25993c0f9
MD5 8872a313e3d0acd05e5041f1b8ead745
BLAKE2b-256 1bc07fa423ca1237f44bf49236b95dd978a2d2ea4f8d6d703e5d8a677c895fdd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kf_sdk-3.0.3-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.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f7cefe38a0c62ae6582c085c3d871b670b5ff3219c01239a487e90ecd59f085d
MD5 aed80670abe025e760d7bba7131e2fcd
BLAKE2b-256 0bb63f316540b4b87a3b50d30df491a061e2d13e2ed8b5237d6cfbe2266ca252

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kf_sdk-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 5e652dfb5b1d20b2e4ff3a65a208ae92320f06eef981a498831ca74b6f9f339b
MD5 e6ac36c21ed8f50be2d23de666da93e9
BLAKE2b-256 303ca890a8bed3e499ed4375d800e5fc7d4a068cd7230ff0d2e166654e20abf5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kf_sdk-3.0.3-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.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b0249e78a0bb256f79a08dcbb5c3d3eb9df75391a894e2a5b242c500b6f27af3
MD5 8963d3748a9b85af76904a88f82523a9
BLAKE2b-256 a1e419f2c7e9a3af4326fbac699b003279637a49a9bc7073c7077651ce36b692

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kf_sdk-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6b43c72e0610f2bf0c16f122192475e2de3bc345d37a8041c5b5297477ef0b5f
MD5 bdb0e4551f60f78f9b773cfce8cc97c5
BLAKE2b-256 2febf3ca02f5929f44012a15784df373f60b18b14c2623cd00e5b8b4b0f3eb05

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kf_sdk-3.0.3-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.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 454443159956af9ebe0fe9374dda0fa29adc41e3cd340bfcae0b8fc4484cf79e
MD5 87010df82b216299b89e4e6fe42805c9
BLAKE2b-256 bda2f646a5666a9334684edc174562e2de7fe7fd3034fcce6b04193389d68968

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kf_sdk-3.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 38add3d896fcaf593d2f7201c820a4f565e027f09e713c45ab9f3110367397d9
MD5 b0b7f1b7ef92864fcc54356000685d21
BLAKE2b-256 c376f66a3765a184e29b472b84507671d3b8c0ba48e39a4269ee4950aa7d7fd4

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