Installation
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
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
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.