Skip to main content

Theus Agentic Framework - Industrial Grade Process-Oriented Programming (POP)

Project description

Theus: Process-Oriented Operating System for Python

PyPI version License: MIT Paper License: CC-BY 4.0 Python 3.12+

"Data is the Asset. Code is the Liability. Theus protects the Asset."

Theus is a next-generation architectural framework that treats your application not as a collection of objects, but as a deterministic workflow of processes. It introduces the Process-Oriented Programming (POP) paradigm to solve the chaos of state management in complex systems like AI Agents, Core Banking, and Industrial Automation.


🌪️ The Problem

In modern software (OOP, EDA, Microservices), the biggest source of bugs is State Management:

  • Implicit Mutations: Who changed user.balance? Was it the PaymentService or the RefundHandler?
  • Race Conditions: Transient events corrupting persistent data.
  • Zombie State: Old references pointing to stale data.
  • Audit Gaps: We log what happened, but we can't mathematically prove why it was allowed.

🛡️ The Theus Solution

Theus acts as a micro-kernel for your logic, enforcing strict architectural invariants at runtime:

1. The 3-Axis Context Model

State is no longer a "bag of variables". It is a 3D space defined by:

  • Layer: Global (Config), Domain (Session), Local (Process).
  • Semantic: Input (Read-only), Output (Write-only), SideEffect (env), Error.
  • Zone:
    • DATA: Persistent Assets (Replayable).
    • SIGNAL: Transient Events (Reset on Read).
    • META: Observability (Logs/Traces).
    • HEAVY: High-Perf Tensors/Blobs (Zero-Copy, Non-Transactional).
                                     [Y] SEMANTIC
                             (Input, Output, SideEffect, Error)
                                      ^
                                      |
                                      |
                                      |                +------+------+
                                      |               /|             /|
                                      +--------------+ |  CONTEXT   + |----------> [Z] ZONE
                                     /               | |  OBJECT    | |      (Data, Signal, Meta, Heavy)
                                    /                | +------------+ |
                                   /                 |/             |/
                                  /                  +------+------+
                                 v
                            [X] LAYER
                     (Global, Domain, Local)

2. Zero-Trust Memory

  • Default Deny: Processes cannot access ANY data unless explicitly declared in a @process Contract.
  • Immutability: Inputs are physically frozen (FrozenList, FrozenDict).
  • Isolation: Signals cannot be used as Inputs for Business Logic (Architectural Boundary enforcement).

3. Industrial-Grade Audit

  • Active Defense: Rules (min, max, regex) are enforced at Input/Output Gates.
  • Severity Levels:
    • S (Safety): Emergency Stop.
    • A (Abort): Hard Stop Workflow.
    • B (Block): Rollback Transaction.
    • C (Campaign): Warning.
  • Resilience: Configurable tolerance thresholds (e.g., "Allow 2 glitches, block on 3rd").

📦 Installation

Theus requires Python 3.12+ to leverage advanced typing and dataclasses.

pip install theus

⚡ Quick Start: Building a Bank

This example demonstrates Contracts, Zoning, and Transaction safety.

1. Define the Context (The Asset)

from dataclasses import dataclass, field
from theus.context import BaseSystemContext, BaseDomainContext, BaseGlobalContext

@dataclass
class BankDomain(BaseDomainContext):
    # DATA ZONE: Persistent Assets
    accounts: dict = field(default_factory=dict) # {user_id: balance}
    total_reserves: int = 1_000_000
    
    # SIGNAL ZONE: Control Flow
    sig_fraud_detected: bool = False

@dataclass
class BankSystem(BaseSystemContext):
    domain_ctx: BankDomain = field(default_factory=BankDomain)
    global_ctx: BaseGlobalContext = field(default_factory=BaseGlobalContext)

2. Define the Process (The Logic)

from theus.contracts import process

