hi there
I wanted to use the arkindex CLI but have this issue when installing:
floswald@PTL11077 ~> pip install arkindex-cli
Collecting arkindex-cli
Downloading arkindex_cli-0.4.10-py3-none-any.whl.metadata (2.5 kB)
Collecting arkindex-export==0.2.0 (from arkindex-cli)
Downloading arkindex_export-0.2.0-py3-none-any.whl.metadata (218 bytes)
Collecting minio==7.2.7 (from arkindex-cli)
Downloading minio-7.2.7-py3-none-any.whl.metadata (6.4 kB)
Requirement already satisfied: python-dateutil==2.9.0.post0 in ./.pyenv/versions/3.13.5/lib/python3.13/site-packages (from arkindex-cli) (2.9.0.post0)
Collecting python-docx==1.1.2 (from arkindex-cli)
Downloading python_docx-1.1.2-py3-none-any.whl.metadata (2.0 kB)
Collecting python-gnupg==0.5.4 (from arkindex-cli)
Downloading python_gnupg-0.5.4-py2.py3-none-any.whl.metadata (2.0 kB)
Collecting python-magic==0.4.27 (from arkindex-cli)
Downloading python_magic-0.4.27-py2.py3-none-any.whl.metadata (5.8 kB)
Collecting rich==13.7.1 (from arkindex-cli)
Downloading rich-13.7.1-py3-none-any.whl.metadata (18 kB)
Collecting teklia-toolbox==0.1.11 (from arkindex-cli)
Downloading teklia_toolbox-0.1.11-py3-none-any.whl.metadata (4.9 kB)
Collecting teklia-worker-configuration==0.1.0 (from arkindex-cli)
Downloading teklia_worker_configuration-0.1.0-py3-none-any.whl.metadata (1.3 kB)
Collecting zstandard==0.23.0 (from arkindex-cli)
Downloading zstandard-0.23.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (3.0 kB)
Collecting peewee==3.17.0 (from arkindex-export==0.2.0->arkindex-cli)
Downloading peewee-3.17.0.tar.gz (2.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.9/2.9 MB 42.4 MB/s 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: certifi in ./.pyenv/versions/3.13.5/lib/python3.13/site-packages (from minio==7.2.7->arkindex-cli) (2025.6.15)
Requirement already satisfied: urllib3 in ./.pyenv/versions/3.13.5/lib/python3.13/site-packages (from minio==7.2.7->arkindex-cli) (2.5.0)
Collecting argon2-cffi (from minio==7.2.7->arkindex-cli)
Using cached argon2_cffi-25.1.0-py3-none-any.whl.metadata (4.1 kB)
Collecting pycryptodome (from minio==7.2.7->arkindex-cli)
Downloading pycryptodome-3.23.0-cp37-abi3-macosx_10_9_universal2.whl.metadata (3.4 kB)
Collecting typing-extensions (from minio==7.2.7->arkindex-cli)
Using cached typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)
Requirement already satisfied: six>=1.5 in ./.pyenv/versions/3.13.5/lib/python3.13/site-packages (from python-dateutil==2.9.0.post0->arkindex-cli) (1.17.0)
Collecting lxml>=3.1.0 (from python-docx==1.1.2->arkindex-cli)
Downloading lxml-6.0.2-cp313-cp313-macosx_10_13_universal2.whl.metadata (3.6 kB)
Collecting markdown-it-py>=2.2.0 (from rich==13.7.1->arkindex-cli)
Downloading markdown_it_py-4.0.0-py3-none-any.whl.metadata (7.3 kB)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in ./.pyenv/versions/3.13.5/lib/python3.13/site-packages (from rich==13.7.1->arkindex-cli) (2.19.2)
Collecting arkindex-client==1.1.5 (from teklia-toolbox==0.1.11->arkindex-cli)
Downloading arkindex_client-1.1.5-py3-none-any.whl.metadata (1.1 kB)
Collecting lxml>=3.1.0 (from python-docx==1.1.2->arkindex-cli)
Downloading lxml-5.2.1.tar.gz (3.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.7/3.7 MB 32.9 MB/s 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
s Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: PyYAML>=5.4.1 in ./.pyenv/versions/3.13.5/lib/python3.13/site-packages (from teklia-toolbox==0.1.11->arkindex-cli) (6.0.2)
Requirement already satisfied: requests>=2.30 in ./.pyenv/versions/3.13.5/lib/python3.13/site-packages (from arkindex-client==1.1.5->teklia-toolbox==0.1.11->arkindex-cli) (2.32.4)
Collecting tenacity>=9.1.0 (from arkindex-client==1.1.5->teklia-toolbox==0.1.11->arkindex-cli)
Downloading tenacity-9.1.2-py3-none-any.whl.metadata (1.2 kB)
Collecting typesystem==0.4.1 (from arkindex-client==1.1.5->teklia-toolbox==0.1.11->arkindex-cli)
Downloading typesystem-0.4.1-py3-none-any.whl.metadata (778 bytes)
Collecting yamale==6.0.0 (from teklia-worker-configuration==0.1.0->arkindex-cli)
Downloading yamale-6.0.0-py3-none-any.whl.metadata (22 kB)
Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich==13.7.1->arkindex-cli)
Using cached mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)
Requirement already satisfied: charset_normalizer<4,>=2 in ./.pyenv/versions/3.13.5/lib/python3.13/site-packages (from requests>=2.30->arkindex-client==1.1.5->teklia-toolbox==0.1.11->arkindex-cli) (3.4.2)
Requirement already satisfied: idna<4,>=2.5 in ./.pyenv/versions/3.13.5/lib/python3.13/site-packages (from requests>=2.30->arkindex-client==1.1.5->teklia-toolbox==0.1.11->arkindex-cli) (3.10)
Collecting argon2-cffi-bindings (from argon2-cffi->minio==7.2.7->arkindex-cli)
Using cached argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_11_0_arm64.whl.metadata (7.4 kB)
Collecting cffi>=1.0.1 (from argon2-cffi-bindings->argon2-cffi->minio==7.2.7->arkindex-cli)
Using cached cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (2.6 kB)
Collecting pycparser (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->minio==7.2.7->arkindex-cli)
Using cached pycparser-2.23-py3-none-any.whl.metadata (993 bytes)
Downloading arkindex_cli-0.4.10-py3-none-any.whl (133 kB)
Downloading arkindex_export-0.2.0-py3-none-any.whl (16 kB)
Downloading minio-7.2.7-py3-none-any.whl (93 kB)
Downloading python_docx-1.1.2-py3-none-any.whl (244 kB)
Downloading python_gnupg-0.5.4-py2.py3-none-any.whl (21 kB)
Downloading python_magic-0.4.27-py2.py3-none-any.whl (13 kB)
Downloading rich-13.7.1-py3-none-any.whl (240 kB)
Downloading teklia_toolbox-0.1.11-py3-none-any.whl (12 kB)
Downloading arkindex_client-1.1.5-py3-none-any.whl (32 kB)
Downloading teklia_worker_configuration-0.1.0-py3-none-any.whl (12 kB)
Downloading typesystem-0.4.1-py3-none-any.whl (28 kB)
Downloading yamale-6.0.0-py3-none-any.whl (57 kB)
Downloading zstandard-0.23.0-cp313-cp313-macosx_11_0_arm64.whl (633 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 633.4/633.4 kB 17.0 MB/s 0:00:00
Downloading markdown_it_py-4.0.0-py3-none-any.whl (87 kB)
Using cached mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Downloading tenacity-9.1.2-py3-none-any.whl (28 kB)
Using cached typing_extensions-4.15.0-py3-none-any.whl (44 kB)
Using cached argon2_cffi-25.1.0-py3-none-any.whl (14 kB)
Using cached argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_11_0_arm64.whl (31 kB)
Using cached cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl (181 kB)
Using cached pycparser-2.23-py3-none-any.whl (118 kB)
Downloading pycryptodome-3.23.0-cp37-abi3-macosx_10_9_universal2.whl (2.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.5/2.5 MB 13.6 MB/s 0:00:00
Building wheels for collected packages: peewee, lxml
Building wheel for peewee (pyproject.toml) ... done
Created wheel for peewee: filename=peewee-3.17.0-py3-none-any.whl size=135807 sha256=9d980bd69ceb0efc581e9f1ef525632b8c12efb92b287c4d5f9fe189e6bda317
Stored in directory: /Users/floswald/Library/Caches/pip/wheels/36/e0/cf/19a6133187b80ef6d769978c73839e185187d71308e666aa1a
Building wheel for lxml (pyproject.toml) ... done
Created wheel for lxml: filename=lxml-5.2.1-cp313-cp313-macosx_15_0_arm64.whl size=1606956 sha256=50b217defb50632967ae6a57bc972d00fd3c9e1244101c26c31e4f38d4dbd1bc
Stored in directory: /Users/floswald/Library/Caches/pip/wheels/ba/71/28/221adfc46c748ecf1b37ec752a615f1044e00f28a1e3a7b009
Successfully built peewee lxml
Installing collected packages: python-gnupg, peewee, zstandard, yamale, typing-extensions, typesystem, tenacity, python-magic, pycryptodome, pycparser, mdurl, lxml, arkindex-export, teklia-worker-configuration, python-docx, markdown-it-py, cffi, arkindex-client, teklia-toolbox, rich, argon2-cffi-bindings, argon2-cffi, minio, arkindex-cli
Successfully installed argon2-cffi-25.1.0 argon2-cffi-bindings-25.1.0 arkindex-cli-0.4.10 arkindex-client-1.1.5 arkindex-export-0.2.0 cffi-2.0.0 lxml-5.2.1 markdown-it-py-4.0.0 mdurl-0.1.2 minio-7.2.7 peewee-3.17.0 pycparser-2.23 pycryptodome-3.23.0 python-docx-1.1.2 python-gnupg-0.5.4 python-magic-0.4.27 rich-13.7.1 teklia-toolbox-0.1.11 teklia-worker-configuration-0.1.0 tenacity-9.1.2 typesystem-0.4.1 typing-extensions-4.15.0 yamale-6.0.0 zstandard-0.23.0
floswald@PTL11077 ~> arkindex login
╭───────────────────── Traceback (most recent call last) ──────────────────────╮
│ /Users/floswald/.pyenv/versions/3.13.5/bin/arkindex:3 in <module> │
│ │
│ 1 #!/Users/floswald/.pyenv/versions/3.13.5/bin/python3.13 │
│ 2 import sys │
│ ❱ 3 from arkindex_cli.cli import main │
│ 4 if __name__ == '__main__': │
│ 5 │ if sys.argv[0].endswith('.exe'): │
│ 6 │ │ sys.argv[0] = sys.argv[0][:-4] │
│ │
│ /Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/arkindex │
│ _cli/cli.py:14 in <module> │
│ │
│ 11 from arkindex_cli.commands.models import add_models_parser │
│ 12 from arkindex_cli.commands.secrets import add_secrets_parser │
│ 13 from arkindex_cli.commands.selection import add_selection_parser │
│ ❱ 14 from arkindex_cli.commands.upload import add_upload_parser │
│ 15 from arkindex_cli.commands.worker import add_worker_parser │
│ 16 │
│ 17 │
│ │
│ /Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/arkindex │
│ _cli/commands/upload/__init__.py:2 in <module> │
│ │
│ 1 from arkindex_cli.commands.upload.alto import add_alto_parser │
│ ❱ 2 from arkindex_cli.commands.upload.data_file import add_data_file_parser │
│ 3 from arkindex_cli.commands.upload.iiif import add_iiif_parser │
│ 4 from arkindex_cli.commands.upload.mets import add_mets_parser │
│ 5 from arkindex_cli.commands.upload.minio_client import add_minio_client_ │
│ │
│ /Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/arkindex │
│ _cli/commands/upload/data_file.py:7 in <module> │
│ │
│ 4 │
│ 5 from rich.progress import Progress │
│ 6 │
│ ❱ 7 import magic │
│ 8 from arkindex_cli.auth import Profiles │
│ 9 from arkindex_cli.uploads import MultipartUpload │
│ 10 │
│ │
│ /Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/magic/__ │
│ init__.py:209 in <module> │
│ │
│ 206 │ return m.from_descriptor(fd) │
│ 207 │
│ 208 from . import loader │
│ ❱ 209 libmagic = loader.load_lib() │
│ 210 │
│ 211 magic_t = ctypes.c_void_p │
│ 212 │
│ │
│ /Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/magic/lo │
│ ader.py:49 in load_lib │
│ │
│ 46 │ pass │
│ 47 else: │
│ 48 │ # It is better to raise an ImportError since we are importing magic │
│ ❱ 49 │ raise ImportError('failed to find libmagic. Check your installatio │
│ 50 │
│ 51 │
╰──────────────────────────────────────────────────────────────────────────────╯
ImportError: failed to find libmagic. Check your installation
floswald@PTL11077 ~ [1]> pip install libmagiv
ERROR: Could not find a version that satisfies the requirement libmagiv (from versions: none)
ERROR: No matching distribution found for libmagiv
floswald@PTL11077 ~ [1]> pip install libmagic
Collecting libmagic
Downloading libmagic-1.0.tar.gz (3.7 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: libmagic
Building wheel for libmagic (pyproject.toml) ... done
Created wheel for libmagic: filename=libmagic-1.0-py3-none-any.whl size=4311 sha256=e71a18a50939b112b4c2d97b764c6278f2c742767e9a18c666a5074a8d1dc9dc
Stored in directory: /Users/floswald/Library/Caches/pip/wheels/dd/06/e7/972d8dfb613a9a618e0c2314d63c1b625a51cdb7af785811dd
Successfully built libmagic
Installing collected packages: libmagic
Successfully installed libmagic-1.0
floswald@PTL11077 ~> arkindex login
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /Users/floswald/.pyenv/versions/3.13.5/bin/arkindex:3 in <module> │
│ │
│ 1 #!/Users/floswald/.pyenv/versions/3.13.5/bin/python3.13 │
│ 2 import sys │
│ ❱ 3 from arkindex_cli.cli import main │
│ 4 if __name__ == '__main__': │
│ 5 │ if sys.argv[0].endswith('.exe'): │
│ 6 │ │ sys.argv[0] = sys.argv[0][:-4] │
│ │
│ /Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/arkindex_cli/cli.py:14 in │
│ <module> │
│ │
│ 11 from arkindex_cli.commands.models import add_models_parser │
│ 12 from arkindex_cli.commands.secrets import add_secrets_parser │
│ 13 from arkindex_cli.commands.selection import add_selection_parser │
│ ❱ 14 from arkindex_cli.commands.upload import add_upload_parser │
│ 15 from arkindex_cli.commands.worker import add_worker_parser │
│ 16 │
│ 17 │
│ │
│ /Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/arkindex_cli/commands/upload │
│ /__init__.py:2 in <module> │
│ │
│ 1 from arkindex_cli.commands.upload.alto import add_alto_parser │
│ ❱ 2 from arkindex_cli.commands.upload.data_file import add_data_file_parser │
│ 3 from arkindex_cli.commands.upload.iiif import add_iiif_parser │
│ 4 from arkindex_cli.commands.upload.mets import add_mets_parser │
│ 5 from arkindex_cli.commands.upload.minio_client import add_minio_client_parser │
│ │
│ /Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/arkindex_cli/commands/upload │
│ /data_file.py:7 in <module> │
│ │
│ 4 │
│ 5 from rich.progress import Progress │
│ 6 │
│ ❱ 7 import magic │
│ 8 from arkindex_cli.auth import Profiles │
│ 9 from arkindex_cli.uploads import MultipartUpload │
│ 10 │
│ │
│ /Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/magic/__init__.py:209 in │
│ <module> │
│ │
│ 206 │ return m.from_descriptor(fd) │
│ 207 │
│ 208 from . import loader │
│ ❱ 209 libmagic = loader.load_lib() │
│ 210 │
│ 211 magic_t = ctypes.c_void_p │
│ 212 │
│ │
│ /Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/magic/loader.py:49 in │
│ load_lib │
│ │
│ 46 │ pass │
│ 47 else: │
│ 48 │ # It is better to raise an ImportError since we are importing magic module │
│ ❱ 49 │ raise ImportError('failed to find libmagic. Check your installation') │
│ 50 │
│ 51 │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
ImportError: failed to find libmagic. Check your installation
floswald@PTL11077 ~ [1]> pip uninstall python-magic
Found existing installation: python-magic 0.4.27
Uninstalling python-magic-0.4.27:
Would remove:
/Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/magic/*
/Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/python_magic-0.4.27.dist-info/*
Proceed (Y/n)? Y
Successfully uninstalled python-magic-0.4.27
floswald@PTL11077 ~ [1]> pip install python-magic
Collecting python-magic
Using cached python_magic-0.4.27-py2.py3-none-any.whl.metadata (5.8 kB)
Using cached python_magic-0.4.27-py2.py3-none-any.whl (13 kB)
Installing collected packages: python-magic
Successfully installed python-magic-0.4.27
floswald@PTL11077 ~> arkindex login
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /Users/floswald/.pyenv/versions/3.13.5/bin/arkindex:3 in <module> │
│ │
│ 1 #!/Users/floswald/.pyenv/versions/3.13.5/bin/python3.13 │
│ 2 import sys │
│ ❱ 3 from arkindex_cli.cli import main │
│ 4 if __name__ == '__main__': │
│ 5 │ if sys.argv[0].endswith('.exe'): │
│ 6 │ │ sys.argv[0] = sys.argv[0][:-4] │
│ │
│ /Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/arkindex_cli/cli.py:14 in │
│ <module> │
│ │
│ 11 from arkindex_cli.commands.models import add_models_parser │
│ 12 from arkindex_cli.commands.secrets import add_secrets_parser │
│ 13 from arkindex_cli.commands.selection import add_selection_parser │
│ ❱ 14 from arkindex_cli.commands.upload import add_upload_parser │
│ 15 from arkindex_cli.commands.worker import add_worker_parser │
│ 16 │
│ 17 │
│ │
│ /Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/arkindex_cli/commands/upload │
│ /__init__.py:2 in <module> │
│ │
│ 1 from arkindex_cli.commands.upload.alto import add_alto_parser │
│ ❱ 2 from arkindex_cli.commands.upload.data_file import add_data_file_parser │
│ 3 from arkindex_cli.commands.upload.iiif import add_iiif_parser │
│ 4 from arkindex_cli.commands.upload.mets import add_mets_parser │
│ 5 from arkindex_cli.commands.upload.minio_client import add_minio_client_parser │
│ │
│ /Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/arkindex_cli/commands/upload │
│ /data_file.py:7 in <module> │
│ │
│ 4 │
│ 5 from rich.progress import Progress │
│ 6 │
│ ❱ 7 import magic │
│ 8 from arkindex_cli.auth import Profiles │
│ 9 from arkindex_cli.uploads import MultipartUpload │
│ 10 │
│ │
│ /Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/magic/__init__.py:209 in │
│ <module> │
│ │
│ 206 │ return m.from_descriptor(fd) │
│ 207 │
│ 208 from . import loader │
│ ❱ 209 libmagic = loader.load_lib() │
│ 210 │
│ 211 magic_t = ctypes.c_void_p │
│ 212 │
│ │
│ /Users/floswald/.pyenv/versions/3.13.5/lib/python3.13/site-packages/magic/loader.py:49 in │
│ load_lib │
│ │
│ 46 │ pass │
│ 47 else: │
│ 48 │ # It is better to raise an ImportError since we are importing magic module │
│ ❱ 49 │ raise ImportError('failed to find libmagic. Check your installation') │
│ 50 │
│ 51 │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
ImportError: failed to find libmagic. Check your installation