QRules 0.9.2
Release 0.9.2
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
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)
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.