Pooltool

Pooltool: A Python package for realistic billiards simulation - Published in JOSS (2024)

https://github.com/ekiefl/pooltool

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    1 of 10 committers (10.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

billiards eight-ball panda3d physics pool python simulation snooker

Scientific Fields

Mathematics Computer Science - 84% confidence
Last synced: 4 months ago · JSON representation

Repository

A sandbox billiards game that emphasizes realistic physics

Basic Info
Statistics
  • Stars: 289
  • Watchers: 13
  • Forks: 50
  • Open Issues: 4
  • Releases: 13
Topics
billiards eight-ball panda3d physics pool python simulation snooker
Created over 5 years ago · Last pushed 4 months ago
Metadata Files
Readme License Citation Codeowners Zenodo

README.md

Project Status: Active  The project has reached a stable, usable state and is being actively developed. GitHub license Documentation Status GitHub Actions Workflow Status

PyPI - Version PyPI - Python Version codecov

Discord

Description

Pooltool is a general purpose billiards simulator crafted specifically for science and engineering.

Its core design principles focus on speed, flexibility, and the ease of visualization and analysis. With an interactive 3D interface, a robust API, and extensive documentation, pooltool aims to be a systemic tool in billiards-related research. Continuously evolving through active maintenance and bolstered by a growing community, this vision for pooltool emphasizes not just its current capabilities, but also its potential for growth and adaptation within billiards simulation.

Pooltool is peer-reviewed and published in the Journal of Open Source Software (JOSS) and pyOpenSci.

DOI pyOpenSci Peer-Reviewed

Gallery

Installation & Documentation

rtd

All resources are hosted at https://pooltool.readthedocs.io.

Quick links:

  1. Installation
  2. Examples
  3. API Reference

Join the community

Discord

If you want to ask questions, get help, or contribute to the codebase, please join the Discord and introduce yourself.

If the Discord link is expired, please make an issue in this repo.

Contributing

See the Contributing page in the documentation.

Blog

Many aspects of this project have been blogged about. Read the detailed account here.

Citation

If you use pooltool in your research/project/product, please cite the JOSS publication:

DOI

@article{Kiefl2024, doi = {10.21105/joss.07301}, url = {https://doi.org/10.21105/joss.07301}, year = {2024}, publisher = {The Open Journal}, volume = {9}, number = {101}, pages = {7301}, author = {Evan Kiefl}, title = {Pooltool: A Python package for realistic billiards simulation}, journal = {Journal of Open Source Software} }

Owner

  • Name: Evan Kiefl
  • Login: ekiefl
  • Kind: user

Bioinformatician at AbCellera. I did my PhD in Biophysical Sciences at the University of Chicago. A former member of the @merenlab.

JOSS Publication

Pooltool: A Python package for realistic billiards simulation
Published
September 28, 2024
Volume 9, Issue 101, Page 7301
Authors
Evan Kiefl ORCID
Independent Researcher, Canada
Editor
Daniel S. Katz ORCID
Tags
billiards simulation rigid body physics newtonian physics

GitHub Events

Total
  • Create event: 47
  • Release event: 2
  • Issues event: 20
  • Watch event: 60
  • Delete event: 37
  • Member event: 1
  • Issue comment event: 146
  • Push event: 155
  • Pull request review comment event: 82
  • Pull request review event: 111
  • Pull request event: 104
  • Fork event: 16
Last Year
  • Create event: 47
  • Release event: 2
  • Issues event: 20
  • Watch event: 60
  • Delete event: 37
  • Member event: 1
  • Issue comment event: 146
  • Push event: 155
  • Pull request review comment event: 82
  • Pull request review event: 111
  • Pull request event: 104
  • Fork event: 16

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 1,856
  • Total Committers: 10
  • Avg Commits per committer: 185.6
  • Development Distribution Score (DDS): 0.024
Past Year
  • Commits: 173
  • Committers: 4
  • Avg Commits per committer: 43.25
  • Development Distribution Score (DDS): 0.191
Top Committers
Name Email Commits
Evan Kiefl k****n@g****m 1,811
Derek McBlane m****k@g****m 16
Jeffrey Zitelli j****i@g****m 10
erdo100 e****3@g****m 7
TeXnicians z****2@g****m 3
Sergey Lukin s****n@a****m 3
Sergey Lukin l****v@g****m 2
Ido david e****d@g****m 2
Chao c****v@g****m 1
EC2 Default User e****r@i****l 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 52
  • Total pull requests: 243
  • Average time to close issues: 4 months
  • Average time to close pull requests: 2 days
  • Total issue authors: 23
  • Total pull request authors: 10
  • Average comments per issue: 2.37
  • Average comments per pull request: 1.0
  • Merged pull requests: 227
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 15
  • Pull requests: 124
  • Average time to close issues: 11 days
  • Average time to close pull requests: 3 days
  • Issue authors: 8
  • Pull request authors: 6
  • Average comments per issue: 1.93
  • Average comments per pull request: 1.61
  • Merged pull requests: 111
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ekiefl (22)
  • st4ycool (5)
  • tailuge (3)
  • derek-mcblane (2)
  • saipavanc (2)
  • dlevesque1980 (1)
  • wxmodz (1)
  • timiil (1)
  • lordlouckster (1)
  • owenhayman (1)
  • 123omari123 (1)
  • HorseEars (1)
  • edoson (1)
  • reynoldsnlp (1)
  • PSXBRosa (1)
Pull Request Authors
  • ekiefl (206)
  • derek-mcblane (19)
  • erdo100 (8)
  • M-Allahham (2)
  • ecneicscience (2)
  • jzitelli (2)
  • edoson (1)
  • zhaodong-wang (1)
  • kerby2000 (1)
  • chaochaodev (1)
Top Labels
Issue Labels
enhancement (4) installation (2) macos (1) windows (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 218 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 18
  • Total maintainers: 1
pypi.org: pooltool-billiards

A sandbox billiards game that emphasizes realistic physics.

  • Versions: 18
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 218 Last month
Rankings
Stargazers count: 7.9%
Forks count: 8.4%
Dependent packages count: 10.0%
Average: 15.3%
Dependent repos count: 21.7%
Downloads: 28.5%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/paper.yml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
poetry.lock pypi
  • alabaster 0.7.13
  • appnope 0.1.4
  • astroid 3.2.3
  • asttokens 2.4.1
  • attrs 23.2.0
  • babel 2.15.0
  • backcall 0.2.0
  • beautifulsoup4 4.12.3
  • cattrs 23.2.3
  • certifi 2024.7.4
  • cfgv 3.4.0
  • charset-normalizer 3.3.2
  • click 8.1.7
  • colorama 0.4.6
  • colored 1.4.4
  • decorator 5.1.1
  • distlib 0.3.8
  • docutils 0.20.1
  • exceptiongroup 1.2.2
  • executing 2.0.1
  • filelock 3.15.4
  • furo 2024.5.6
  • h5py 3.11.0
  • identify 2.6.0
  • idna 3.7
  • imagesize 1.4.1
  • importlib-metadata 8.0.0
  • iniconfig 2.0.0
  • ipython 8.12.3
  • jedi 0.19.1
  • jinja2 3.1.4
  • llvmlite 0.41.1
  • markdown-it-py 3.0.0
  • markupsafe 2.1.5
  • matplotlib-inline 0.1.7
  • mdit-py-plugins 0.4.1
  • mdurl 0.1.2
  • msgpack 1.0.8
  • msgpack-numpy 0.4.8
  • myst-parser 3.0.1
  • nodeenv 1.9.1
  • numba 0.58.1
  • numpy 1.24.4
  • packaging 24.1
  • panda3d 1.11.0.dev3005
  • panda3d-gltf 1.2.0
  • panda3d-simplepbr 0.12.0
  • pandas 2.0.3
  • parso 0.8.4
  • pexpect 4.9.0
  • pickleshare 0.7.5
  • pillow 10.4.0
  • platformdirs 4.2.2
  • pluggy 1.5.0
  • pprofile 2.1.0
  • pre-commit 3.5.0
  • prompt-toolkit 3.0.47
  • psutil 6.0.0
  • ptyprocess 0.7.0
  • pure-eval 0.2.2
  • pygments 2.18.0
  • pyright 1.1.371
  • pytest 8.2.2
  • python-dateutil 2.9.0.post0
  • pytz 2024.1
  • pyyaml 6.0.1
  • requests 2.32.3
  • ruff 0.5.2
  • scipy 1.9.3
  • six 1.16.0
  • snowballstemmer 2.2.0
  • soupsieve 2.5
  • sphinx 7.1.2
  • sphinx-autoapi 3.1.2
  • sphinx-basic-ng 1.0.0b2
  • sphinx-copybutton 0.5.2
  • sphinxcontrib-applehelp 1.0.4
  • sphinxcontrib-devhelp 1.0.2
  • sphinxcontrib-htmlhelp 2.0.1
  • sphinxcontrib-jsmath 1.0.1
  • sphinxcontrib-qthelp 1.0.3
  • sphinxcontrib-serializinghtml 1.1.5
  • stack-data 0.6.3
  • tomli 2.0.1
  • traitlets 5.14.3
  • typing-extensions 4.12.2
  • tzdata 2024.1
  • urllib3 2.2.2
  • virtualenv 20.26.3
  • wcwidth 0.2.13
  • zipp 3.19.2
.github/workflows/lint-and-check.yml actions
  • abatilo/actions-poetry v2 composite
  • actions/cache v3 composite
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
.github/workflows/test.yml actions
  • abatilo/actions-poetry v2 composite
  • actions/cache v3 composite
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
pyproject.toml pypi
  • colored >=2.2.4 develop
  • ipdb ^0.13.13 develop
  • ipython >=8.18.1 develop
  • jupyterlab >=4.0.0 develop
  • jupytext >=1.15.0 develop
  • matplotlib >=3.8 develop
  • pandas >=2 develop
  • plotly >=5 develop
  • poetry-dynamic-versioning >=1.4.0 develop
  • pre-commit >=3.7.1 develop
  • psutil >=6.0.0 develop
  • pyright >=1.1.373 develop
  • pytest >=8.3.2 develop
  • pytest-cov ^5.0.0 develop
  • ruff >=0.5.5 develop
  • furo >=2024.5.6 docs
  • myst-parser >=3.0.1 docs
  • nbsphinx ^0.9.5 docs
  • sphinx >=6.1.0 docs
  • sphinx-autoapi >=3.1.2 docs
  • sphinx-copybutton >=0.5.2 docs
  • sphinx-tabs >=3.4.5 docs
  • Pillow >=6.2.0
  • attrs >=21.3.0
  • cattrs >=22.1.0
  • click >=8.0.0
  • h5py >=3.10
  • msgpack >=1.0.0
  • msgpack-numpy >=0.4.8
  • numba >=0.59.0
  • numpy >=1.26.0
  • panda3d [{"platform" => "darwin", "version" => ">=1.10.13,<1.11"}, {"platform" => "linux", "version" => "1.11.0.dev3444", "allow-prereleases" => true, "source" => "panda3d-archive"}, {"platform" => "win32", "version" => "1.11.0.dev3444", "allow-prereleases" => true, "source" => "panda3d-archive"}]
  • panda3d-gltf >=1.2.0
  • panda3d-simplepbr >=0.12.0
  • python >=3.9,<3.13
  • pyyaml >=5.2
  • scipy >=1.12.0
environment.yml conda
  • pip
  • python 3.13.0