Skip to content

Releases: ComPWA/qrules

QRules 0.10.4

20 Dec 11:27
a2bb359
Compare
Choose a tag to compare

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 with frozendict for stable hashing (#310)
  • qn_domains-keys in Node/EdgeSettings are now typed (#292)

🐛 Bug fixes

  • Added support for QNProblemSet in asdot() (#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

16 Oct 18:55
10e569e
Compare
Choose a tag to compare

See all documentation for this version here.

⚠️ Enhancements and optimizations

  • Switch back to python-constraint instead of python-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

20 May 15:32
6a3b0eb
Compare
Choose a tag to compare

See all documentation for this version here.

⚠️ API changes

⚠️ Enhancements and optimizations

  • Postpone annotation evaluations (#251)
  • Specify allowed formalisms with Literal (#253)
  • Make Parity.value of type Literal[-1, 1] (#263)
  • Add Path to allowed load() arguments (#264)
  • Upgrade to python-constraint2 (#268)

🐛 Bug fixes

  • Print top number in Gell-Mann-Nishijima error (#262)

🔨 Maintenance

  • Use absolute imports only (#252)
  • Remove TypeAlias (#254)

🖱️ Developer Experience

  • Configure project with pyproject.toml only and remove setup.cfg (#250)
  • Remove JSON schema for Read the Docs (#259)

The full changelog as commits can be found here.

QRules 0.10.1

01 Mar 16:13
44ba5d8
Compare
Choose a tag to compare

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 in tox.ini (#240)
  • Switch to Ruff formatter (#248)

The full changelog as commits can be found here.

QRules 0.10.0

13 Apr 16:59
5a3bf72
Compare
Choose a tag to compare

See all documentation for this version here.

⚠️ Interface

  • The StateTransitionCollection class has been removed (#155)
  • StateTransitionGraph and related classes have been generalised to MutableTransition (#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

13 Apr 16:37
7244d57
Compare
Choose a tag to compare

See all documentation for this version here.

✨ New features

  • Allow setting interactions per node (#210)
  • Select allowed resonances with regex (#212)

⚠️ Enhancements and optimizations

  • Finegrain logging levels (#215)

🐛 Bug fixes

  • Define execution_info outside conditionals (#162)
  • Improve documentation sidebar (#209)
  • Handle None parity in parity_conservation (#211)
  • Modify isospin in create_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

  • Switch to black's default 88 line width (#188)
  • Verify installation on Python 3.11 (#204)

🖱️ 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

31 Mar 09:14
fb0b119
Compare
Choose a tag to compare
QRules 0.10.0a1 Pre-release
Pre-release

See all documentation for this version here.

⚠️ Interface

🐛 Bug fixes

  • execution_info is now defined outside conditionals (#162)

🔨 Internal maintenance

🖱️ Developer Experience

  • Removed Sphinx HTML theme option theme_dev_mode (#167)

QRules 0.9.7

21 Feb 10:56
6ff2a37
Compare
Choose a tag to compare

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

31 Jan 11:51
8379238
Compare
Choose a tag to compare

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 StateTransitions etc. can be styled. See here how to use.

Number of threads can now be set globally (#140)

Closes #10 Closes #11

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.

📝 Documentation

Notebook pages can now be opened in Deepnote (#136)

Closes ComPWA/policy#43

image

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 image

🖱️ 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

06 Dec 10:09
9a23a1c
Compare
Choose a tag to compare

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 StateTransitions 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)

See https://qrules.rtfd.io/en/0.9.5/usage/ls-coupling.html

🖱️ 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