Pooltool
Pooltool: A Python package for realistic billiards simulation - Published in JOSS (2024)
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
Scientific Fields
Repository
A sandbox billiards game that emphasizes realistic physics
Basic Info
- Host: GitHub
- Owner: ekiefl
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://pooltool.readthedocs.io
- Size: 387 MB
Statistics
- Stars: 289
- Watchers: 13
- Forks: 50
- Open Issues: 4
- Releases: 13
Topics
Metadata Files
README.md

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






Installation & Documentation
All resources are hosted at https://pooltool.readthedocs.io.
Quick links:
Join the community
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:
@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
- Website: ekiefl.github.io
- Twitter: evankiefl
- Repositories: 5
- Profile: https://github.com/ekiefl
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
Tags
billiards simulation rigid body physics newtonian physicsGitHub 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
Top Committers
| Name | 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
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.
- Homepage: https://pooltool.readthedocs.io/en/latest/
- Documentation: https://pooltool.readthedocs.io/en/latest/
- License: Apache-2.0
-
Latest release: 0.5.0
published 4 months ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v4 composite
- actions/upload-artifact v1 composite
- openjournals/openjournals-draft-action master composite
- 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
- abatilo/actions-poetry v2 composite
- actions/cache v3 composite
- actions/checkout v4 composite
- actions/setup-python v4 composite
- abatilo/actions-poetry v2 composite
- actions/cache v3 composite
- actions/checkout v4 composite
- actions/setup-python v4 composite
- 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
- pip
- python 3.13.0
