Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename imaspy to imas #6

Open
wants to merge 56 commits into
base: develop
Choose a base branch
from

Conversation

prasad-sawantdesai
Copy link

renamed imaspy->imas
package name : imas-python
updated documentation
updated links which were pointing to git.iter.org
branch is tested on bamboo https://ci.iter.org/browse/IC-IG-19
pytest and documentation tested

Copy link
Collaborator

@maarten-ic maarten-ic left a comment

Choose a reason for hiding this comment

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

Hi Prasad,

That must have been quite some work! I've had a quick look at the changes, and overall it looks good. There are a couple of things that we should think about a bit better, summarized below:

  1. IMASPy had some logic and content related to the legacy imas interface. Mainly in the benchmarking, tests and training material. IMO this logic and content should be removed. For one, it is technically impossible to have both the legacy and imaspy interfaces loaded after this change (since both will use the imas package name). And second, it will confuse newcomers that don't have access to the legacy interface.

    I'd suggest to review all files that come up with the following command (on the current develop branch):

    imas-python$ git grep -P '(\W|^)imas(\W|$)'
  2. Should we actually rename the python module imaspy->imas? The API is not 100% compatible with the legacy imas interface (and will never be). If we rename imaspy->imas, the transition for existing codes will probably be more painful than when another module name is used:

    • Existing code will most likely break because the API is not compatible.
    • There is no way to have the legacy and the new interface available at the same time (since both need to be imported with import imas). If you have a workflow with multiple IMAS-ified python components, you need to upgrade everything at the same time, instead of allowing a gradual transition where components are updated one-by-one.

I'm happy to have a (short) discussion about this if needed. Note that I will be over at IO in two weeks, so we could do it then if there's no hurry :)

Cheers,
Maarten

README.md Outdated
@@ -11,7 +11,7 @@ Data Model.
Install steps are described in the documentation generated from `/docs/source/installing.rst`.

Documentation is autogenerated from the source using [Sphinx](http://sphinx-doc.org/)
and can be found at the [ITER sharepoint](https://sharepoint.iter.org/departments/POP/CM/IMDesign/Code%20Documentation/IMASPy-doc/index.html)
and can be found at the [ITER sharepoint](https://sharepoint.iter.org/departments/POP/CM/IMDesign/Code%20Documentation/imas-python-doc/index.html)
Copy link
Collaborator

Choose a reason for hiding this comment

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

This link doesn't work

======== ============
Here we see the benchmark ``core_profiles.Generate.time_create_core_profiles`` was
repeated for multiple values of ``hli``: once for the ``imas`` HLI, and once for the
``imaspy`` HLI.
``imas`` HLI.
Copy link
Collaborator

Choose a reason for hiding this comment

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

This should be reviewed in more detail. Having the ASV benchmarks compare against the legacy imas interface doesn't make sense when renaming this package to imas.

@olivhoenen
Copy link
Collaborator

Hi Prasad,

That must have been quite some work! I've had a quick look at the changes, and overall it looks good. There are a couple of things that we should think about a bit better, summarized below:

  1. IMASPy had some logic and content related to the legacy imas interface. Mainly in the benchmarking, tests and training material. IMO this logic and content should be removed. For one, it is technically impossible to have both the legacy and imaspy interfaces loaded after this change (since both will use the imas package name). And second, it will confuse newcomers that don't have access to the legacy interface.
    I'd suggest to review all files that come up with the following command (on the current develop branch):
    imas-python$ git grep -P '(\W|^)imas(\W|$)'

Agree on the cleaning/removing of all AL legacy mentions.

  1. Should we actually rename the python module imaspy->imas? The API is not 100% compatible with the legacy imas interface (and will never be). If we rename imaspy->imas, the transition for existing codes will probably be more painful than when another module name is used:

    • Existing code will most likely break because the API is not compatible.
    • There is no way to have the legacy and the new interface available at the same time (since both need to be imported with import imas). If you have a workflow with multiple IMAS-ified python components, you need to upgrade everything at the same time, instead of allowing a gradual transition where components are updated one-by-one.

In terms of work needed in applications, keeping imaspy, moving to imas or inventing a third option won't change what needs to be done, except in the import lines. So let's use the package name that makes more sense, which is imas, and let's make sure we indicate the needed API change with the correct major release version.

I'm happy to have a (short) discussion about this if needed. Note that I will be over at IO in two weeks, so we could do it then if there's no hurry :)

Cheers, Maarten

.gitignore Outdated Show resolved Hide resolved
benchmarks/utils.py Outdated Show resolved Hide resolved
docs/source/changelog.rst Outdated Show resolved Hide resolved
docs/source/ci_config.rst Outdated Show resolved Hide resolved
docs/source/ci_config.rst Show resolved Hide resolved
docs/source/configuring.rst Outdated Show resolved Hide resolved
docs/source/courses/basic/explore.rst Outdated Show resolved Hide resolved
docs/source/courses/basic_user_training.rst Outdated Show resolved Hide resolved
docs/source/imas_architecture.rst Outdated Show resolved Hide resolved
docs/source/imas_architecture.rst Outdated Show resolved Hide resolved
imas/setup_logging.py Outdated Show resolved Hide resolved
Copy link
Collaborator

@olivhoenen olivhoenen left a comment

Choose a reason for hiding this comment

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

LGTM

@olivhoenen olivhoenen linked an issue Jan 21, 2025 that may be closed by this pull request
@olivhoenen olivhoenen force-pushed the rename-imaspy-to-imas branch from b2a398a to d7c6c5d Compare January 21, 2025 13:43
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.

Improve dd_helpers.py to avoid relying on Saxon JAR Update PyPi
5 participants