Skip to main content

Local staging bundle manager (meta.json, manifest.json, assets)

Project description

kitino

Local staging bundle manager for multi-asset workspaces: manifest.json, per-bundle meta.json, asset lifecycle, path resolution, and Pydantic schema hooks.

Requirements

  • Python 3.11+ (3.12, 3.13, and 3.14 supported)
  • uv (recommended for development)

Install

pip install kitino

Development

git clone https://github.com/<your-org>/kitino.git
cd kitino
uv python pin 3.11
uv sync

Tests

uv run python -m unittest discover -s tests -v

Quick example

from pathlib import Path

from kitino.bundle_manager import StagingWorkspace
from kitino.bundle_manager.meta import AssetKind
from kitino.bundle_manager.session import AssetSpec, BundleManagerSession

root = Path("staging/my-workspace")
ws = StagingWorkspace.create(root, workspace_id="demo", workspace_kind="generic")
session = BundleManagerSession.load_or_create(root / "bundle-a", "bundle-a", "demo.type")
ws.register_bundle(root / "bundle-a")

with session.prepare_asset(
    AssetSpec(key="main/data.json", kind=AssetKind.OUTPUT, created_by="example")
) as asset:
    asset.filepath.write_text('{"ok": true}', encoding="utf-8")

Documentation

License

Apache License 2.0 — see LICENSE.

History

Extracted from the sdd-agents monorepo bundle-manager component.

Project details


Download files

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

Source Distribution

kitino-0.1.0.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

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

kitino-0.1.0-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

Details for the file kitino-0.1.0.tar.gz.

File metadata

  • Download URL: kitino-0.1.0.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for kitino-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3d9e3ec1292360bbc83d89d0ac3f7589e4ddec225e05dd16ff0445e9ed1a70bb
MD5 7dbcc1cb179ffa7d2a09d803aefa2d19
BLAKE2b-256 77adb3e34773b4559991355bf2c87cecdc8a9dd9a0ba259e2945dd6d19d77300

See more details on using hashes here.

File details

Details for the file kitino-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: kitino-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for kitino-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 699744fb4328b10b3764c64148976ae4db97d88dc487bdde4926eeb2c48b9fd2
MD5 7aa01ddfec650f8096cb3263a2646145
BLAKE2b-256 3c49c82c1ad1b448bfbe7efde86877fa45fdd694285b5979fc18a1f294a6c12d

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 Pingdom Monitoring Sentry Error logging StatusPage Status page