Skip to main content

APIXIS

中文 | English

面向 Python asyncio 应用的事件驱动图编排。

PyPI Python License

源码 · 问题 · API 参考

APIXIS 提供两个可组合的运行时:

  • 一个异步事件系统,支持通配符订阅、有序处理器、背压和本地事件队列;
  • 一个有状态图运行时,支持命令驱动的步骤、并行节点、快照、流式处理以及中断/恢复工作流。

需要 Python 3.12+。运行时 API 专为 asyncio 设计。

安装

pip install apixis

要安装本地检出,请在仓库根目录运行:

python -m pip install .

如需开发和发布工具:

python -m pip install -e ".[dev]"
python -m pytest

使用 uv 时,请使用 uv sync --extra dev --locked 和 uv run --extra dev pytest。 有关构建和发布到 PyPI,请参阅发布指南。

快速开始

import asyncio

from apixis import GraphManager


def increment(state: dict) -> dict:
    return {"value": state["value"] + 1}


async def master() -> None:
    graph = (
        GraphManager()
        .add_node(increment)
        .compile_graph(entry_point="increment")
    )
    try:
        result = await graph.invoke({"value": 1})
        print(result)  # {'value': 2}
    finally:
        graph.decompose()


asyncio.run(master())

文档

许可证

根据 Apache License 2.0 授权。请参阅 LICENSE。 捆绑的 IdGenerator 组件采用 MIT 许可证;请参阅第三方声明。


APIXIS

English | 中文

Event-driven graph orchestration for Python asyncio applications.

PyPI Python License

Source · Issues · API Reference

APIXIS provides two composable runtimes:

  • an asynchronous event system with wildcard subscriptions, ordered handlers, backpressure, and a local event queue;
  • a stateful graph runtime with Command-driven steps, parallel nodes, snapshots, streaming, and interruption/resume workflows.

Python 3.12+ is required. Runtime APIs are designed for asyncio.

Install

pip install apixis

To install a local checkout, run from the repository root:

python -m pip install .

For development and release tools:

python -m pip install -e ".[dev]"
python -m pytest

With uv, use uv sync --extra dev --locked and uv run --extra dev pytest. See the release guide for building and publishing to PyPI.

Quick start

import asyncio

from apixis import GraphManager


def increment(state: dict) -> dict:
    return {"value": state["value"] + 1}


async def master() -> None:
    graph = (
        GraphManager()
        .add_node(increment)
        .compile_graph(entry_point="increment")
    )
    try:
        result = await graph.invoke({"value": 1})
        print(result)  # {'value': 2}
    finally:
        graph.decompose()


asyncio.run(master())

Documentation

License

Licensed under the Apache License 2.0. See LICENSE. The bundled IdGenerator component is MIT licensed; see third-party notices.

Metadata

Release files for apixis 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apixis 1.1.0
File Size Uploaded Provenance
apixis-1.1.0.tar.gz 206.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for apixis 1.1.0
File Interpreter ABI Platform
apixis-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 276.4 kB

Release files / apixis-1.1.0.tar.gz

Download URL apixis-1.1.0.tar.gz
Size 206.7 kB
Tags Source
SHA-256 checksum
How to use checksums
cb119cb644b54279d47ef6371faaa9093fad4784fab84d07bdbfd89211ecdcce
BLAKE2b-256 checksum
How to use checksums
02105fced18044bc527288b9b29b8e04a10ed3787a37f59ba81278900d3e7a96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.12

Release files / apixis-1.1.0-py3-none-any.whl

Download URL apixis-1.1.0-py3-none-any.whl
Size 69.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
481b9918c501d0373596905cbc29b7611b19c99ce73d77d349cd374b6aed6f1f
BLAKE2b-256 checksum
How to use checksums
728a969636bfec98b445a3188d4b7d51fd52bb006453e775f8e21030a5f58024
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.12

Security for apixis 1.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page