arkitektio / arkitekt

arkitekt is the python api client for the arkitekt-framework
https://arkitekt.live
MIT License
2 stars 1 forks source link

add python 3.12 support #11

Open alexschroeter opened 6 months ago

alexschroeter commented 6 months ago

This is related to Issue: https://github.com/jhnnsrs/arkitekt/issues/10

I don't know if there is any technical reason or if at the time 3.11 was just the latest available version.

jhnnsrs commented 6 months ago

Ah i just checked it, its a weird issue with dependencies that had a <3.12 requirement. So i guess an older version of arkitekt was installed (recent is 0.6.1). I guess updating all poetry max python versions to <4.0 in the stack should do the trick. Just have to find out where that is :D

jhnnsrs commented 6 months ago

12 is tracking the progress here,

annoyingly it always causes a numpy error so that ever 3.8 or 3.12 breaks in the testing. It should be okay in a pip install though :D

jhnnsrs commented 6 months ago

"could you tell me if "pip install arkitekt[all]>=0.6.2" works for you ? ;)

alexschroeter commented 6 months ago

Yes, seems to work.

(base) aschroeter@Watson:~$ conda create --name arkitekt python=3
Retrieving notices: ...working... done
Channels:
 - defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/aschroeter/miniconda3/envs/arkitekt

  added / updated specs:
    - python=3

The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main
  _openmp_mutex      pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu
  bzip2              pkgs/main/linux-64::bzip2-1.0.8-h7b6447c_0
  ca-certificates    pkgs/main/linux-64::ca-certificates-2023.12.12-h06a4308_0
  expat              pkgs/main/linux-64::expat-2.5.0-h6a678d5_0
  ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.38-h1181459_1
  libffi             pkgs/main/linux-64::libffi-3.4.4-h6a678d5_0
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-11.2.0-h1234567_1
  libgomp            pkgs/main/linux-64::libgomp-11.2.0-h1234567_1
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-11.2.0-h1234567_1
  libuuid            pkgs/main/linux-64::libuuid-1.41.5-h5eee18b_0
  ncurses            pkgs/main/linux-64::ncurses-6.4-h6a678d5_0
  openssl            pkgs/main/linux-64::openssl-3.0.12-h7f8727e_0
  pip                pkgs/main/linux-64::pip-23.3.1-py312h06a4308_0
  python             pkgs/main/linux-64::python-3.12.0-h996f2a0_0
  readline           pkgs/main/linux-64::readline-8.2-h5eee18b_0
  setuptools         pkgs/main/linux-64::setuptools-68.2.2-py312h06a4308_0
  sqlite             pkgs/main/linux-64::sqlite-3.41.2-h5eee18b_0
  tk                 pkgs/main/linux-64::tk-8.6.12-h1ccaba5_0
  tzdata             pkgs/main/noarch::tzdata-2023d-h04d1e81_0
  wheel              pkgs/main/linux-64::wheel-0.41.2-py312h06a4308_0
  xz                 pkgs/main/linux-64::xz-5.4.5-h5eee18b_0
  zlib               pkgs/main/linux-64::zlib-1.2.13-h5eee18b_0

Proceed ([y]/n)? y

Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate arkitekt
#
# To deactivate an active environment, use
#
#     $ conda deactivate

(base) aschroeter@Watson:~$ conda activate arkitekt
(arkitekt) aschroeter@Watson:~$ pip install arkitekt[all]>=0.6.2
(arkitekt) aschroeter@Watson:~$ arkitekt

             _    _ _       _    _
   __ _ _ __| | _(_) |_ ___| | _| |_
  / _` | '__| |/ / | __/ _ \ |/ / __|
 | (_| | |  |   <| | ||  __/   <| |_
  \__,_|_|  |_|\_\_|\__\___|_|\_\__|

 Usage: arkitekt [OPTIONS] COMMAND [ARGS]...

 Arkitekt is a framework for building safe and performant apps that then can be centrally orchestrated and managed in workflows.
 This is the CLI for the Arkitekt Python SDK. It allows you to create and deploy Arkitekt Apps from your python code as well as to run them locally for testing and development. For more information about
 Arkitekt, please visit https://arkitekt.live

╭─ Options ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --help      Show this message and exit.                                                                                                                                                                       │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ gen                           Codegeneration tools for Arkitekt Apps (requires turms)                                                                                                                         │
│ init                          Initializes an Arkitekt app                                                                                                                                                     │
│ manifest                      Updates the manifest of this app                                                                                                                                                │
│ port                          Deploy the arkitekt app with Port                                                                                                                                               │
│ run                           Runs your arkitekt app                                                                                                                                                          │
│ scan                          Scans your arkitekt app for unsafe code                                                                                                                                         │
│ server                        Manages your arkitekt deployments                                                                                                                                               │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
jhnnsrs commented 6 months ago

Its a hassle with poetry and numpy at this point, i barely comprehend why the installation is not possible with poetry. This will have to better tested against, especially with new numpy and zarr versions on their way.