4.8 KiB
AGENTS.md
Project Overview
awesome-quant is a curated list of quantitative finance libraries, packages,
and resources. The source of truth is README.md; the static website is
generated into site/index.html.
The README is organized by category headings (##), not by language headings.
Project metadata is stored in inline backtick tags inside each entry. Tags commonly identify
languages, but may also identify runtimes, protocols, interfaces, data types, or domains.
Architecture
README.mdcontains curated entries.parse.pyparsesREADME.md, enriches GitHub/CRAN/PyPI metadata, and writessite/projects.csv.site/generate.pyreadssite/projects.csvwhen present, otherwise parsesREADME.mddirectly for local previews, then writessite/index.html..github/workflows/build.ymlruns the parser and generator, then deployssite/to GitHub Pages.
Commands
# Install deps (requires Python 3.11+)
uv sync --no-install-project
# Validate README entries changed in a PR
uv run python scripts/validate_readme.py --diff-from origin/main
# Validate the full README; legacy format/duplicate/URL issues are warnings by default
uv run python scripts/validate_readme.py
# Run parser (requires GitHub token)
GITHUB_ACCESS_TOKEN=<token> uv run python parse.py
# Generate static site
uv run python site/generate.py
Entry Format
The critical parser regex is:
^\s*- \[(.*)\]\((.*)\) - (.*)$
Accepted entry examples:
- [Project Name](https://github.com/owner/repo) - `Python` - Description ending with a period.
- [Project Name](https://github.com/owner/repo) - `Python` `Rust` - Description ending with a period.
- [Project Name](https://site.com) - `Python` - Description ending with a period. [GitHub](https://github.com/owner/repo)
- [Package Name](https://cran.r-project.org/package=pkg) - `R` - Description ending with a period.
- [package-name](https://pypi.org/project/pkg/) - `Python` - Description ending with a period.
Rules:
- New non-commercial entries must include one or more concise backtick tags followed by
-. Tags form a compact tag cloud and are not restricted to programming languages. - Each tag must use its own backtick pair, for example
`Python` `C++` `MCP`. - Descriptions must end with a period before the optional
[GitHub](...)link. - URLs in new entries must use
https://. - A valid GitHub repository used as the main URL or exact
[GitHub](...)suffix is a strong positive relevance signal. Review its activity and documentation rather than treating non-language tags as format errors. - Commercial/proprietary projects belong in
## Commercial & Proprietary Services. - Backtick tags are optional only for commercial services and other metadata-free
sections such as
Related Lists. - Use
CONTRIBUTING.mdas the user-facing source for contribution rules.
PR Review Workflow
This repo receives most contributions as pull requests adding README entries. Use Codex repo skills for repeatable review workflows:
$sprr- single PR reviewer.$bprr- bulk PR reviewer.$update-pypi-dates- refresh tracked PyPI last-updated dates.
Review requirements:
- Only review the PRs the user asked you to review.
- Use GitHub MCP tools for PR operations, not the
ghCLI. - Present findings before any PR-modifying action.
- Always ask the user before commenting, labeling, closing, or merging.
- Check section placement, duplicates in
README.md, entry format, URL format, and project activity/documentation. Give substantial positive weight to a verifiable GitHub repository mentioned as either the main URL or exact suffix. - Use the
reviewedlabel only after the user approves a review comment.
GitHub MCP Tools
This project expects Codex to have a GitHub MCP server configured for PR work. Useful tool capabilities include:
- List open pull requests.
- Get PR details, files, comments, labels, and diffs.
- Fetch
README.mdfrom the default branch for duplicate checks. - Add PR comments and labels.
- Merge pull requests after explicit user approval.
See docs/codex-setup.md for local Codex setup notes. If GitHub MCP tools are
not available in a session, report that PR operations are blocked and ask the
user to configure the MCP server.
Local Validation Notes
scripts/validate_readme.py --diff-from <ref>is intended for PR checks. It validates only added README entries and treats duplicates/URL issues as errors for those additions.scripts/validate_readme.pyvalidates the full README. Legacy format, duplicate, and URL problems are reported as warnings unless strict flags are used.parse.pyrequiresGITHUB_ACCESS_TOKEN;site/generate.pycan run without the token ifsite/projects.csvalready exists or if it falls back to direct README parsing.