Skip to content

QRules 0.9.0

Compare
Choose a tag to compare
@github-actions github-actions released this 18 Jun 15:04
· 186 commits to main since this release
fe764e1

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 StateTransitions are meant to become frozen and sortable.

Note that ParticleCollection.names now returns a list, sorted using the total_ordering of Particle.

⚠️ Interface

Rename formalism_type to formalism (#69)

Use

result = qrules.generate_transitions(
    ....
    formalism="canonical-helicity",
)

instead of

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 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 StateTransitions and Topologys).

📝 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 fixes

Fixed more problems identified by pytest-flake8 (#68)

See pytest-flake8