Recent Releases of qrules

qrules - QRules 0.10.5

See all documentation for this version here.

🐛 Bug fixes

  • Avoid NoneType check in singledispatch of qrules.io.as_string() (#316)

🔨 Maintenance

  • Avoid PEP 604 X | Y syntax for type unions (#316)

The full changelog as commits can be found here.

- Python
Published by github-actions[bot] about 1 year ago

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 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.

- Python
Published by github-actions[bot] about 1 year ago

qrules - QRules 0.10.3

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.

- Python
Published by github-actions[bot] over 1 year ago

qrules - 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 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.

- Python
Published by github-actions[bot] almost 2 years ago

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

The full changelog as commits can be found here.

- Python
Published by github-actions[bot] almost 2 years ago

qrules - 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 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.

- Python
Published by github-actions[bot] almost 3 years ago

qrules - QRules 0.9.8

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 themedevmode (#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.

- Python
Published by github-actions[bot] almost 3 years ago

qrules - QRules 0.10.0a1

See all documentation for this version here.

⚠️ Interface

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

- Python
Published by github-actions[bot] almost 4 years ago

qrules - 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()`](https://docs.python.org/3/library/functools.html#functools.lru_cache).

🔨 Internal maintenance

Switched to the new attrs API (#152) See [`import attrs`](https://hynek.me/articles/import-attrs/#the-last-step-import-attrs) and [`attrs` TNG](https://www.attrs.org/en/21.4.0/names.html#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: ```python @implement_pretty_repr() # old @attrs.define class SomeClass: ... ``` to ```python @implement_pretty_repr # <-- new @attrs.define class SomeClass: ... ```

📝 Documentation

Type hints are abbreviated where possible (#154) Type hints are abbreviated with [`autodoc_typehints_format`](https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#confval-autodoc_typehints_format). But note that this does not yet work perfectly because of QRules' [custom reference relinking](https://github.com/ComPWA/qrules/commit/837923872c85e43b765ee7c5a3d6e415d8e330ad).
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 https://github.com/ComPWA/ampform/pull/221 and https://github.com/ComPWA/tensorwaves/pull/407. Preview [here](https://qrules--148.org.readthedocs.build/en/148).
Added Hypothesis and utterances overlay to allow commenting on the documentation (#149) Closes https://github.com/ComPWA/compwa-org/issues/109
Explained how to pin dependencies with Conda (#150) Preview [here](https://qrules--150.org.readthedocs.build/en/150/install.html). See also https://github.com/ComPWA/tensorwaves/pull/411.

🖱️ Developer Experience

Upgrade cron job are now on even weeks only (#148 and #153) See https://github.com/ComPWA/repo-maintenance/pull/48

- Python
Published by github-actions[bot] about 4 years ago

qrules - 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 https://github.com/ComPWA/ampform/issues/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](https://qrules--138.org.readthedocs.build/en/138/api/qrules.topology.html#qrules.topology.Topology.relabel_edges).
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](https://qrules--139.org.readthedocs.build/en/139/usage/visualize.html#styling) how to use.
Number of threads can now be set globally (#140) Closes #10 Closes #11 Added a new class [`NumberOfThreads`](https://qrules--140.org.readthedocs.build/en/140/api/qrules.settings.html#qrules.settings.NumberOfThreads) under the [`settings`](https://qrules--140.org.readthedocs.build/en/140/api/qrules.settings.html) 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](https://qrules.readthedocs.io/en/0.9.5/usage/ls-coupling.html#check-with-qrules) with [the one for this PR](https://qrules--145.org.readthedocs.build/en/145/usage/ls-coupling.html#check-with-qrules). - 10379d2 adds a test [that fails](https://github.com/ComPWA/qrules/runs/4980455593) the check described in #143 - 2e91cb4 [fixes](https://github.com/ComPWA/qrules/runs/4980458314) that test

📝 Documentation

Notebook pages can now be opened in Deepnote (#136) Closes https://github.com/ComPWA/repo-maintenance/issues/43 [![image](https://user-images.githubusercontent.com/29308176/149676020-8281cbb4-8cae-4e1a-a171-b451809ea993.png)](https://qrules--136.org.readthedocs.build/en/136/usage.html)
Default graphviz background is now transparent (#141) Follow-up to #139. Consequence is that exported PNG and SVG files have no background. Preview [here](https://qrules--141.org.readthedocs.build/en/141/usage/visualize.html). 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`](https://sphinx-codeautolink.readthedocs.io). Closes https://github.com/ComPWA/compwa-org/issues/106 [![image](https://user-images.githubusercontent.com/29308176/151718856-b65caad0-f0aa-4da3-b2d9-9a72c743f849.png)](https://qrules--147.org.readthedocs.build/en/147/usage/reaction.html#define-the-problem-set)

🖱️ Developer Experience

Changed upgrade cron job to bi-weekly (#135)
Installed jupyterlab-myst for MyST editing (#147) Installed [`jupyterlab-myst`](https://github.com/executablebooks/jupyterlab-myst)
Updated black formatting style (#147) Updated to the first non-beta black release [22.1.0](https://github.com/psf/black/releases/tag/22.1.0). Most important style effect: [no space around power operator `**`](https://black.readthedocs.io/en/stable/the_black_code_style/current_style.html#line-breaks-binary-operators).

- Python
Published by github-actions[bot] about 4 years ago

qrules - 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 https://github.com/ComPWA/tensorwaves/pull/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 https://github.com/ComPWA/compwa-org/issues/90 This also allows upgrading to `attrs` v21.1, which has better support for pyright https://www.attrs.org/en/stable/types.html#pyright

- Python
Published by github-actions[bot] about 4 years ago

qrules - QRules 0.9.4

Release 0.9.4

See all documentation for this version here.

🐛 Bug fixes

Support typing-extensions v3.7 (#119) Causes downstream problems with TensorFlow: https://github.com/ComPWA/tensorwaves/runs/3996801941?check_suite_focus=true#step:9:9

- Python
Published by github-actions[bot] over 4 years ago

qrules - QRules 0.9.3

Release 0.9.3

See all documentation for this version here.

💡 New features

Python 3.10 is now supported (#117)

🔨 Internal maintenance

Narrowed down type hints (#114) * Improved some of the type hints * Enforcing the use of [mypy error codes](https://mypy.readthedocs.io/en/stable/error_codes.html#silencing-errors-based-on-error-codes) (`# type: ignore[error-code]`) with [flake8-type-ignore](https://gitlab.com/jonafato/flake8-type-ignore). --- See also https://github.com/ComPWA/ampform/pull/168 and https://github.com/ComPWA/tensorwaves/pull/332

📝 Documentation

Added Zenodo DOI badge (#106) Closes https://github.com/ComPWA/compwa-org/issues/55 [![Zenodo DOI](https://zenodo.org/badge/doi/10.5281/zenodo.5526360.svg)](https://doi.org/10.5281/zenodo.5526360)
QRules can now be installed from Conda-Forge (#115) Closes #59

🖱️ Developer Experience

Fixed .flake8 config syntax (#116) The `.flake8` config file was using not using the same comment style as described in https://flake8.pycqa.org/en/latest/user/configuration.html#project-configuration Consequence not all errors were identified anymore. Additional update: config has been simplified with the use of `--extend-select`.
Embedded Zenodo metadata (#112) Closes https://github.com/ComPWA/compwa-org/issues/64

- Python
Published by github-actions[bot] over 4 years ago

qrules - QRules 0.9.2

Release 0.9.2

Release for first Zenodo DOI Zenodo DOI

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`
ProblemSet can now be rendered as DOT (#86) Closes #28
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`](https://qrules.readthedocs.io/en/0.9.1/api/qrules.conservation_rules.html) 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) See ComPWA/ampform#104
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 https://github.com/ComPWA/compwa-org/issues/61 Automated changes by [create-pull-request](https://github.com/peter-evans/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](https://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'](https://pre-commit.com/#repository-local-hooks). 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](https://pre-commit.ci/#configuration) (at most set to `quarterly`). It is (for now) better to upgrade the hooks along with the requirement pinning though.

🔨 Internal maintenance

Removed mdit-py-plugins version limit (#94) See https://github.com/ComPWA/ampform/pull/147

- Python
Published by github-actions[bot] over 4 years ago

qrules - QRules 0.9.1

Release 0.9.1

See all documentation for this version here.

⚠️ Interface

StateTransitionCollection ordered has become ordered (#77) Turn `StateTransitionCollection` into an immutable `abc.Sequence`, instead of a `set`.

🐛 Bug fixes

Allow rendering iterables with graphviz (#78) Allow converting an **iterable** (not just a sequence) to DOT. This enables rendering for instance the output of a `filter` as DOT: ```python import graphviz import qrules reaction = qrules.generate_transitions( initial_state="J/psi(1S)", final_state=["K0", "Sigma+", "p~"], allowed_interaction_types="strong", ) transitions = filter( lambda t: t.states[3].particle.mass > 1.75, reaction.transitions, ) dot = qrules.io.asdot(transitions, collapse_graphs=True, render_final_state_id=False) graphviz.Source(dot) ``` ![image](https://user-images.githubusercontent.com/29308176/123068857-91781d00-d412-11eb-8937-9c136cecd1da.png)
Node properties for StateTransition are now also rendered (#80)

- Python
Published by github-actions[bot] over 4 years ago

qrules - QRules 0.9.0

Release 0.9.0

‼ Contains major changes to qrules.generate_transitions

See all documentation for this version here.

💡 New features

Particles can now be sorted (#72) This PR allows sorting `Particle` instances. This is useful later on in #26, when `StateTransition`s are meant to become frozen and sortable. Note that `ParticleCollection.names` now returns a **`list`**, sorted using the [`total_ordering`](https://docs.python.org/3.9/library/functools.html#functools.total_ordering) of `Particle`.

⚠️ Interface

Rename formalism_type to formalism (#69) Use ```python result = qrules.generate_transitions( .... formalism="canonical-helicity", ) ``` instead of ```python result = qrules.generate_transitions( .... formalism_type="canonical-helicity", ) ```
Use canonical-helicity by default (#70) Canonical is the most complete set of solutions. The idea is to do the formalism filtering later on, in AmpForm (see #12).
Return sorted list for ParticleCollection.names (#72) `ParticleCollection.names` now returns a **`list`**, sorted using the [`total_ordering`](https://docs.python.org/3.9/library/functools.html#functools.total_ordering) of `Particle`.
allowed_interaction_types has become more strict in what types of descriptions it takes (#74) Simplifies the slightly confusing rules for the `allowed_interaction_types` argument of `qrules.generate_transitions`.
The Result class has been replaced with a frozen ReactionInfo class (#75) Closes #26 A few new frozen classes (`State`, `StateTransition`, `StateTransitionCollection`, and `ReactionInfo`) now replace the `StateTransitionGraph` as main interface to the user. `StateTransitionGraph` is mutable and only for internal usage (see also #25). The `Result` class has been removed in favor of `ReactionInfo`. Some additional improvements: - `Topology` and `Topology` now have a pretty printer methods (as have `StateTransition` etc.) - `FrozenDict` has gotten ordering (for sorting `StateTransition`s and `Topology`s).

📝 Documentation

Documentation now uses import qrules without "as q" (#66) Use `import qrules` instead of `import qrules as q`, as it's not really needed to abbreviate this module.

🔨 Internal maintenance

Result fixture in the conftest.py for the unit tests has been parametrized (#67) See https://docs.pytest.org/en/6.2.x/parametrize.html
repr methods in tests are parametrized (#68) Also includes [`pytest-flake8`](https://pypi.org/project/pytest-flake8) fixes
Fixed more problems identified by pytest-flake8 (#68) See [`pytest-flake8`](https://pypi.org/project/pytest-flake8)

- Python
Published by github-actions[bot] over 4 years ago

qrules - QRules 0.8.2

Release 0.8.2

See all documentation for this version here.

📝 Documentation

Improved docstrings about interaction properties (#57) It's not well documented what the labels of an interaction node mean (see for instance [this graph visualization](https://qrules.readthedocs.io/en/0.8.1/usage.html#investigate-intermediate-resonances)). Rendering of special methods in the API has also been improved.

🐛 Bug fixes

Refuse rendering collapsed graphs with node properties (#57) It doesn't make sense to render node properties for collapsed graphs of state transition graphs without spin projections on the edges, so `io.asdot` now raises an exception if you try to use `render_node=True` with `collapse_graph=True` or `strip_spin=True`.

🖱️ Developer Experience

Milestone are now automatically closed upon release (#62)

- Python
Published by github-actions[bot] over 4 years ago

qrules - QRules 0.8.1

Release 0.8.1

Maintenance release: mainly improves mobile version of the website.

See all documentation for this version here.

⚠️ Interface

Optional dependencies "extras" has been renamed to "all" (a2fc2dd)

🖱️ Developer Experience

Added PR template + gitpod extensions (#52)
GitPod now automatically installs recommended VSCode extensions (#52)
Notebooks can now be run through pytest (#53) Provides a faster way of running all notebooks. Usage: ```shell tox -e testnb EXECUTE_NB=yes tox -e testnb # as if run by Sphinx ``` or ```shell poytest --nb-test-files # all tests and notebooks pytest docs --nb-test-files pytest docs --nb-test-files -n auto # parallel ``` Rest of the configuration, such as ignoring cell output, is provided through `pytest.ini`. For further info, see [`pytest-notebook`](https://pytest-notebook.readthedocs.io/en/stable). Note that the notebooks are still run through Sphinx on the CI. This is to ensure the rendering on RTD works correctly. `pytest-notebook` is therefore only installed through the `dev` extras, not through the `test` extras.
Removed nbstripout from developer dependencies (c7c93f7) Only available as `pre-commit` hook now.
Added more flake8 plugins and fixed identified problems (ffa91f5) - [`flake8-use-fstring`](http://pypi.org/project/flake8-use-fstring) - [`flake8-pytest-style`](http://pypi.org/project/flake8-pytest-style) - [`flake8-comprehensions`](http://pypi.org/project/flake8-comprehensions)
Added VSCode test explorer extension (2318823) Native VSCode test explorer doesn't work as great. For instance, it's not possible to run all tests within a folder.

- Python
Published by github-actions[bot] almost 5 years ago

qrules - 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 https://github.com/ComPWA/expertsystem/pull/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 :tada:

🔨 Internal maintenance

Added a test to verify default interaction settings (#41) Taken from https://github.com/ComPWA/expertsystem/pull/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 https://github.com/ComPWA/expertsystem/pull/486#issuecomment-775040377)

📝 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](https://github.com/jazzband/pip-tools/releases/tag/6.1.0), `pip-compile` now correctly handles [`extras_require`](https://setuptools.readthedocs.io/en/latest/userguide/dependency_management.html#optional-dependencies). This allows for a big clean-up of the set-up introduced by https://github.com/ComPWA/expertsystem/pull/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](https://github.com/ComPWA/qrules/runs/2346236017?check_suite_focus=true) versus almost [3min](https://github.com/ComPWA/qrules/runs/2322145112?check_suite_focus=true) - 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 :tada:

- Python
Published by github-actions[bot] almost 5 years ago

qrules - QRules 0.8.0a1

Pre-release 0.8.0a1

See all documentation for this version here.

⚠️ Interface

  • Extract expertsystem.reaction as qrules package (#1 and #2) The expertsystem has been split up into qrules and ampform :tada:

- Python
Published by github-actions[bot] almost 5 years ago