Skip to main content

arkitekt

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

codecov PyPI version PyPI pyversions PyPI status Documentation


What is Arkitekt?

Renamed. This client was published as arkitekt-next up to 1.4.2. From 2.0.0 it is published as arkitekt again: the import root is arkitekt (arkitekt_next is gone) and the CLI command is arkitekt, not arkitekt-next. Install arkitekt>=2. Note the extras changed meaning too — arkitekt[mikro] now brings mikro 3.x, and the reaktion extra is gone (the flow engine lives in fluss[engine]).

Arkitekt is an open platform for building, connecting, and orchestrating computational apps. arkitekt 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[all]"

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

Prefer a lean install? The CLI and packaging tooling are always included — pick only the service extras you need:

pip install "arkitekt[mikro]"          # microscopy / imaging data
pip install "arkitekt[fluss]"          # workflow orchestration
pip install "arkitekt[elektro]"       # electrophysiology data
pip install "arkitekt[alpaka]"         # want to talk to LLMs? This one's for you.

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

Quickstart

1. Create an app

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

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

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 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 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 run prod.

The CLI

arkitekt is the command line for building and running Arkitekt apps. Standing up an Arkitekt server is the job of konstruktor:

Command What it does
init · run · gen · manifest · inspect · call Build, run and deploy apps from your Python code — scaffold, run locally (run dev/run prod), generate typed clients, manage the manifest, inspect, and call functions.
plugin Containerize your app into flavours and publish it as a deployable plugin.
mesh Join this machine to the deployment's private WireGuard mesh.
self Manage your Arkitekt install — upgrade the SDK, print versions, dump diagnostics.
arkitekt init         # scaffold an app
arkitekt run dev      # run it with hot reloading
konstruktor hub create         # stand up a server to run it against (separate tool)

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 is released under the MIT License.

Metadata

Release files for arkitekt 2.0.2

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

Source distribution (sdist)

Source distribution for arkitekt 2.0.2
File Size Uploaded
arkitekt-2.0.2.tar.gz 560.3 kB Details

Built distribution (wheel)

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

Total release size: 1.2 MB

Release files / arkitekt-2.0.2.tar.gz

Download URL arkitekt-2.0.2.tar.gz
Size 560.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c2185e041e4132d6c5a8e9a3a8584a34de45c5533c345099401bdd5dc1a3aba4
BLAKE2b-256 checksum
How to use checksums
9b5b6a1be2083d84be4b107ffc95fa40600285c90000a8255d66056850ca5842
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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}

Release files / arkitekt-2.0.2-py3-none-any.whl

Download URL arkitekt-2.0.2-py3-none-any.whl
Size 600.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4832024639e8a44b60e45969fdcc70b10ffbf0299d6f4a52ad6c0f366def85e1
BLAKE2b-256 checksum
How to use checksums
dfaf8d578bc1bfa27f6054dc95dd9a16f49a65fbc2924f7c2beb7dceda98b60e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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}

Release history Release notifications | RSS feed

7.0.0

2 release files

6.8.0

2 release files

6.7.1

2 release files

6.7.0

2 release files

6.6.2

2 release files

6.6.1

2 release files

6.6.0

2 release files

6.5.0

2 release files

6.4.0

2 release files

6.3.0

2 release files

6.2.1

2 release files

6.2.0

2 release files

6.1.0

2 release files

6.0.0

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.3.0

2 release files

4.2.1

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.2.0

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.0

2 release files

This release

2.0.2 This release

2 release files

2.0.1

2 release files

2.0.0

2 release files

0.7.8

2 release files

0.7.7

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.59

2 release files

0.5.58

2 release files

0.5.57

2 release files

0.5.56

2 release files

0.5.55

2 release files

0.5.52

2 release files

0.5.51

1 release file

0.5.50

2 release files

0.5.49

2 release files

0.5.46

2 release files

0.5.45

2 release files

0.5.44

2 release files

0.5.43

2 release files

0.5.42

2 release files

0.5.41

2 release files

0.5.40

2 release files

0.5.39

2 release files

0.5.38

2 release files

0.5.36

2 release files

0.5.35

2 release files

0.5.34

2 release files

0.5.33

2 release files

0.5.32

2 release files

0.5.31

2 release files

