Skip to main content

Unified developer surface for TsugiCinema's open-source distributed-training SDKs. pip install tsugi pulls tsugi-mend (Apache-2.0; patent-independent) and tsugi-kpool (Apache-2.0; patent-aligned) and re-exports both under one namespace.

Project description

tsugi

PyPI version Python versions License: Apache 2.0 CI

Unified developer surface for TsugiCinema's open-source distributed-training SDKs.

pip install tsugi

tsugi is a thin packaging-level wrapper that depends on and re-exports two physically separate Apache-2.0 SDKs published by TsugiCinema, Inc.

PyPI package Imports as Role Patent posture
tsugi-mend tsugi.mend Cross-rack reducer Patent-independent
tsugi-kpool tsugi.kpool K-Pool LoRA / Infinity analog Patent-aligned

(tsugi-mend integrates Decoupled DiLoCo + DES-LOC + async-TP + FALCON; tsugi-kpool is the software analog of US App. 64/060,315 and 64/055,093. See the sections below.)

The two sub-SDKs share zero code. This meta-package exposes them under a unified import namespace for developer convenience. Both sub-SDKs and this meta-package are licensed under the Apache License, Version 2.0.

Status

Pre-Alpha (0.1.1). APIs are stabilizing. Cross-SDK integration patterns may evolve. The sub-SDK packages (tsugi-mend 0.1.3, tsugi-kpool 0.1.2) are pinned by exact version in this meta-package's dependencies.

Quickstart

import tsugi

tsugi.about()
# tsugi 0.1.1  unified developer surface
#   tsugi-mend  0.1.3  Apache-2.0  patent-independent (Decoupled DiLoCo + DES-LOC + async-TP + FALCON)
#   tsugi-kpool 0.1.2  Apache-2.0  patent-aligned (US App. 64/060,315 K-Pool LoRA + US App. 64/055,093 Infinity)

Cross-rack reducer (tsugi.mend)

from tsugi.mend import MendConfig, mend_init, mend_shutdown

# After your model is wrapped (FSDP, TP, etc.):
config = MendConfig(quorum_min_learners=2, grace_window_ms=2000)
mend_init(model, config)

# ... train ...

mend_shutdown(model)

See tsugi-mend for benchmark protocols, the multi-stage validation record (Stage A through Stage E-prime), and the Phase 2 sprint plan.

K-Pool LoRA / Infinity (tsugi.kpool)

from tsugi.kpool import KPoolLoraConfig, plesio_init, plesio_shutdown

config = KPoolLoraConfig(
    r=16,
    lora_alpha=32,
    n_adapters=8,
    k_active=4,
    sideband_enabled=True,
    aggregation_mode="buffer_convergence",
)
plesio_init(model, config)

# ... train with K-of-N adapter routing ...

plesio_shutdown(model)

See tsugi-kpool for the buffer-convergence trigger characterization and the K-of-N routing semantics.

Architecture

tsugi itself is a torch-free import: import tsugi resolves only to configuration dataclasses on each sub-SDK. The runtime functions (mend_init, plesio_init, etc.) lazy-import torch via each sub-SDK's facade on first call. This keeps documentation builds and torch-free CI environments working.

When you actually call a runtime function, that sub-SDK loads torch and its own runtime machinery. The two sub-SDKs never cross-reference each other; they can be installed and used independently of this meta-package.

License and IP posture

Apache-2.0 with full automatic patent grant. See LICENSE for the preamble that distinguishes this meta-package's grant scope from each sub-SDK's grant scope, and NOTICE for the attribution chain to the upstream sub-SDKs.

The patent posture, in brief:

  • This meta-package itself contains no patent-exercising code. Its Apache-2.0 patent grant covers only the thin wrapper code in this repository.
  • tsugi-mend is patent-independent. Its Apache-2.0 grant does not extend to TsugiCinema's K-Pool LoRA or Infinity patent estates.
  • tsugi-kpool is patent-aligned. Its Apache-2.0 grant in Section 3 extends to TsugiCinema's K-Pool LoRA (US App. 64/060,315) and Infinity (US App. 64/055,093) patent estates AS PRACTICED BY THE SDK CODE AS DISTRIBUTED. Apache-2.0 Section 3's "necessarily infringed by their Contribution" language bounds the patent license to the specific embodiment present in the SDK code, not the broader scope of the patent claims as filed.

Links

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

tsugi-0.1.1.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

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

tsugi-0.1.1-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file tsugi-0.1.1.tar.gz.

File metadata

  • Download URL: tsugi-0.1.1.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for tsugi-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8ec8174a20dc144c0260d87cd8c4ba3df7cd864c83f0413df6dfb367098623df
MD5 cda19fdd283e2b6c0ccd96240db40672
BLAKE2b-256 a798ef3b0570a49ed17300338a34a21bb69a337f63d6c843a1062ef09fd5aa92

See more details on using hashes here.

Provenance

The following attestation bundles were made for tsugi-0.1.1.tar.gz:

Publisher: release.yml on tsugiai/tsugi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tsugi-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: tsugi-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for tsugi-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4bfc3dbfcf86f85f49b8889d2ab7de03ad05055f688c975a2ab283439679708a
MD5 cb14e8b0181da8a4487d46764eee95d2
BLAKE2b-256 8b352cc2537d2841bfb49eabcdb4b91a4b4f13865e5e134c38bbe7f58c36ce65

See more details on using hashes here.

Provenance

The following attestation bundles were made for tsugi-0.1.1-py3-none-any.whl:

Publisher: release.yml on tsugiai/tsugi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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