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

refactor!: generalize STG to MutableTransition #156

Merged
merged 34 commits into from
Feb 21, 2022

Conversation

redeboer
Copy link
Member

@redeboer redeboer commented Feb 21, 2022

All classes that map properties onto a Topology are now a Transition. A distinction is made between MutableTransition (for instance, the original StateTransitionGraph) and a FrozenTransition (hashable and ordered―the original StateTransition class).

New design can best be read about in the renewed API of the qrules.topology module.

@redeboer redeboer added the ⚠️ Interface Breaking changes to the API label Feb 21, 2022
@redeboer redeboer added this to the 0.10.0 milestone Feb 21, 2022
@redeboer redeboer self-assigned this Feb 21, 2022
@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@redeboer redeboer force-pushed the Transition branch 3 times, most recently from 9499fe3 to dfb288b Compare February 21, 2022 12:34
@redeboer
Copy link
Member Author

redeboer commented Feb 21, 2022

Apparently, Python 3.6 cannot work well with generic abstract base classes.
https://github.com/ComPWA/qrules/runs/5274281212
For now, however, 140843a offers a solution, but one of the drawbacks is that an alias like StateTransition does not render nicely with links to the generics.

Before 140843a:
image

After 140843a:
image

...this again indicates we should drop support for Python 3.6.

@redeboer redeboer changed the title refactor!: generalize StateTransitionGraph to MutableTransition refactor!: generalize STG to MutableTransition Feb 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⚠️ Interface Breaking changes to the API
Projects
Status: Upcoming
Development

Successfully merging this pull request may close these issues.

1 participant