0.5.30

2 release files

0.5.29

2 release files

0.5.28

2 release files

0.5.27

2 release files

0.5.26

2 release files

0.5.25

2 release files

0.5.24

2 release files

0.5.23

2 release files

0.5.22

2 release files

0.5.21

2 release files

0.5.20

2 release files

0.5.19

2 release files

0.5.18

2 release files

0.5.17

2 release files

0.5.16

2 release files

0.5.15

2 release files

0.5.14

2 release files

0.5.13

2 release files

0.5.12

2 release files

0.5.11

2 release files

0.5.10

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.97

2 release files

0.4.96

2 release files

0.4.95

2 release files

0.4.94

2 release files

0.4.93

2 release files

0.4.92

2 release files

0.4.91

2 release files

0.4.90

2 release files

0.4.89

2 release files

0.4.88

2 release files

0.4.87

2 release files

0.4.86

2 release files

0.4.85

2 release files

0.4.84

2 release files

0.4.83

2 release files

0.4.82

2 release files

0.4.81

2 release files

0.4.80

2 release files

0.4.79

2 release files

0.4.78

2 release files

0.4.77

2 release files

0.4.76

2 release files

0.4.75

2 release files

0.4.74

2 release files

0.4.73

2 release files

0.4.72

2 release files

0.4.71

2 release files

0.4.70

2 release files

0.4.69

2 release files

0.4.68

2 release files

0.4.66

2 release files

0.4.65

2 release files

0.4.64

2 release files

0.4.63

2 release files

0.4.62

2 release files

0.4.61

2 release files

0.4.60

2 release files

0.4.59

2 release files

0.4.58

2 release files

0.4.57

2 release files

0.4.56

2 release files

0.4.41

2 release files

0.4.40

2 release files

0.4.39

2 release files

0.4.38

2 release files

0.4.37

2 release files

0.4.36

2 release files

0.4.34

2 release files

0.4.33

2 release files

0.4.32

2 release files

0.4.31

2 release files

0.4.30

2 release files

0.4.29

2 release files

0.4.28

2 release files

0.4.27

2 release files

0.4.26

2 release files

0.4.25

2 release files

0.4.24

2 release files

0.4.23

2 release files

0.4.22

2 release files

0.4.21

2 release files

0.4.20

2 release files

0.4.19

2 release files

0.4.18

2 release files

0.4.17

2 release files

0.4.16

2 release files

0.4.15

2 release files

0.4.14

2 release files

0.4.13

2 release files

0.4.12

2 release files

0.4.11

2 release files

0.4.10

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.3.17

2 release files

0.3.16

2 release files

0.3.15

2 release files

0.3.14

2 release files

0.3.13

2 release files

0.3.12

2 release files

0.3.11

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.1.99

2 release files

0.1.98

2 release files

0.1.97

2 release files

0.1.96

2 release files

0.1.95

2 release files

0.1.94

2 release files

0.1.93

2 release files

0.1.92

2 release files

0.1.81

2 release files

0.1.80

2 release files

0.1.79

2 release files

0.1.78

2 release files

0.1.77

2 release files

0.1.76

2 release files

0.1.75

2 release files

0.1.74

2 release files

0.1.73

2 release files

0.1.72

2 release files

0.1.71

2 release files

0.1.70

2 release files

0.1.69

2 release files

0.1.68

2 release files

0.1.67

2 release files

0.1.66

2 release files

0.1.65

2 release files

0.1.64

2 release files

0.1.63

2 release files

0.1.62

2 release files

0.1.61

2 release files

0.1.60

2 release files

0.1.59

2 release files

0.1.58

2 release files

0.1.57

2 release files

0.1.56

2 release files

0.1.55

2 release files

0.1.54

2 release files

0.1.53

2 release files

0.1.52

2 release files

0.1.51

2 release files

0.1.50

2 release files

0.1.49

2 release files

0.1.48

2 release files

0.1.47

2 release files

0.1.46

2 release files

0.1.45

2 release files

0.1.44

2 release files

0.1.43

2 release files

0.1.42

2 release files

0.1.41

2 release files

0.1.40

2 release files

0.1.39

2 release files

0.1.38

2 release files

0.1.37

2 release files

0.1.22

2 release files

0.1.21

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

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