@process(
    # STRICT CONTRACT
    inputs=['domain_ctx.accounts'],
    outputs=['domain_ctx.accounts', 'domain_ctx.total_reserves', 'domain_ctx.sig_fraud_detected'],
    errors=['ValueError']
)
def transfer(ctx, from_user: str, to_user: str, amount: int):
    # 1. Input Validation
    if amount <= 0:
        raise ValueError("Amount must be positive")
    
    # 2. Business Logic (Operating on Shadow Copies)
    sender_bal = ctx.domain_ctx.accounts.get(from_user, 0)
    
    if sender_bal < amount:
        # Trigger Signal
        ctx.domain_ctx.sig_fraud_detected = True
        return "Failed: Insufficient Funds"

    # 3. Mutation (Optimistic Write)
    ctx.domain_ctx.accounts[from_user] -= amount
    ctx.domain_ctx.accounts[to_user] = ctx.domain_ctx.accounts.get(to_user, 0) + amount
    
    return "Success"

3. Run with Safety (The Engine)

from theus.engine import TheusEngine

# Setup Data
sys_ctx = BankSystem()
sys_ctx.domain_ctx.accounts = {"Alice": 1000, "Bob": 0}

# Initialize Engine
engine = TheusEngine(sys_ctx, strict_mode=True)

# 🚀 PRO TIP: Auto-Discovery
# Instead of registering manually, you can scan an entire directory:
# engine.scan_and_register("src/processes")

engine.register_process("transfer", transfer)

# Execute
result = engine.run_process("transfer", from_user="Alice", to_user="Bob", amount=500)

print(f"Result: {result}")
print(f"Alice: {sys_ctx.domain_ctx.accounts['Alice']}") # 500

🛠️ CLI Tools

Theus provides a powerful CLI suite to accelerate development and maintain architectural integrity.

  • python -m theus.cli init <project_name>: Scaffolds a new project with the standard V2 structure (src/, specs/, workflows/).
  • python -m theus.cli audit gen-spec: Scans your @process functions and automatically populates specs/audit_recipe.yaml with rule skeletons.
  • python -m theus.cli audit inspect <process_name>: Inspects the effective audit rules, side effects, and error contracts for a specific process.
  • python -m theus.cli schema gen: Infers and generates specs/context_schema.yaml from your Python Dataclass definitions.

🧠 Advanced Architecture

The Transaction Engine

Theus uses a Hybrid Transaction Model:

  • Scalars: Updated in-place with an Undo Log (for speed).
  • Collections: Updated via Shadow Copy (for safety). If a process crashes or is blocked by Audit, Theus rolls back the entire state instantly.

The Heavy Zone (Optimization)

For AI workloads (Images, Tensors) > 1MB, use heavy_ variables.

  • Behavior: Writes bypass the Transaction Log (Zero-Copy).
  • Trade-off: Changes to Heavy data are NOT reverted on Rollback.

🚀 High Performance Training (New in v2.2)

For Pure Training Loops (Simulations/Games) where Transaction safety is overkill:

engine = TheusEngine(sys_ctx, strict_mode=False)
  • Effect: Completely disables Rust Transaction Layer (Zero Overhead).
  • Performance: Native Python execution speed.
  • Trade-off: No Rollback protection.

The Audit Recipe (audit.yaml)

Decouple your business rules from your code.

process_recipes:
  transfer:
    inputs:
      - field: "amount"
        max: 10000        # Max transfer limit
        level: "B"        # Block transaction
    outputs:
      - field: "domain.total_reserves"
        min: 0            # Reserves must never be negative
        level: "S"        # Safety Interlock (Stop System)

The Orchestrator (FSM)

Manage complex flows using workflow.yaml:

states:
  IDLE:
    events:
      CMD_TX: "PROCESSING"
  PROCESSING:
    entry: "transfer"
    events:
      EVT_SUCCESS: "NOTIFY"
      EVT_FAIL: "IDLE"

