<img src="https://github.com/ekiefl/pooltool/blob/main/pooltool/logo/logo.png" width="600" />
[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![GitHub license](https://img.shields.io/github/license/ekiefl/pooltool)](https://github.com/ekiefl/pooltool/blob/master/LICENSE.txt)
[![Documentation Status](https://readthedocs.org/projects/pooltool/badge/?version=latest)](https://pooltool.readthedocs.io/en/latest/?badge=latest)
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/ekiefl/pooltool/test.yml)
![PyPI - Version](https://img.shields.io/pypi/v/pooltool-billiards)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pooltool-billiards)
[![codecov](https://codecov.io/gh/ekiefl/pooltool/graph/badge.svg)](https://codecov.io/gh/ekiefl/pooltool)
[![Discord](https://img.shields.io/badge/Discord-Join%20Server-7289da?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/8Y8qUgzZhz)
# 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](https://joss.theoj.org/papers/10.21105/joss.07301/status.svg)](https://doi.org/10.21105/joss.07301)
[![pyOpenSci Peer-Reviewed](https://pyopensci.org/badges/peer-reviewed.svg)](https://github.com/pyOpenSci/software-review/issues/173)
# Gallery
<img src="https://ekiefl.github.io/images/pooltool/pooltool-graphics/gallery_1.png" width="350" /><img src="https://ekiefl.github.io/images/pooltool/pooltool-graphics/gallery_2.png" width="350" /><img src="https://ekiefl.github.io/images/pooltool/pooltool-graphics/gallery_3.png" width="350" /><img src="https://ekiefl.github.io/images/pooltool/pooltool-graphics/gallery_5.png" width="350" /><img src="https://ekiefl.github.io/images/pooltool/pooltool-graphics/gallery_6.png" width="350" /><img src="https://ekiefl.github.io/images/pooltool/pooltool-graphics/gallery_7.png" width="350" />
# Installation & Documentation
<a href="https://pooltool.readthedocs.io">
<img src="https://github.com/ekiefl/pooltool/assets/8688665/744fcd33-2e6a-4b8d-a727-634bb8295124" width="200" alt="rtd">
</a>
All resources are hosted at [https://pooltool.readthedocs.io](https://pooltool.readthedocs.io).
Quick links:
1. [🛠️ **Installation**](https://pooltool.readthedocs.io/en/latest/getting_started/install.html)
1. [📚 Examples](https://pooltool.readthedocs.io/en/latest/examples/index.html)
1. [🔌 API Reference](https://pooltool.readthedocs.io/en/latest/autoapi/pooltool/index.html)
# Join the community
[![Discord](https://img.shields.io/badge/Discord-Join%20Server-7289da?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/8Y8qUgzZhz)
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 [CONTRIBUTING.md](CONTRIBUTING.md).
# Blog
I have blogged about many aspects of this project. Read the detailed account [here](https://ekiefl.github.io/projects/pooltool/).
# Citation
If you use pooltool in your research/project/product, please cite the JOSS publication:
[![DOI](https://joss.theoj.org/papers/10.21105/joss.07301/status.svg)](https://doi.org/10.21105/joss.07301)
```
@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}
}
```
Raw data
{
"_id": null,
"home_page": "https://pooltool.readthedocs.io/en/latest/",
"name": "pooltool-billiards",
"maintainer": "Evan Kiefl",
"docs_url": null,
"requires_python": "<3.13,>=3.9",
"maintainer_email": "kiefl.evan@gmail.com",
"keywords": "simulation, physics, pool, billiards, panda3d, snooker, eight-ball",
"author": "Evan Kiefl",
"author_email": "kiefl.evan@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/ff/3d/0d6b35dfee0cc54fe6d267c307ae9a4266313a2fd61281ee9ee0ad6d80f3/pooltool_billiards-0.4.2.tar.gz",
"platform": null,
"description": "<img src=\"https://github.com/ekiefl/pooltool/blob/main/pooltool/logo/logo.png\" width=\"600\" />\n\n[![Project Status: Active \u2013 The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\n[![GitHub license](https://img.shields.io/github/license/ekiefl/pooltool)](https://github.com/ekiefl/pooltool/blob/master/LICENSE.txt)\n[![Documentation Status](https://readthedocs.org/projects/pooltool/badge/?version=latest)](https://pooltool.readthedocs.io/en/latest/?badge=latest)\n![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/ekiefl/pooltool/test.yml)\n\n![PyPI - Version](https://img.shields.io/pypi/v/pooltool-billiards)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pooltool-billiards)\n[![codecov](https://codecov.io/gh/ekiefl/pooltool/graph/badge.svg)](https://codecov.io/gh/ekiefl/pooltool)\n\n[![Discord](https://img.shields.io/badge/Discord-Join%20Server-7289da?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/8Y8qUgzZhz)\n\n# Description\n\n*Pooltool* is a general purpose billiards simulator crafted specifically for science and engineering.\n\nIts 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.\n\nPooltool is peer-reviewed and published in the **Journal of Open Source Software** (JOSS) and **pyOpenSci**.\n\n[![DOI](https://joss.theoj.org/papers/10.21105/joss.07301/status.svg)](https://doi.org/10.21105/joss.07301)\n[![pyOpenSci Peer-Reviewed](https://pyopensci.org/badges/peer-reviewed.svg)](https://github.com/pyOpenSci/software-review/issues/173)\n\n# Gallery\n\n<img src=\"https://ekiefl.github.io/images/pooltool/pooltool-graphics/gallery_1.png\" width=\"350\" /><img src=\"https://ekiefl.github.io/images/pooltool/pooltool-graphics/gallery_2.png\" width=\"350\" /><img src=\"https://ekiefl.github.io/images/pooltool/pooltool-graphics/gallery_3.png\" width=\"350\" /><img src=\"https://ekiefl.github.io/images/pooltool/pooltool-graphics/gallery_5.png\" width=\"350\" /><img src=\"https://ekiefl.github.io/images/pooltool/pooltool-graphics/gallery_6.png\" width=\"350\" /><img src=\"https://ekiefl.github.io/images/pooltool/pooltool-graphics/gallery_7.png\" width=\"350\" />\n\n# Installation & Documentation\n\n<a href=\"https://pooltool.readthedocs.io\">\n <img src=\"https://github.com/ekiefl/pooltool/assets/8688665/744fcd33-2e6a-4b8d-a727-634bb8295124\" width=\"200\" alt=\"rtd\">\n</a>\n\nAll resources are hosted at [https://pooltool.readthedocs.io](https://pooltool.readthedocs.io).\n\nQuick links:\n\n1. [\ud83d\udee0\ufe0f **Installation**](https://pooltool.readthedocs.io/en/latest/getting_started/install.html)\n1. [\ud83d\udcda Examples](https://pooltool.readthedocs.io/en/latest/examples/index.html)\n1. [\ud83d\udd0c API Reference](https://pooltool.readthedocs.io/en/latest/autoapi/pooltool/index.html)\n\n# Join the community\n\n[![Discord](https://img.shields.io/badge/Discord-Join%20Server-7289da?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/8Y8qUgzZhz)\n\nIf you want to ask questions, get help, or contribute to the codebase, please join the Discord and introduce yourself.\n\nIf the Discord link is expired, please make an issue in this repo.\n\n# Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n\n# Blog\n\nI have blogged about many aspects of this project. Read the detailed account [here](https://ekiefl.github.io/projects/pooltool/).\n\n# Citation\n\nIf you use pooltool in your research/project/product, please cite the JOSS publication:\n\n[![DOI](https://joss.theoj.org/papers/10.21105/joss.07301/status.svg)](https://doi.org/10.21105/joss.07301)\n\n```\n@article{Kiefl2024,\n doi = {10.21105/joss.07301},\n url = {https://doi.org/10.21105/joss.07301},\n year = {2024},\n publisher = {The Open Journal},\n volume = {9},\n number = {101},\n pages = {7301},\n author = {Evan Kiefl},\n title = {Pooltool: A Python package for realistic billiards simulation},\n journal = {Journal of Open Source Software}\n}\n```\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A sandbox billiards game that emphasizes realistic physics.",
"version": "0.4.2",
"project_urls": {
"Documentation": "https://pooltool.readthedocs.io/en/latest/",
"Homepage": "https://pooltool.readthedocs.io/en/latest/",
"Repository": "https://github.com/ekiefl/pooltool"
},
"split_keywords": [
"simulation",
" physics",
" pool",
" billiards",
" panda3d",
" snooker",
" eight-ball"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e059697f0c96a49ea2adffeef3076b7ed465ff5a8526383f1216f5a8c470b41e",
"md5": "d325b003efb118c45943441a555b14d3",
"sha256": "be8ba04724ab2e9b9c9e914efb8fe7ff3773bbd871267330af176f62dfb60f0b"
},
"downloads": -1,
"filename": "pooltool_billiards-0.4.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d325b003efb118c45943441a555b14d3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.9",
"size": 29169981,
"upload_time": "2024-10-15T03:26:12",
"upload_time_iso_8601": "2024-10-15T03:26:12.746561Z",
"url": "https://files.pythonhosted.org/packages/e0/59/697f0c96a49ea2adffeef3076b7ed465ff5a8526383f1216f5a8c470b41e/pooltool_billiards-0.4.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ff3d0d6b35dfee0cc54fe6d267c307ae9a4266313a2fd61281ee9ee0ad6d80f3",
"md5": "677284e5a93362e51245f9e46f69f1e2",
"sha256": "d85dfc9c79e4332cfeab2fb045474424e1a9054971078f52d96255a5d1ec5540"
},
"downloads": -1,
"filename": "pooltool_billiards-0.4.2.tar.gz",
"has_sig": false,
"md5_digest": "677284e5a93362e51245f9e46f69f1e2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.9",
"size": 29125867,
"upload_time": "2024-10-15T03:26:16",
"upload_time_iso_8601": "2024-10-15T03:26:16.976938Z",
"url": "https://files.pythonhosted.org/packages/ff/3d/0d6b35dfee0cc54fe6d267c307ae9a4266313a2fd61281ee9ee0ad6d80f3/pooltool_billiards-0.4.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-15 03:26:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ekiefl",
"github_project": "pooltool",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pooltool-billiards"
}