aim icon indicating copy to clipboard operation
aim copied to clipboard

aim fails to run on Python 3.13

Open amanjitsk opened this issue 4 months ago • 4 comments

🐛 Bug

Using uv to install aim as of now using uv pip install aim (uv add does not work; see related issues about that on Python 3.13. But when I do try to run it, it fails.

To reproduce

uv run aim --help, and see

>>> uv run aim --version
Traceback (most recent call last):
  File "/fs1/home/amanjitsk/.venv/bin/aim", line 4, in <module>
    from aim.cli.cli import cli_entry_point
  File "/fs1/home/amanjitsk/.venv/lib/python3.13/site-packages/aim/__init__.py", line 1, in <module>
    from aim.sdk import *
  File "/fs1/home/amanjitsk/.venv/lib/python3.13/site-packages/aim/sdk/__init__.py", line 2, in <module>
    from aim.sdk.track import track, set_params
  File "/fs1/home/amanjitsk/.venv/lib/python3.13/site-packages/aim/sdk/track.py", line 3, in <module>
    from aim.sdk.utils import get_default_session
  File "/fs1/home/amanjitsk/.venv/lib/python3.13/site-packages/aim/sdk/utils.py", line 1, in <module>
    from aim.sdk.session import Session, DefaultSession
  File "/fs1/home/amanjitsk/.venv/lib/python3.13/site-packages/aim/sdk/session/__init__.py", line 1, in <module>
    from aim.sdk.session.session import Session, DefaultSession
  File "/fs1/home/amanjitsk/.venv/lib/python3.13/site-packages/aim/sdk/session/session.py", line 9, in <module>
    from aim.engine.repo import AimRepo
  File "/fs1/home/amanjitsk/.venv/lib/python3.13/site-packages/aim/engine/repo/__init__.py", line 1, in <module>
    from aim.engine.repo.repo import AimRepo
  File "/fs1/home/amanjitsk/.venv/lib/python3.13/site-packages/aim/engine/repo/repo.py", line 20, in <module>
    from aim.engine.repo.run import Run
  File "/fs1/home/amanjitsk/.venv/lib/python3.13/site-packages/aim/engine/repo/run.py", line 17, in <module>
    from aim.artifacts.metric import Metric as MetricArtifact
  File "/fs1/home/amanjitsk/.venv/lib/python3.13/site-packages/aim/artifacts/__init__.py", line 1, in <module>
    from aim.artifacts.map import *
  File "/fs1/home/amanjitsk/.venv/lib/python3.13/site-packages/aim/artifacts/map.py", line 5, in <module>
    from aim.artifacts.artifact import Artifact
  File "/fs1/home/amanjitsk/.venv/lib/python3.13/site-packages/aim/artifacts/artifact.py", line 7, in <module>
    from aim.artifacts.proto.base_pb2 import BaseRecord
  File "/fs1/home/amanjitsk/.venv/lib/python3.13/site-packages/aim/artifacts/proto/base_pb2.py", line 35, in <module>
    _descriptor.FieldDescriptor(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
      name='step', full_name='artifacts.proto.BaseRecord.step', index=0,
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<3 lines>...
      is_extension=False, extension_scope=None,
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      options=None),
      ^^^^^^^^^^^^^
  File "/fs1/home/amanjitsk/.venv/lib/python3.13/site-packages/google/protobuf/descriptor.py", line 621, in __new__
    _message.Message._CheckCalledFromGeneratedFile()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
TypeError: Descriptors cannot be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

Expected behavior

Give me help on the aim command.

Environment

  • Aim Version (e.g., 3.0.1): 2.7.4
  • Python version: 3.13.5
  • pip version: 25.1.1
  • OS (e.g., Linux): Linux
  • Any other relevant information

Additional context

amanjitsk avatar Aug 27 '25 04:08 amanjitsk

Up, still waiting for 3.13

dSupertramp avatar Sep 26 '25 10:09 dSupertramp

Same. Could be blocked by https://github.com/aimhubio/aimrocks/issues/37 ?

gcr avatar Sep 30 '25 17:09 gcr

Any updates here? This is the single dependency we have that's preventing us from moving to python 3.13.

xinxnm avatar Oct 13 '25 10:10 xinxnm

Same problem here. Tried downgrading protobuf to no avail

Justin-Regef avatar Nov 17 '25 13:11 Justin-Regef