📚 Documentation


⚖️ License

Maintained by: Hoàng Đỗ Huy

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

theus-2.2.2.tar.gz (267.2 kB view details)

Uploaded Source

Built Distributions

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

theus-2.2.2-cp313-cp313-win_amd64.whl (297.9 kB view details)

Uploaded CPython 3.13Windows x86-64

theus-2.2.2-cp313-cp313-manylinux_2_24_x86_64.whl (444.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64

theus-2.2.2-cp313-cp313-manylinux_2_24_aarch64.whl (437.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64

theus-2.2.2-cp313-cp313-macosx_11_0_arm64.whl (396.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

theus-2.2.2-cp313-cp313-macosx_10_12_x86_64.whl (409.1 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

theus-2.2.2-cp312-cp312-win_amd64.whl (298.0 kB view details)

Uploaded CPython 3.12Windows x86-64

theus-2.2.2-cp312-cp312-manylinux_2_24_x86_64.whl (444.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64

theus-2.2.2-cp312-cp312-manylinux_2_24_aarch64.whl (437.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64

theus-2.2.2-cp312-cp312-macosx_11_0_arm64.whl (397.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

theus-2.2.2-cp312-cp312-macosx_10_12_x86_64.whl (409.7 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

theus-2.2.2-cp311-cp311-win_amd64.whl (295.6 kB view details)

Uploaded CPython 3.11Windows x86-64

theus-2.2.2-cp311-cp311-manylinux_2_24_x86_64.whl (443.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64

theus-2.2.2-cp311-cp311-manylinux_2_24_aarch64.whl (436.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64

theus-2.2.2-cp311-cp311-macosx_11_0_arm64.whl (404.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

theus-2.2.2-cp311-cp311-macosx_10_12_x86_64.whl (420.0 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

theus-2.2.2-cp310-cp310-win_amd64.whl (295.4 kB view details)

Uploaded CPython 3.10Windows x86-64

theus-2.2.2-cp310-cp310-manylinux_2_24_x86_64.whl (443.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64

theus-2.2.2-cp310-cp310-manylinux_2_24_aarch64.whl (436.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64

theus-2.2.2-cp310-cp310-macosx_11_0_arm64.whl (404.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

theus-2.2.2-cp310-cp310-macosx_10_12_x86_64.whl (420.0 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

theus-2.2.2-cp39-cp39-manylinux_2_24_x86_64.whl (444.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64

theus-2.2.2-cp39-cp39-manylinux_2_24_aarch64.whl (437.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ ARM64

theus-2.2.2-cp38-cp38-manylinux_2_24_x86_64.whl (444.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ x86-64

theus-2.2.2-cp38-cp38-manylinux_2_24_aarch64.whl (437.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ ARM64

File details

Details for the file theus-2.2.2.tar.gz.

File metadata

  • Download URL: theus-2.2.2.tar.gz
  • Upload date:
  • Size: 267.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.4

File hashes

Hashes for theus-2.2.2.tar.gz
Algorithm Hash digest
SHA256 19e3418dc9b98dbc33657f63388b863e1f76342db57f3f06c3fbaf3404a63643
MD5 a0f8b5ec0f46525cd6628bb529406aa0
BLAKE2b-256 9690354bea1d8bec997d07c1c14af90e23042fa428360ae032aae5c17f529529

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: theus-2.2.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 297.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.4

File hashes

Hashes for theus-2.2.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4b91b3930d1012aa81ffb32f76dc20214bd02151625ffe588a0757cd81cacbbc
MD5 9085bc866497cafe63f502df9d26a475
BLAKE2b-256 686cf925e620387bcc52699a38cc146aba04f27fd45645c87f155029cf0eadef

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp313-cp313-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp313-cp313-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 de4bba78232c6ca1c306dd13e10fd3138ecb447c54417dc7c60cca1bcf513e69
MD5 b3217aad0a78e04884ab1818e031dce5
BLAKE2b-256 842be383e92510f48f976a46a3168785371c3e68202a0e071fb81e5183f42297

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp313-cp313-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp313-cp313-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 babb81167dc205e9bd4aaa3f0634c4c228c93de52e7b9fa27f47e3d46072cc94
MD5 8286d2f23818099209b48437e0a343ac
BLAKE2b-256 16a0fbc8f522a0cf575b3264234468a509a6ec2fc898e509dfc2e38d67f5c298

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4620c2348fd5a0f4f4d0977fff0416a0556962055563de790be8fdfdd92410d9
MD5 6e555a96ad45b8ede760376b0af2f1e1
BLAKE2b-256 2a3c26bf1b772af0f6cc5b37b34370c551f41b018604405c0bcb02acdc411bac

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e460b01cadbe8481637cde48919e8b5cadbcff3321d3f660f29c58cb27404ecb
MD5 37bd1e14a7529adf4a6c56dcf084e0b6
BLAKE2b-256 03b4e8d82bb99955a481db3cb8e53f1c465e7627d7dcab8218a548c48de37729

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: theus-2.2.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 298.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.4

File hashes

Hashes for theus-2.2.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a8b1d953ad37a21bc319d40dcffa9a2b389977def0fb3b9591fa2ca9ef48d1c8
MD5 73c5b09494ddab7419d76ea04388ba53
BLAKE2b-256 e03e33ac4c049c6c4e946f9ad543af5830dcfad7cd61af69d8ae398b616ffc0d

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp312-cp312-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp312-cp312-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 9a0995fdd02d37bff991459341e24f3377c694003c267ffe0c2eebd11d6a8e4c
MD5 e15e63a90d1dec79230c2e401328592b
BLAKE2b-256 296e481a541a06abe109ae0c32f0d030c7401854d1827a09c5b82183e2198edd

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp312-cp312-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp312-cp312-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 65f0f60b20b578406cbd8e6b8e144662680003ee5fe0d740a57a5e99e7180a8b
MD5 437567dc44025ff57b957ca16a415f7f
BLAKE2b-256 23f3e958adb16ca5655599b70c9e4db47a5eceb8ab048d77b7f119bc6424b21a

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a674d94ae0296e9c6ae2f80b105c8d5aec59b9a16d24e9bfb16bcb1f6c4a3547
MD5 ba79bd7f32fcff6d55d70782c0bada26
BLAKE2b-256 5963d34899de2b7fd5fa8d8ab92904b3e9774d61c5b914d8333b86fc1f88aac2

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 966cf88d1635474eddbe85fa0b54deafd12ebc1def153c6f2688bb81a22bb3bf
MD5 ed7124c5e9635f45be260616485ac8cf
BLAKE2b-256 af1de715450551493729c2dd5ce68390b89ea5c848c636cf930f3cf03cb6b64b

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: theus-2.2.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 295.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.4

File hashes

Hashes for theus-2.2.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c1bb7cf600508271d0ad6d0cd48029184951a08b5cffa255764668cd7d9f2654
MD5 50276076dd718c700623fcb2a76cdaa9
BLAKE2b-256 4c8a943b2306437551c25711b42fd5f8b8b52d6c43c1d8689af942b904f8d573

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp311-cp311-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp311-cp311-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 9fb21facbe751824cb205755f607444e98f384e525cb0ced4053f4931058301b
MD5 a5b2499e6632c2d9becd26beb0f4eedf
BLAKE2b-256 901e35e9e3a9ed51a245dea220185539c4a5598a2ba076e9c421b00eb90d87a3

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp311-cp311-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp311-cp311-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 b5249adcc7360dcde0a7232a3d3b4614524f2e62c9d43639f0b9a14d5daefaaa
MD5 7ad1d106200ea7f2e585288eecb96d22
BLAKE2b-256 8c33dfa38a6fdfe49ff80286410bd14ba533d990f438f3251d0da9d19474824d

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 02afa46e587a3ba129c4ea3145b83532b930c6858db5b06c91541b07e78f1063
MD5 5d80a833b17d9ba80ba7aa66587fc3f5
BLAKE2b-256 f204a223e027a0edd3f0d7bf165e124a39067ad7357372f8d84c574b0074055f

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8954aa90e96e8c904417d7dc1807452f0fbef995b68fa13e58cda12bf5a53e29
MD5 fde130beab77e21d926d77a1ca297ff8
BLAKE2b-256 16d469b9e10d6ee9dcc962056009a36cc200003d36656da811574b1470022dbe

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: theus-2.2.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 295.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.4

File hashes

Hashes for theus-2.2.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6fd8310c4dd27ac1a8df879690a0a5a5a095dec9a9ec4969863f490d4d1350e3
MD5 a4bb6e03717c35f99df823d2b7816a92
BLAKE2b-256 62dd2b6c78f62334f00bb9fcd1692386620f56d67a75672d4f685f5b3aa44080

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp310-cp310-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp310-cp310-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 91ffe8db6e52a96adb6f77ba73df00983812038863478c5ea756f433a78c8860
MD5 5f3b2cdce7bb929a0b985d23a5ac9802
BLAKE2b-256 ec0259879d2263a38f5405011ef3ac61c67f57c53cdcd8a2364fc7936c1a7866

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp310-cp310-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp310-cp310-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 420c5a46153c737da8bc46c101b3cce1ee0827ebdf86420a8cd23279b9dbb2ac
MD5 03adde23b28bddb1640d71dfc921f483
BLAKE2b-256 293d56ff7d7d5623a67a0aede957e461edda082b89de99434452c6afc96f0dbd

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9958f8bb24abca54c4b4d26e1d7402754298910f211521996f69d6caf30bf660
MD5 01e01610afcb211c0008d790901a8c7b
BLAKE2b-256 7c8f06613a208dda53f0dc8fa5df52ae8d746fd51050c9ed735c82040ae09e8d

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c271f65b0c415ed2d657c7ab1be8f2ec687e612c904f8d717a9a8797feabdbda
MD5 e04f945586254aec341126b7d55b42da
BLAKE2b-256 babc4ae042a517b735dbc6828544c321cf85219c22a43e1c309a4d322b606945

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp39-cp39-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 aae85a187dba8f7f82ee7d44db5126a53a28970cb66b5bbafe041f65625f2664
MD5 d837f26e3e0150aff90c8ab29eb3cd69
BLAKE2b-256 35e112e4b9a2f329ced6d54819731e82034e0afa937c0cd181e6914c9c4b6103

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp39-cp39-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp39-cp39-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 0678ba00de7381843a1fb311fb290b2d923b2b3a6f623ed05ba6fcfdf3960c3a
MD5 b08ebc05135cfeee6a3b572a3907ffe3
BLAKE2b-256 d8cd1698c10ddf50cb2e10a66a76f3ba5160e65019a804b3d8dc261e9680c597

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp38-cp38-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 fb2fa5a260fea8edf3b49ef906ca87eaa221aed19bd066ec2d6358ff648a9de3
MD5 e214ccce7d113d84a468061a9f59dff7
BLAKE2b-256 3afbf50643202c0c911213ae4ec2cfb8d8cf32c0fe91b99d79af674a2a24a5c1

See more details on using hashes here.

File details

Details for the file theus-2.2.2-cp38-cp38-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for theus-2.2.2-cp38-cp38-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 71dad1a2f2a973a63e270686a37b8d8ae2f274431f46eab357dc4eb3159a121a
MD5 c4fd5ad5560563108a9dca090bd359ec
BLAKE2b-256 7cd1f3c8e91c83f695d7c53cdbd2b4479bc3e3abf44c018c6a4fbe5911aee3f9

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