Skip to main content

client for the arkitekt_next platform

Project description

arkitekt-next

Turn your Python functions into apps you can orchestrate, share, and scale.

codecov PyPI version PyPI pyversions PyPI status Documentation


What is Arkitekt?

Arkitekt is an open platform for building, connecting, and orchestrating computational apps. arkitekt-next is its Python client: a framework that takes your ordinary Python functions and exposes them as remotely callable, orchestratable building blocks — without you having to write servers, APIs, message queues, or UIs.

Annotate a function, run your app, and it becomes available on an Arkitekt server where it can be:

  • Called from anywhere — other apps, notebooks, scripts, or the web UI.
  • Composed into real-time workflows that wire your functions together.
  • Given a GUI automatically, generated from your Python type hints.
  • Shared with your team behind central authentication and permissions.
  • Packaged and deployed as a Docker container with a single command.

Arkitekt grew out of the needs of data-intensive science (it has first-class extensions for microscopy, imaging, and graph data), but the core is domain-agnostic — any Python workload fits.

📚 The best place to understand the platform and its concepts is the documentation at arkitekt.live.

Installation

pip install "arkitekt-next[all]"

This installs everything, including the arkitekt-next command line interface used to create, develop, containerize, and deploy apps.

Prefer a lean install? Pick only the extras you need:

pip install "arkitekt-next[cli]"            # the CLI + app development tooling
pip install "arkitekt-next[mikro]"          # microscopy / imaging data
pip install "arkitekt-next[kabinet]"        # Docker packaging & deployment
pip install "arkitekt-next[fluss]"          # workflow orchestration
pip install "arkitekt-next[elektro]"       # electrophysiology data
pip install "arkitekt-next[alpaka]"         # want to talk to LLMs? This one's for you.

arkitekt-next requires Python 3.11+ and builds on the asyncio and pydantic stacks.

Quickstart

1. Create an app

mkdir my-app && cd my-app
arkitekt-next init

This walks you through creating an app and writes a manifest (identifier, version, entrypoint, scopes) into .arkitekt_next/.

2. Register your functions

Any function you decorate with @register becomes a callable building block on the platform. Its arguments and return values are inferred from your type hints — which also drive validation, documentation, and the auto-generated GUI.

from arkitekt_next import register


@register
def greet(name: str, excited: bool = False) -> str:
    """Greet a person by name.

    Args:
        name: Who to greet.
        excited: Add some enthusiasm.
    """
    greeting = f"Hello, {name}"
    return greeting + "!" if excited else greeting

3. Run it

arkitekt-next run dev

run dev connects your app to a local or remote Arkitekt server with hot reloading — edit your code and the app reloads automatically. When you are ready for production, use arkitekt-next run prod.

The CLI

arkitekt-next ships a batteries-included CLI for the whole app lifecycle:

Command What it does
init Scaffold a new app and its manifest.
run dev Run the app locally with hot reloading.
run prod Run the app in production mode.
gen Generate typed API clients from GraphQL schemas.
manifest Inspect and manage your app's manifest.
inspect Inspect an app's actions, variables, and requirements.
call Call registered functions on a remote server.
kabinet Build, validate, and publish your app as a Docker deployment.

See the full reference in docs/cli.md.

Working with data

Arkitekt automatically serializes and documents standard Python types — str, bool, int, float, Enum, list, and dict. For heavier data (images, arrays, large objects), the platform follows a store-by-reference model: data lives in a central, scalable store and only a lightweight reference travels between apps. Extensions like mikro provide ready-made structures for this, and you can define your own.

See the documentation for details on custom data structures and storage backends.

Documentation & links

License

arkitekt-next is released under the MIT License.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

arkitekt_next-1.0.0rc6.tar.gz (572.4 kB view details)

Uploaded Source

Built Distribution

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

arkitekt_next-1.0.0rc6-py3-none-any.whl (611.9 kB view details)

Uploaded Python 3

File details

Details for the file arkitekt_next-1.0.0rc6.tar.gz.

File metadata

  • Download URL: arkitekt_next-1.0.0rc6.tar.gz
  • Upload date:
  • Size: 572.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for arkitekt_next-1.0.0rc6.tar.gz
Algorithm Hash digest
SHA256 5a56e7c6889703b12b76ed7d27bd8cf0c079bbb13c5729f1f9837b550784c9a5
MD5 df675fbf65f6ee53636a10bba0df5619
BLAKE2b-256 c68102dbedd1b8937fff23ad5309653558545b07c5347e5eba2b68420ba66131

See more details on using hashes here.

File details

Details for the file arkitekt_next-1.0.0rc6-py3-none-any.whl.

File metadata

  • Download URL: arkitekt_next-1.0.0rc6-py3-none-any.whl
  • Upload date:
  • Size: 611.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for arkitekt_next-1.0.0rc6-py3-none-any.whl
Algorithm Hash digest
SHA256 48261603d339e324cec4d16332641c05ca64c3e7f3780f430ec5e033f5a1f5b3
MD5 7334139751d6b5b39ff6d5b9b8ccbe0b
BLAKE2b-256 3ff7612b9e41a7962fa6bb049c856c769c7f8a23da1587afa9aa926c1eafcba7

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