{"id":37688735,"url":"https://github.com/h3nry-d1az/cavendish","last_synced_at":"2026-01-16T12:38:56.511Z","repository":{"id":258197015,"uuid":"872663322","full_name":"h3nry-d1az/cavendish","owner":"h3nry-d1az","description":"Yet another gravitational physics simulator","archived":false,"fork":false,"pushed_at":"2024-11-05T17:36:19.000Z","size":46,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-04T22:48:20.273Z","etag":null,"topics":["2d-graphics","gui","physics-simulation","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-sa-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/h3nry-d1az.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-14T20:54:14.000Z","updated_at":"2025-02-19T19:22:03.000Z","dependencies_parsed_at":"2024-10-18T00:50:15.107Z","dependency_job_id":"7ecb2a35-ee8a-47ec-a4c6-3eafcd7dcdd6","html_url":"https://github.com/h3nry-d1az/cavendish","commit_stats":null,"previous_names":["h3nry-d1az/cavendish"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/h3nry-d1az/cavendish","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/h3nry-d1az%2Fcavendish","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/h3nry-d1az%2Fcavendish/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/h3nry-d1az%2Fcavendish/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/h3nry-d1az%2Fcavendish/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/h3nry-d1az","download_url":"https://codeload.github.com/h3nry-d1az/cavendish/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/h3nry-d1az%2Fcavendish/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478710,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2d-graphics","gui","physics-simulation","python"],"created_at":"2026-01-16T12:38:56.418Z","updated_at":"2026-01-16T12:38:56.494Z","avatar_url":"https://github.com/h3nry-d1az.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/logo.png\"\u003e\n  \u003cbr\u003e\n  \u003cbr\u003e\n  \u003ci\u003eYet another gravitational physics simulator\u003c/i\u003e\n\u003c/div\u003e\n\n\u003chr\u003e\n\n**Cavendish** is a gravitational physics simulator written wholly in Python with the aid of pygame and tkinter. It was developed in under a week as a proof of concept for my physics class, and it shall be regarded as such.\n\nIts name comes from my far better-renowned namesake **Sir Henry Cavendish**, the first measurer of $G$—the universal gravitational constant—, a magnitude profoundly intertwined with the formulae of this program.\n\n# Running the simulation\nIn order to execute this program, you have two different options at your disposal. You can either download the pre-compiled Windows binaries from the [\"Releases\"](https://github.com/h3nry-d1az/cavendish/releases) section, or whether not suitable, utilize the `main.py` script. A third possible alternative is to compile your own build of the project, yet it is not necessary by any means.\n\nNonetheless, further instructions on the latter two procedures will be developed below.\n\n## Executing `main.py`\nThe `main.py` script contains the launcher of the simulation, so executing it is the recommended way to proceed.\n\nFirstly, ensure pygame is installed on your system by running\n```bash\npip install pygame\n```\n\nFinally, run `main.py` with Python (no command line arguments are accepted):\n```\npython ./main.py\n```\n\n## Compiling with pyinstaller\nThis method demands an additional dependency, namely pyinstaller, which can be obtained likewise via pip:\n```bash\npip install pyinstaller\n```\nThe `Makefile` will be in charge of all the magic, so one only needs to invoke it:\n```bash\nmake\n```\n\nYour fresh, newly-compiled binaries will be available at `dist/cavendish`.\n\n# Controls\n\u003ctable\u003e\u003cthead\u003e\n  \u003ctr\u003e\n    \u003cth\u003eKey\u003c/th\u003e\n    \u003cth\u003eAction\u003c/th\u003e\n  \u003c/tr\u003e\u003c/thead\u003e\n\u003ctbody\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ckbd\u003e↑↓←→\u003c/kbd\u003e\u003c/td\u003e\n    \u003ctd\u003eMove the camera.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ckbd\u003e+\u003c/kbd\u003e/\u003ckbd\u003e-\u003c/kbd\u003e\u003c/td\u003e\n    \u003ctd\u003eZoom in/zoom out.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ckbd\u003e␣\u003c/kbd\u003e\u003c/td\u003e\n    \u003ctd\u003ePause/unpause the simulation.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eLeft click\u003c/td\u003e\n    \u003ctd\u003eSpawn entity.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eRight click\u003c/td\u003e\n    \u003ctd\u003eDespawn entity.\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\n# [License](LICENSE)\n[...]\n\nCreative Commons Attribution-ShareAlike 4.0 International Public\nLicense\n\nBy exercising the Licensed Rights (defined below), You accept and agree\nto be bound by the terms and conditions of this Creative Commons\nAttribution-ShareAlike 4.0 International Public License (\"Public\nLicense\"). To the extent this Public License may be interpreted as a\ncontract, You are granted the Licensed Rights in consideration of Your\nacceptance of these terms and conditions, and the Licensor grants You\nsuch rights in consideration of benefits the Licensor receives from\nmaking the Licensed Material available under these terms and\nconditions.\n\n[...]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fh3nry-d1az%2Fcavendish","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fh3nry-d1az%2Fcavendish","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fh3nry-d1az%2Fcavendish/lists"}