https://github.com/chanind/mathlib-changelog
https://github.com/chanind/mathlib-changelog
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/chanind/mathlib-changelog
- Owner: chanind
- License: mit
- Created: 2022-07-08T12:17:01.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-09-09T03:53:20.000Z (10 months ago)
- Last Synced: 2025-09-09T06:33:16.269Z (10 months ago)
- Language: Lean
- Homepage: https://mathlib-changelog.org
- Size: 147 MB
- Stars: 10
- Watchers: 3
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.v3.full.json
- License: LICENSE
Awesome Lists containing this project
README
# mathlib-changelog
[](https://github.com/chanind/mathlib-changelog)
[](https://github.com/chanind/mathlib-changelog)
[](https://mathlib-changelog.org)
### Explore the changelog at [mathlib-changelog.org](https://mathlib-changelog.org/)
This Repo maintains an auto-updating list of the commits to [mathlib](https://github.com/leanprover-community/mathlib) for [Lean](https://leanprover.github.io/) to have these in a searchable, indexable location.
Currently this pulls in git commit messages, and attempts to parse out the changed `lemma`, `def`, `theorem`, `inductive`, `abbreviation`, and `structure` in the commit. This is just based on looking at the file in the commit, and doesn't load a full lean/mathlib environment, so it's not guaranteed to catch every change (but it should be pretty close!).
The full changelog in the following formats:
- JSON is available in [CHANGELOG.v3.full.json](https://raw.githubusercontent.com/chanind/mathlib-changelog/main/CHANGELOG.v3.full.json) and [CHANGELOG.v4.full.json](https://raw.githubusercontent.com/chanind/mathlib-changelog/main/CHANGELOG.v4.full.json)
- plaintext is available in [CHANGELOG.v3.full.txt](https://raw.githubusercontent.com/chanind/mathlib-changelog/main/CHANGELOG.v3.full.txt) and [CHANGELOG.v4.full.txt](https://raw.githubusercontent.com/chanind/mathlib-changelog/main/CHANGELOG.v4.full.txt)
- web is available at [mathlib-changelog.org/changelog](https://mathlib-changelog.org/changelog)
## Project structure
This project consists of 3 components:
- The exported changelogs, in the base directory
- A crawler written in Python, which scans the `mathlib` git repo and builds the changelogs. This lives in the `crawler` directory
- A static site for viewing the changelog, written in Typescript and Next.js/React. This lives in the `website` directory
### Website
To build the website, change into the `website` directory.
- To install dependencies, run `yarn install`
- To build the search index used on the main page of the site, run `yarn build:search`
- To run a development environment, run `yarn dev`
- To build a production version of the site, run `yarn build`
### Crawler
To use the crawler, change into the `crawler` directory. The crawler is a Python project and uses Poetry to manage dependencies and build environment. Flake8 is used for linting, MyPy is used for type-checking, and Black is used for code formatting.
- To install dependencies, run `poetry install`
- To run tests, run `poetry run pytest`
- To run linting and type checks, run `poetry run flake8 .` and `poetry run mypy .`
- To run the crawler, run `poetry run python -m crawler.crawl`
## Contributing
Contributions are welcome! If you have an idea for an improvement or want to report a bug, feel free to open an issue. If you want to work on a fix or improvement directly, open up a pull request in this repo.
## License
This code is released under an MIT license