Skip to content

QRules 0.9.2

Compare
Choose a tag to compare
@github-actions github-actions released this 24 Sep 11:46
· 148 commits to main since this release
61caefa

Release 0.9.2

Release for first Zenodo DOI
Zenodo DOI

See all documentation for this version here.

💡 New features

Added more pretty reprs through decorator (#85)

Following classes are now better represented in Jupyter noteboooks:

  • InitialFacts
  • InteractionProperties
  • EdgeSettings
  • NodeSettings
  • GraphSettings
  • GraphElementProperties
  • QNProblemSet
  • QuantumNumberSolution
  • QNResult
  • ExecutionInfo
ProblemSet can now be rendered as DOT (#86)

Closes #28

Allow setting custom topologies in STM (#103)

Closes #96

Made the StateTransitionManager.topologies attribute public, so that it's easier to feed custom topologies to the StateTransitionManager. Note that the topologies attribute is immutable and can only be modified by overwriting it, so I decided to avoid cluttering the code with additional setters and getters.

An example for 2-to-2 topologies (see also #29) is illustrated in a new notebook.

🐛 Bug fixes

Use functools.wraps in decorators (b988057)

Improves the docstrings of decorated functions.

📝 Documentation

Removed references to the expert system in the documentation (#104)

Links in the documentation were sometimes still pointing to the expertsystem website. Best avoided by keeping intersphinx_mapping as small as possible.

Added conservation rules page (#84)

Describe how to use the conservation_rules module separately.

A preview with cell output can be viewed here:
https://qrules.readthedocs.io/en/doc-conservation-rules/usage/conservation.html
(until this PR is closed).

Decreased code line width in notebooks (#88)

Input code cells that are too wide get a scroll bar. That's ok, but it looks just a bit better when you can see the entire code without scrolling.

Page content on the documentation is now wider (#98)

See ComPWA/ampform#104

Embedded GPLv3+ license file (#100)

Some platforms like Zenodo and conda-forge require the license file to be packaged.

Extended package description in README and removed tick-boxed (#101)

Removed the tick-boxes there, because they do not render correctly on PyPI.

Added package description for PyPI (#102)

Closes ComPWA/compwa.github.io#61

Automated changes by create-pull-request GitHub action

Removed references to the expert system in the documentation (#104)

Links in the documentation were sometimes still pointing to the expertsystem website. Best avoided by keeping intersphinx_mapping as small as possible.

Added a notebook that shows how to feed custom topologies to the StateTransitionManager (#103)

Closes #96

An example for 2-to-2 topologies (see also #29) is illustrated in a new notebook.

Switched to compwa-org web-page for contributing (#93)

🖱️ Developer Experience

Switched to pre-commit.ci where possible (#87)

pre-commit.ci is faster than GitHub Actions, so it would be better to switch to that. Another major advantage: it can auto-fix style problems.

The only problem is that hooks like pylint, mypy, and even flake8 require additional dependencies and we don't want to maintain a list of those in both setup.cfg (required for code editors that use those dependencies) as well as in .pre-commit-config.yaml. There are also hooks like pyright and editorconfig-checker that don't work well on pre-commit.ci.

This PR makes all hooks that don't require additional dependencies (like black and isort) 'non-local'. This also works better with source control in VSCode.
Caveat: pinned requirements might diverge from the versions of the hooks.

This PR is a bit experimental -- we'll have to see how well this works out before it is implemented in AmpForm etc.

Another potential problem is that (as far as I know), pre-commit.ci cannot switch off autoupdate (at most set to quarterly). It is (for now) better to upgrade the hooks along with the requirement pinning though.

🔨 Internal maintenance

Removed mdit-py-plugins version limit (#94)

See ComPWA/ampform#147