QRules 0.8.0
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
🖱️ 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 🎉