Skip to content

Use __version__ instead of version() in python #922

Merged
SimonRit merged 2 commits intoRTKConsortium:mainfrom
axel-grc:version
Mar 31, 2026
Merged

Use __version__ instead of version() in python #922
SimonRit merged 2 commits intoRTKConsortium:mainfrom
axel-grc:version

Conversation

@axel-grc
Copy link
Copy Markdown
Collaborator

No description provided.

@SimonRit
Copy link
Copy Markdown
Collaborator

That does not seem to work, I installed a generated package in a new conda env and get

(test) srit@srit-Precision-5480:~$ python
Python 3.11.15 | packaged by conda-forge | (main, Mar  5 2026, 16:45:40) [GCC 14.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import itk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/srit/miniconda3/envs/test/lib/python3.11/site-packages/itk/__init__.py", line 162, in <module>
    _initialize_module()
  File "/home/srit/miniconda3/envs/test/lib/python3.11/site-packages/itk/__init__.py", line 157, in _initialize_module
    spec.loader.exec_module(loaded_module)
  File "/home/srit/miniconda3/envs/test/lib/python3.11/site-packages/itk/__init_rtk__.py", line 19, in <module>
    mod = importlib.import_module(mod_name)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/srit/miniconda3/envs/test/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'itk.rtkversion'

@axel-grc
Copy link
Copy Markdown
Collaborator Author

That does not seem to work, I installed a generated package in a new conda env and get

(test) srit@srit-Precision-5480:~$ python
Python 3.11.15 | packaged by conda-forge | (main, Mar  5 2026, 16:45:40) [GCC 14.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import itk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/srit/miniconda3/envs/test/lib/python3.11/site-packages/itk/__init__.py", line 162, in <module>
    _initialize_module()
  File "/home/srit/miniconda3/envs/test/lib/python3.11/site-packages/itk/__init__.py", line 157, in _initialize_module
    spec.loader.exec_module(loaded_module)
  File "/home/srit/miniconda3/envs/test/lib/python3.11/site-packages/itk/__init_rtk__.py", line 19, in <module>
    mod = importlib.import_module(mod_name)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/srit/miniconda3/envs/test/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'itk.rtkversion'

Yes, I forgot to change how the applications handle the version

@SimonRit
Copy link
Copy Markdown
Collaborator

Not there yet

>>> import itk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/srit/miniconda3/envs/test/lib/python3.11/site-packages/itk/__init__.py", line 162, in <module>
    _initialize_module()
  File "/home/srit/miniconda3/envs/test/lib/python3.11/site-packages/itk/__init__.py", line 157, in _initialize_module
    spec.loader.exec_module(loaded_module)
  File "/home/srit/miniconda3/envs/test/lib/python3.11/site-packages/itk/__init_rtk__.py", line 65, in <module>
    setattr(rtk_module, app_name, make_application_func(app_name))
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/srit/miniconda3/envs/test/lib/python3.11/site-packages/itk/rtkExtras.py", line 76, in make_application_func
    _parser = importlib.import_module(f"itk.{app_name}").build_parser()
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/srit/miniconda3/envs/test/lib/python3.11/site-packages/itk/rtkadmmtotalvariation.py", line 10, in build_parser
    parser = rtk.RTKArgumentParser(
             ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/srit/miniconda3/envs/test/lib/python3.11/site-packages/itk/rtkargumentparser.py", line 25, in __init__
    self.add_argument("-V", "--version", action="version", version=rtk.version())
                                                                   ^^^^^^^^^^^
  File "/home/srit/miniconda3/envs/test/lib/python3.11/site-packages/itk/support/lazy.py", line 131, in __getattribute__
    value = types.ModuleType.__getattribute__(self, attr)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'RTK' has no attribute 'version'

@axel-grc axel-grc force-pushed the version branch 2 times, most recently from d69040a to 886a2fb Compare March 30, 2026 12:43
@SimonRit
Copy link
Copy Markdown
Collaborator

Thanks, works on my linux box. Can you test on Windows before merging please?

@SimonRit
Copy link
Copy Markdown
Collaborator

Missing note in the v3 backward incompatibilities doc file.

@axel-grc
Copy link
Copy Markdown
Collaborator Author

Thanks, works on my linux box. Can you test on Windows before merging please?

Thanks, works on my linux box. Can you test on Windows before merging please?

I tried on windows and it works

itk.RTK.__version__ is now used to get the version instead of itk.RTK.version()
Copy link
Copy Markdown
Collaborator

@SimonRit SimonRit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@SimonRit SimonRit merged commit 394d8a6 into RTKConsortium:main Mar 31, 2026
14 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants