Automatically generate structured, AI-enhanced summaries of Jupyter Notebook changes on each commit. Designed to improve research reproducibility, documentation, and collaboration with minimal manual effort.
- Automatic Summarization: Uses LLMs to compare notebook versions and generate concise summaries.
- Version Comparison: Detects and compares
.ipynbchanges between commits. - New Notebook Detection: Gracefully handles newly created notebooks by summarizing content.
- Improvement Suggestions: Provides suggestions to enhance code readability, structure, or clarity.
- GitHub Actions Integration: Fully automated pipeline runs on notebook updates.
- Artifact Output: Summaries saved as markdown files and uploaded as artifacts.
-
Fork or Clone this repository.
-
Add your API Key (e.g., Gemini API):
- Store the key as a GitHub secret:
- Go to Settings → Secrets → Actions.
- Add a new secret named:
GEMINI_API_KEY.
- Store the key as a GitHub secret:
-
Use the correct folder structure:
- Your Jupyter notebooks should live in the root or subdirectories.
- The ALN workflow will detect and summarize any notebook changed in
main.
-
Push a Commit with a
.ipynbfile:- The GitHub Action will:
- Compare notebook changes
- Generate summaries
- Upload markdown artifacts under
aln_output/
- The GitHub Action will:
- Python 3.9
google-generativeai(Gemini API)nbconvertpytzgit,bash, and GitHub Actions
This project is licensed under the MIT License.
Pull requests and issues are welcome. If you have ideas to improve accuracy, formatting, or add support for more file types, feel free to open a PR.