Skip to main content

Installation

Note

Arkitekt-Next is still highly experimental and under active development. It is not recommended for use outside of testing and development environments. At this point we only provide dev installation instructions.

Prerequisites

The Arkitekt-Next project again depends on the same prerequisites as the Arkitekt project. You will need to have the following installed on your machine:

  • Docker (with Docker Compose)
  • Python >= 3.9

Installation of the Server

Arkitekt-Next comes with a new developmental project creator build around "blok". To install the Arkitket-Server you can therefore use the Arktiekt-Next CLI.

pip install `arkitekt-next[blok,all]>=$INSERT_LATEST_PYPI_VERSION`

This will install the Arkitekt-Next CLI and all the necessary client dependencies, as well as blok, the build to. To now create the server environemnt (a docker-compose project with multiple file mounts and configuration files) you can run the following command:

blok build arkitekt $PATH_TO_YOUR_PROJECT

This will build the server environment in the specified directory. However! As we are dealing with a highly experimental project, we recommend to install the dev version of each subproject as well. This will clone the git repository of each subproject and mount it into the docker-compose project. To do this you can run the following command:

blok build arkitekt $PATH_TO_PROJECT --fluss-dev=True --rekuest-dev=True --lok-dev=True --mikro-dev=True --orkestrator-dev=True --kabinet-dev=True --postgres-dev=True
ARM64 Support

Because of the way we build Apache AGE at the moment the ARM64 builds are not available. This means that the database service will have to run emulated on ARM64 systems. Performance is abyssmal but it works for testing purposes.

This will guide you through an interactive setup process to create the server environment. Once the setup is complete you can start the server with:

cd $PATH_TO_YOUR_PROJECT
docker-compose up
Note

If you use VsCode to manage the project it will also create some "tasks" for you to start and stop the server as well as orkestrator. Otherwise you can start the server with docker-compose up and stop it with docker-compose down as well as start orkestrator by cding into the orkestrator directory and running yarn dev.

Starting the Client

The python interface of Arkitekt has not changed (just that you need to import from the respective _next package) you can start interacting with the server. Here is an example client

from arkitekt_next import register
from mikro_next.api.schema import Image, from_xarray_like

@register
def add_one_to_each_pixel(image: Image) -> Image:
return from_xarray_like(image.data + 1, name= f"{image.name}_plus_one", origins=[image])

and run it with

arkitekt-next init

and then

arkitekt-next run dev

This will start the client and run the function on the server. You can now access the function on the Orkestrator UI that should run within electron.

Next Steps

Please join our Discord server to get help with the installation and to stay up to date with the latest developments.

Join the Discord