Skip to content

QRules 0.8.0

Compare
Choose a tag to compare
@github-actions github-actions released this 16 Apr 11:21
· 220 commits to main since this release
8deee77

Release 0.8.0

See all documentation for this version here.

💡 New features

Determine quantum number domains from a ParticleCollection (#45)

From ComPWA/expertsystem#486, but adapted so that ranges are generated: if there is some Particle in the inserted ParticleCollection with spin-1.5, the range will be [0, 0.5, 1, 1.5] (not just [1.5]). Also allows setting the maximum spin in LS-couplings.

Extend configuration arguments in facade functions (#40) by @wgradl

Allow setting the maximum angular momentum and spin magnitude through check_reaction_violations() and generate_transitions().

⚠️ Interface

Rename default_settings to settings (#43)
Rename to InteractionTypes to InteractionType (#47)

Policy is that enums should be singular, so that the syntax makes more sense, especially in docstrings. For instance:

  • "Which InteractionType?"
  • "Use InteractionType.WEAK instead of..."

Same with the (already existing) SolvingMode.

Rename particles argument to particle_db in several functions (#50)

Rename particles argument to particle_db in several functions and classes, such as the StateTransitionManager. This naming was introduced for check_reaction_violations (#40) and makes more sense to the reader.

🐛 Bug fixes

Fix link to codacy badge (#4)
Define testpaths in pytest.ini (#42)

Since 8a3f33c, it is become impossible to run tests through VSCode. Defining testpaths in pytest.ini fixes this. In addition, it removes the last 'non-tox' section from the tox.ini file (see 2d9f620).

Note that this also allows running and debugging doctests from VScode 🎉

🔨 Internal maintenance

Added a test to verify default interaction settings (#41)

Taken from ComPWA/expertsystem#486 and in preparation of #40. The next step (before #40 idea is to deduce default interaction settings from a ParticleCollection (as was initially done in that PR, see ComPWA/expertsystem#486 (comment))

📝 Documentation

Several improvements to the documentation

See #3, 35ebed2, 8d4e940, #44, and 8deee77

🖱️ Developer Experience

Split GitHub Actions workflow "CI" into CI-style, CI-docs, and CI-tests (#36)
Let Read the Docs fail if there are warning (#37)
Define all requirements setup.cfg and pin versions through constraint files (#39)

With the release of pip-tools v6.1.0, pip-compile now correctly handles extras_require. This allows for a big clean-up of the set-up introduced by ComPWA/expertsystem#412.

Advantages:

  • Easier for the user and developer! Just run:
    pip install -e .[dev]
    to get started developing,
    pip install -e .[dev] -U
    to try out upgrades, and
    pip install -c .constraints/py3.8.txt -e .[dev] -U
    in case you exactly want to reproduce the dependencies for some commit.
  • The upgrade jobs become significantly faster: bit over 1min versus almost 3min
  • All requirements, their version domains, and the dependencies between each of the requirement sections can be nicely overseen and maintained within setup.cfg
  • Git diffs for pull requests that affect dependencies become easier to oversee
  • Less complexity and fewer changes per commit
Define testpaths in pytest.ini (#42)

Since 8a3f33c, it is become impossible to run tests through VSCode. Defining testpaths in pytest.ini fixes this. In addition, it removes the last 'non-tox' section from the tox.ini file (see 2d9f620).

Note that this also allows running and debugging doctests from VScode 🎉