Skip to content

Releases: ekiefl/pooltool

v0.5.0

18 Sep 01:14
01a7a78

Choose a tag to compare

Dependency changes

  • Dropped support for Python 3.10
  • Added support for Python 3.13 (dev version is now 3.13)
  • Bumped poetry dev version from 1.8.3 -> 1.8.4

Misc

  • Typing conventions updated (List -> list, Optional[str] -> str | None, etc)
  • Split pooltool.ani.__init__ into pooltool.ani.constants and pooltool.config.settings
  • Added interpolate_ball_states to calculate exact ball states at arbitrary timestamps
  • Removed terminal.py and replaced stdout progress bars/info utilities with rich

Interface changes

  • Instructions are displayed whenever held-key actions are performed (e.g. when holding g, the message "Select a ball to move. Click to confirm while holding 'g'." appears on screen
  • Parallel playback has been implemented. Press enter to toggle between single and parallel playback

Menu system

  • Settings are stored as YAML and isomorphically structured as attrs classes. A settings proxy will lazily load settings so that values changed dynamically will be reflected whenever accessed during runtime.
  • Attrs field metadata is used as directives to build the menu GUI, with the following menu element possibilities: title, heading, button, entry, dropdown, checkbox.
  • Physics settings remain inaccessible through the GUI and must be modified by directly modifying the physics YAML

Documentation changes

  • Rehauled docs
  • Dropped jupytext -- .ipynb files are now directly comitted to the repo
  • Added make docs-live (live preview) and make docs-with-notebooks (executes, rather than merely rendering, notebooks)
  • Updated API hierarchy (breaking changes)
  • Fixed all broken cross-references in notebooks, markdown, and docstrings.
  • Added developer guide

PRs

Full Changelog: v0.4.4...v0.5.0

v0.4.4

16 Mar 08:18
3ebf456

Choose a tag to compare

What's Changed

Full Changelog: v0.4.3...v0.4.4

v0.4.3

12 Mar 03:31
ced3ab2

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.2...v0.4.3

v0.4.2

15 Oct 03:29
4466c0e

Choose a tag to compare

What's Changed

Physics realism of the ball-ball collision has been significantly increased via the introduction of the Mathavan model.

  • add Mathavan frictional ball-ball collision model by @jzitelli in #153

New Contributors

Full Changelog: v0.4.1...v0.4.2

v0.4.1

22 Sep 00:22

Choose a tag to compare

What's Changed

  • README has been overhauled
  • Docs have been overhauled (https://pooltool.readthedocs.io/en/latest/), and now support an Examples section of rendered notebooks
  • Installation instructions are clear and simplified
  • Test files no longer exist in the package, and are found in a mirroring directory tests
  • Event caching speeds up simulation times considerably: #133
  • Numba functions are compiled when the user first enters the interactive interface. A corresponding translucent menu now pops up
  • Add deflection angle physics (squirt): #139
  • The ShotViewer class has a new abstraction, pooltool.show and window management is automatically handled. No more idle window when there is nothing being visualized.

Full Changelog: v0.4.0...v0.4.1

v0.4.0

28 Jul 23:27

Choose a tag to compare

What's Changed

  • Support for python 3.12
  • Dropped support for python 3.8
  • Development version changed to 3.12
  • Manage environment with poetry (#124)
  • Streamline publishing procedure with poetry + dynamic versioning (#125)

Full Changelog: v0.3.3...v0.4.0

v0.3.3

22 Jul 03:18

Choose a tag to compare

What's Changed

  • Change of LICENSE from GPL to Apache by @ekiefl in #123

Full Changelog: v0.3.2...v0.3.3

v0.3.2

19 Apr 04:44
d9e6312

Choose a tag to compare

What's Changed

Full Changelog: v0.3.1...v0.3.2

v0.3.1

01 Apr 20:52

Choose a tag to compare

What's Changed

Small release to create files needed for submission to pyOpenSci.

  • Add CONTRIBUTING and CODE_OF_CONDUCT by @ekiefl in #121

Full Changelog: v0.3.0...v0.3.1

v0.3.0

20 Mar 02:16

Choose a tag to compare

What's changed?

This release marks the maturation of pooltool into a proper python library, and comes in anticipation for its submission to pyOpenSci and JOSS.

  • Docstrings have been added for core of the library
  • Documentation, including an API reference, are available on readthedocs
  • The API hierarchy has been modified with design in mind. The most common objects are surfaced to the top-level API layer (import pooltool as pt; pt.System) and nearly all other objects can be accessed by subpackage cascading (import pooltool as pt; pt.ruleset.utils.respot)
  • Continuous integration has been implemented to encourage code standards regardless of contributor.
  • The transition from mypy to pyright for type-checking is now complete
  • isort and black have been replaced with the far faster ruff

PRs

New Contributors

Full Changelog

v0.2.2...v0.3.0