mirror of
https://github.com/wilsonfreitas/awesome-quant.git
synced 2026-07-27 20:07:50 +00:00
75b42c3604
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
awesome-quant is a curated list of quantitative finance libraries, packages, and resources. The primary content lives in README.md — a large markdown file organized by programming language (Python, R, Matlab, Julia, Java, JavaScript, etc.) with categorized links to open-source projects.
A companion website is generated from this data and deployed to GitHub Pages.
Architecture
The pipeline works as follows:
README.md— The source of truth. All library entries follow the format:- [name](url) - Description.parse.py— ParsesREADME.md, extracts GitHub repo URLs, fetches last commit dates via the GitHub API (usingPyGithubwith multithreading), and writessite/projects.csv.site/— A Quarto website project (_quarto.yml) that rendersprojects.csvinto an interactive table. Output goes tosite/docs/.- CI (
.github/workflows/build.yml) — Runs daily and on push tomaster: runsparse.py, renders the Quarto site, and deploys to GitHub Pages viagh-pagesbranch.
Supporting scripts:
cranscrape.py— Scrapes CRAN package pages to find associated GitHub repos; writescran.csv.topic.py— Searches GitHub for repos tagged with a topic (e.g., "quant") above a star threshold.
Commands
# Install dependencies (uses Poetry, requires Python 3.11+)
poetry install --no-root
# Run the parser (requires GITHUB_ACCESS_TOKEN env var)
GITHUB_ACCESS_TOKEN=<token> poetry run python parse.py
# Render the Quarto site (requires Quarto + R with knitr/rmarkdown/DT)
quarto render site
Contributing Entries
Each entry in README.md must follow the pattern:
- [Project Name](https://url) - Short description ending with a period.
Entries are grouped under language headings (##) and category subheadings (###). parse.py relies on this exact regex pattern to extract entries: ^\s*- \[(.*)\]\((.*)\) - (.*)$