{"id":13993893,"url":"https://github.com/utensil/ginac-lean","last_synced_at":"2025-06-22T21:38:57.545Z","repository":{"id":195517261,"uuid":"692962538","full_name":"utensil/ginac-lean","owner":"utensil","description":"A work-in-progress Lean 4 binding to GiNaC","archived":false,"fork":false,"pushed_at":"2024-10-09T05:33:20.000Z","size":655,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-15T10:14:59.120Z","etag":null,"topics":["lean","lean4"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/utensil.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-18T04:11:45.000Z","updated_at":"2024-10-09T05:33:24.000Z","dependencies_parsed_at":"2024-01-18T04:51:45.923Z","dependency_job_id":"4fd862cf-2ad8-4f03-b3cd-e77650a24ff4","html_url":"https://github.com/utensil/ginac-lean","commit_stats":null,"previous_names":["utensil/ginac-lean"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/utensil/ginac-lean","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utensil%2Fginac-lean","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utensil%2Fginac-lean/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utensil%2Fginac-lean/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utensil%2Fginac-lean/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/utensil","download_url":"https://codeload.github.com/utensil/ginac-lean/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utensil%2Fginac-lean/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261373761,"owners_count":23148920,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["lean","lean4"],"created_at":"2024-08-09T14:02:36.859Z","updated_at":"2025-06-22T21:38:52.534Z","avatar_url":"https://github.com/utensil.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# GinacLean\n\n[![build](https://github.com/utensil/ginac-lean/actions/workflows/ci.yml/badge.svg)](https://github.com/utensil/ginac-lean/actions/workflows/ci.yml) [![On Reservoir](https://img.shields.io/badge/On-Reservoir-657584?style=flat)](https://reservoir.lean-lang.org/@utensil/GinacLean)\n\nA work-in-progress Lean 4 binding to [GiNaC](https://www.ginac.de/), which is an open-source symbolic computation library in C++, it has extensive algebraic capabilities, and has been specifically developed to be an engine for high energy physics applications.\n\nSee [this doc](doc/ffi.md) to learn more.\n\n## Status\n\nThe work started on Sep 18, 2023, and it's still at an early stage, mostly a POC, and nowhere near a complete binding. It's encouraged to draw inspiration from this project, but it's not recommended to use it in production.\n\nThis project is still on my thoughts, and I'm still trying to figure out the best way to proceed.\n\nIf one is interested in using GiNaC in Lean, discussions are welcome (by opening an issue, or pinging me on Lean Zulip), including about creating other bindings.\n\n## Development\n\n```bash\nlake -R build\n# Follow https://pre-commit.com/ to install pre-commit\n# pyenv shell 3.11\n# brew install pre-commit\n# pre-commit install\n```\n\n## License\n\nTL;DR: Practically, if one uses GinacLean to use GiNaC, one must comply with the GPL license. But this repository itself only contains MIT licensed code.\n\nGinacLean itself is licensed under the MIT license, see [LICENSE](LICENSE) for details. It means any code at rest in this repository can be considered as MIT licensed.\n\nBut GiNaC is licensed under the GPL license (version 2 [or later](https://www.ginac.de/pipermail/ginac-list/2024-April/002475.html)), see [COPYING](COPYING) for details. When built or at runtime, GinacLean interacts with the GPL licensed GiNaC library, thus the GPL license applies to all of GinacLean. See [this answer on SE](https://opensource.stackexchange.com/a/4557/35422) for more details.\n\nGiNaC depends on [CLN](https://www.ginac.de/CLN/) which is also GPL licensed. The discussion above applies to CLN as well.\n\nOne subtlety is that in [releases of GinacLean](https://github.com/utensil/ginac-lean/releases), GiNaC/CLN might be included (thus redistributed), so any such release should be considered as GPL licensed. But the plan is to make no such releases.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futensil%2Fginac-lean","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Futensil%2Fginac-lean","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futensil%2Fginac-lean/lists"}