Releases: ComPWA/qrules
QRules 0.10.4
See all documentation for this version here.
✨ New features
- Implemented filter for quantum problem sets (#287)
⚠️ Enhancements and optimizations
- Spin values are now encoded with
Fraction
(#288) FrozenDict
is now implemented withfrozendict
for stable hashing (#310)qn_domains
-keys in Node/EdgeSettings are now typed (#292)
🐛 Bug fixes
- Added support for
QNProblemSet
inasdot()
(#313)
🖱️ Developer Experience
- The developer environment is now installed through
uv
(#289) - Developer dependencies are now installed as dependency groups (#299)
The full changelog as commits can be found here.
QRules 0.10.3
See all documentation for this version here.
⚠️ Enhancements and optimizations
- Switch back to
python-constraint
instead ofpython-constraint2
(#295) - Support custom properties in
collapse_graphs=True
(#274)
⚠️ API changes
- Switch to Apache license (#271)
📝 Documentation
- Render jpc-numbers in documentation (#274)
The full changelog as commits can be found here.
QRules 0.10.2
See all documentation for this version here.
⚠️ API changes
- Drop support for Python 3.6 (#250)
- URLs of the API page (qrules.rtfd.io) now end in
.html
again (#267)
⚠️ Enhancements and optimizations
- Postpone annotation evaluations (#251)
- Specify allowed formalisms with
Literal
(#253) - Make
Parity.value
of typeLiteral[-1, 1]
(#263) - Add
Path
to allowedload()
arguments (#264) - Upgrade to
python-constraint2
(#268)
🐛 Bug fixes
- Print top number in Gell-Mann-Nishijima error (#262)
🔨 Maintenance
🖱️ Developer Experience
- Configure project with
pyproject.toml
only and removesetup.cfg
(#250) - Remove JSON schema for Read the Docs (#259)
The full changelog as commits can be found here.
QRules 0.10.1
See all documentation for this version here.
⚠️ Enhancements and optimizations
- Warn on violated rules instead of raising exceptions (#224)
- Remove topology edge number check (#249)
🐛 Bug fixes
- Show only selected rules in DOT rendering (#225)
📝 Documentation
- Switch to Ruff as linter (#222)
- Illustrate use of
interaction_determinators
(#226) - Add
CITATION.cff
(#228) - Update links to compwa.github.io (#244)
- Remove
.html
from page URLs (#245) - Switch to source code link button (#246)
🔨 Maintenance
- Test QRules on Python 3.12 (#235)
🖱️ Developer Experience
- Enable language navigation on Jupyter Lab (#229)
- Remove
figure_formats = ["svg"]
statement (#237) - Install Ruff and Git in Jupyter Lab (#238)
- Define
docnblive
job intox.ini
(#240) - Switch to Ruff formatter (#248)
The full changelog as commits can be found here.
QRules 0.10.0
See all documentation for this version here.
⚠️ Interface
- The
StateTransitionCollection
class has been removed (#155) StateTransitionGraph
and related classes have been generalised toMutableTransition
(#156)
✨ New features
- Quantum number solutions can now be inspected separately (#168)
⚠️ Enhancements and optimizations
- The
qrules.io._dot
module has been redesigned in an open-closed style to make it easier to extend (#157)
🐛 Bug fixes
- Permutate topology edges, not property mappings (#218)
The full changelog as commits can be found here.
QRules 0.9.8
See all documentation for this version here.
✨ New features
⚠️ Enhancements and optimizations
- Finegrain logging levels (#215)
🐛 Bug fixes
- Define execution_info outside conditionals (#162)
- Improve documentation sidebar (#209)
- Handle
None
parity inparity_conservation
(#211) - Modify
isospin
increate_particle()
(#216) - Add test for ψ(2S) → η K⁻ K*(892)⁺ (#166)
- Permutate topology edges, not property mappings (#217)
📝 Documentation
- Switch to
sphinx-design
(#189) - Update Zenodo author list (#192)
- Improve documentation sidebar (#209)
🔨 Maintenance
🖱️ Developer Experience
- Remove theme option theme_dev_mode (#167)
- Pin all dependencies on Read the Docs (#172)
- Build documentation with make (#178)
- Implement GitHub Actions caching (#201)
- Outsource GitHub workflows to ComPWA/actions (#205)
- Colorize
sphinx-build
output (#208)
The full changelog as commits can be found here.
QRules 0.10.0a1
See all documentation for this version here.
⚠️ Interface
- Removed
StateTransitionCollection
(#155) - Generalized
StateTransitionGraph
to aMutableTransition
class (#156)
🐛 Bug fixes
execution_info
is now defined outside conditionals (#162)
🔨 Internal maintenance
io.asdot()
function now has an open-closed design (#157)
🖱️ Developer Experience
- Removed Sphinx HTML theme option
theme_dev_mode
(#167)
QRules 0.9.7
See all documentation for this version here.
🐛 Bug fixes
ReactionInfo is now hashable (#151)
This is particularly useful for functools.lru_cache()
.
🔨 Internal maintenance
Switched to the new attrs API (#152)
See import attrs
and attrs
TNG.
@implement_pretty_repr() decorator is now @implement_pretty_repr (#154)
The implement_pretty_repr()
decorator does not take any arguments, so one level can be removed. This changes it's usage from:
@implement_pretty_repr() # old
@attrs.define
class SomeClass:
...
to
@implement_pretty_repr # <-- new
@attrs.define
class SomeClass:
...
📝 Documentation
Type hints are abbreviated where possible (#154)
Type hints are abbreviated with autodoc_typehints_format
. But note that this does not yet work perfectly because of QRules' custom reference relinking.
API is now sorted by position in the source code (#154)
API is now sorted by position in the source code, not alphabetically.
Left sidebar is unfolded unto the second level (#148)
Also unfolds the left sidebar unto the second level, like in ComPWA/ampform#221 and ComPWA/tensorwaves#407. Preview here.
Added Hypothesis and utterances overlay to allow commenting on the documentation (#149)
Closes ComPWA/compwa.github.io#109
Explained how to pin dependencies with Conda (#150)
Preview here. See also ComPWA/tensorwaves#411.
🖱️ Developer Experience
Upgrade cron job are now on even weeks only (#148 and #153)
See ComPWA/policy#48
QRules 0.9.6
Release 0.9.6
See all documentation for this version here.
💡 New features
Topology is now ordered (#137)
This can be used to create a unique, deterministic ordered list of Topology
instances. See ComPWA/ampform#6, where one needs a unique way of picking a reference topology.
Implemented Topology.relabel_edges() method (#138)
See how to use this method to permutate final state IDs in a Topology
case here.
qrules.io.asdot() function now accepts Graphviz attributes (#139)
Accept Graphviz attributes in qrules.io.asdot()
, so that the edges, nodes and overall DOT visualization of StateTransition
s etc. can be styled. See here how to use.
Number of threads can now be set globally (#140)
Added a new class NumberOfThreads
under the settings
module that makes it possible to set the number of threads globally. This is mainly useful in the tests, where we want to run the StateTransitionManager
single-threaded for test coverage (#11). Previously this was done by setting number_of_threads=1
in each test.
🐛 Bug fixes
Final state IDs in all StateTransitions match the order of the final_state argument in generate_transitions() (#145)
Closes #143
Compare this visualization in v0.9.5 with the one for this PR.
- 10379d2 adds a test that fails the check described in #143
- 2e91cb4 fixes that test
📝 Documentation
Default graphviz background is now transparent (#141)
Follow-up to #139. Consequence is that exported PNG and SVG files have no background. Preview here.
Get old behaviour with qrules.io.asdot(..., bgcolor="white")
.
Code examples are automatically linked to reference documentation (#147)
All code examples are now clickable with links to corresponding reference documentation (also external links APIs) with sphinx-codeautolink
. Closes ComPWA/compwa.github.io#106
🖱️ Developer Experience
Changed upgrade cron job to bi-weekly (#135)
Installed jupyterlab-myst for MyST editing (#147)
Installed jupyterlab-myst
Updated black formatting style (#147)
Updated to the first non-beta black release 22.1.0. Most important style effect: no space around power operator **
.
QRules 0.9.5
Release 0.9.5
See all documentation for this version here.
💡 New features
qrules.io.asdot() can now use with both render_node=True with strip_spin=True (#126)
This PR makes it possible to render StateTransition
s with their node properties (render_node=True
) and stripped spin projections. This is required for #124.
🔨 Internal maintenance
Importing qrules is now about 4x faster (#130)
See also ComPWA/tensorwaves#363
📝 Documentation
Links to Binder/Colab point to branch matching the version of the documentation (#121)
- docs: pin more intersphinx pages
- docs: remove tensorwaves from intersphinx mapping
- fix: exclude version 'module' from API
- refactor: get intersphinx version through function
- style: capitalize conf.py global vars that are no Sphinx options
- style: sort Sphinx options
LS-coupling is now illustrated in notebook (#124)
🖱️ Developer Experience
Run all notebooks with pytest (#129)
Run with tox -e nb
or pytest --nbmake *.ipynb
.
Upgrade to attrs new generation API (#129)
See ComPWA/compwa.github.io#90
This also allows upgrading to attrs
v21.1, which has better support for pyright
https://www.attrs.org/en/stable/types.html#pyright