virattt/ai-hedge-fundPublic

An AI Hedge Fund Team

AI summary: An experimental framework for simulating algorithmic trading strategies using multi-agent LLM consensus.

Stars
63.8K
+29 today
Forks
11.2K
Watchers
673
Open issues
54
Open PRs
113
Contributors
~47
Commits
921
Branches
1

PythonMITCreated Nov 29, 2024Last push 2d agoLatest release v2.4.0+102 stars this week+629 this month

Quick answers

What is ai-hedge-fund?
An experimental framework for simulating algorithmic trading strategies using multi-agent LLM consensus.
What does ai-hedge-fund do?
This project explores the intersection of quantitative finance and generative AI by simulating a hedge fund managed entirely by large language models. It deploys multiple distinct AI agents—each adopting a specific persona like fundamental analyst, technical trader, or risk manager. These agents analyze real-time market data, financial news, and historical trends to debate and propose trading actions. The system aggregates their insights using a sophisticated consensus mechanism to finalize portfolio allocations. It provides a robust backtesting engine to evaluate the performance of these AI-driven strategies against historical market conditions.
Who is ai-hedge-fund for?
Aimed at quantitative analysts, financial researchers, and AI hobbyists interested in algorithmic trading. Requires a strong understanding of financial markets, Python programming, and access to relevant financial data APIs.
How do I get started with ai-hedge-fund?
pip install -r requirements.txt && python main.py
How popular is ai-hedge-fund on GitHub?
virattt/ai-hedge-fund has 63,840 stars and 11,218 forks on GitHub, and gained 102 stars in the last 7 days.
What license does ai-hedge-fund use?
virattt/ai-hedge-fund is released under the MIT license.

Star history

since Nov 24, 2024
020K40K60KNov 2024Jul 2025Feb 2026Oct 2026
63.8K stars as of Oct 3, 2026. Before Jul 29, 2026, reconstructed from public GitHub event archives (checked against the repository's real star total); since then measured daily.

Contribution activity

commits per day, last 52 weeks
SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 1 commit2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 1 commit2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 1 commit2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 1 commit2025-11-30: 0 commits2025-12-01: 1 commit2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 1 commit2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 1 commit2026-03-07: 1 commit2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 2 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 1 commit2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 1 commit2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 2 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 1 commit2026-04-07: 1 commit2026-04-08: 0 commits2026-04-09: 1 commit2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 3 commits2026-04-15: 4 commits2026-04-16: 1 commit2026-04-17: 1 commit2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 1 commit2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 1 commit2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 1 commit2026-05-04: 3 commits2026-05-05: 1 commit2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 1 commit2026-05-09: 2 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 2 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 1 commit2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 2 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 1 commit2026-06-09: 2 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 1 commit2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 2 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 3 commits2026-07-01: 0 commits2026-07-02: 1 commit2026-07-03: 3 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 13 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 11 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 5 commits2026-07-24: 1 commit2026-07-25: 0 commits2026-07-26: 1 commit2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 6 commits2026-07-31: 1 commit2026-08-01: 0 commits2026-08-02: 1 commit2026-08-03: 0 commits2026-08-04: 4 commits2026-08-05: 0 commits2026-08-06: 0 commits2026-08-07: 2 commits2026-08-08: 0 commits2026-08-09: 0 commits2026-08-10: 0 commits2026-08-11: 0 commits2026-08-12: 0 commits2026-08-13: 0 commits2026-08-14: 0 commits2026-08-15: 0 commits2026-08-16: 0 commits2026-08-17: 0 commits2026-08-18: 0 commits2026-08-19: 0 commits2026-08-20: 0 commits2026-08-21: 0 commits2026-08-22: 0 commits2026-08-23: 0 commits2026-08-24: 0 commits2026-08-25: 0 commits2026-08-26: 0 commits2026-08-27: 0 commits2026-08-28: 0 commits2026-08-29: 0 commits2026-08-30: 0 commits2026-08-31: 0 commits2026-09-01: 0 commits2026-09-02: 0 commits2026-09-03: 2 commits2026-09-04: 0 commits2026-09-05: 0 commits2026-09-06: 0 commits2026-09-07: 0 commits2026-09-08: 0 commits2026-09-09: 0 commits2026-09-10: 0 commits2026-09-11: 0 commits2026-09-12: 0 commits2026-09-13: 0 commits2026-09-14: 0 commits2026-09-15: 0 commits2026-09-16: 0 commits2026-09-17: 0 commits2026-09-18: 6 commits2026-09-19: 0 commits2026-09-20: 0 commits2026-09-21: 0 commits2026-09-22: 3 commits2026-09-23: 0 commits2026-09-24: 6 commits2026-09-25: 0 commits2026-09-26: 0 commits
116 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Landmark project

    63,840 stars

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

What ai-hedge-fund does

This project explores the intersection of quantitative finance and generative AI by simulating a hedge fund managed entirely by large language models. It deploys multiple distinct AI agents—each adopting a specific persona like fundamental analyst, technical trader, or risk manager. These agents analyze real-time market data, financial news, and historical trends to debate and propose trading actions. The system aggregates their insights using a sophisticated consensus mechanism to finalize portfolio allocations. It provides a robust backtesting engine to evaluate the performance of these AI-driven strategies against historical market conditions.

Aimed at quantitative analysts, financial researchers, and AI hobbyists interested in algorithmic trading. Requires a strong understanding of financial markets, Python programming, and access to relevant financial data APIs.

  • Multi-agent architecture: Employs diverse AI personas to provide varied perspectives on market conditions.
  • Live data ingestion: Connects to financial APIs to pull real-time stock prices and relevant news articles.
  • Consensus mechanism: Utilizes a voting algorithm to determine the final trade action based on agent debates.
  • Backtesting engine: Allows users to simulate strategies on historical data to evaluate potential returns.
  • Risk management constraints: Enforces strict hardcoded limits to prevent catastrophic AI hallucinations during trading.

Where teams use it

Strategy exploration

Provides a sandbox for quantitative analysts to test unconventional, AI-driven trading theories.

Market sentiment analysis

Aggregates complex financial news into actionable insights using natural language processing.

Educational simulation

Serves as a learning tool for understanding market dynamics and algorithmic trading concepts.

Automated portfolio rebalancing

Experimentally manages the allocation of assets based on continuous macro-economic analysis.

Getting started: pip install -r requirements.txt && python main.py

README

main branch

AI Hedge Fund

This is a proof of concept for an AI-powered hedge fund. The goal of this project is to explore the use of AI to make trading decisions. This project is for educational purposes only and is not intended for real trading or investment.

image

Note: the system does not actually make any trades.

Twitter Follow

Disclaimer

This project is for educational and research purposes only.

  • Not intended for real trading or investment
  • No investment advice or guarantees provided
  • Creator assumes no liability for financial losses
  • Consult a financial advisor for investment decisions
  • Past performance does not indicate future results

By using this software, you agree to use it solely for learning purposes.

How to Install

pipx install aihf

(or uv tool install aihf, or pip install aihf into an environment of your choice)

Then run it from anywhere:

aihf

API keys

The app asks for keys the first time it needs them and saves them to ~/.hedge-fund/.env — nothing to configure up front. It needs:

  • A Financial Datasets API key, for prices, fundamentals, and earnings.
  • One model API key for the investor agents. Supported providers: Anthropic, OpenAI, DeepSeek, Google, xAI, Kimi, TypeSafe (Jev).

Keys exported in your shell always win over the saved file.

How to Run

Interactive app

aihf

With no arguments, this launches the interactive terminal app. Build a fund — pick stocks, strategies, rebalance cadence — or backtest a saved fund and watch its equity curve draw against its benchmark. Funds you build are saved as mandate files in ~/.hedge-fund/mandates/.

Non-interactive

Run one fund cycle from a mandate file. The full cycle record prints to stdout as JSON; a short human summary goes to stderr:

aihf ~/.hedge-fund/mandates/example.yaml --tickers AAPL,MSFT

Run the same mandate with Jev after configuring TYPESAFE_API_KEY:

aihf ~/.hedge-fund/mandates/example.yaml --tickers AAPL,MSFT --model jev-1.13.0

Backtest the mandate over history at its rebalance cadence:

aihf ~/.hedge-fund/mandates/example.yaml --tickers AAPL,MSFT --backtest

A mandate is the desk — strategies, staff, risk, capital, cadence — and never names tickers; --tickers says what to point it at for this run.

Development

git clone https://github.com/virattt/ai-hedge-fund.git
cd ai-hedge-fund
poetry install
poetry run aihf
poetry run pytest hedge_fund

How to Contribute

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

Important: Please keep your pull requests small and focused. This will make it easier to review and merge.

Feature Requests

If you have a feature request, please open an issue and make sure it is tagged with enhancement.

License

This project is licensed under the MIT License - see the LICENSE file for details.

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Releases and announcements

14 total
  1. ai-hedge-fund 2.4.0v2.4.0Sep 24, 2026

    ### Changes - Update README - Add system diagram to README - Reassess investment decisions before next-close execution - Enforce analyst investment rules in portfolio construction - Derive strategy investment rules from analyst approaches

  2. ai-hedge-fund 2.3.1v2.3.1Sep 22, 2026

    ### Changes - Add the latest models - Add Opus 5.5 - Update the models

  3. ai-hedge-fund 2.3.0v2.3.0Sep 18, 2026

    ### Changes - Add Jev (TypeSafe) as an LLM provider for typed investor assessments - Add GPT-6 Astra and Claude Fable 5.1 ### Fixes - Fix selector colors

  4. ai-hedge-fund 2.2.0v2.2.0Aug 7, 2026

    ### Changes - Rename package to aihf - Clean up backtester

  5. ai-hedge-fund 2.1.0v2.1.0Aug 4, 2026

    ### Changes - hedge-fund is now on PyPI: `pipx install hedge-fund`, then run `aihf` from anywhere - New `aihf` command replaces `poetry run` invocations - User data (mandates, cache, API keys) now lives in `~/.hedge-fund/` - The app prompts for missing API keys on first run and saves them for you - Add model selector and thinking support - Add LLM clients (Anthropic, OpenAI, DeepSeek, Google, xAI, Kimi) - v2 is now the default: v1 code and the TypeScript frontend are removed **Full Changelog**: https://github.com/virattt/ai-hedge-fund/compare/v2.0.2...v2.1.0

Code frequency

additions and deletions
+66.9K-66.9KWeek of 2025-09-28: +482 linesWeek of 2025-09-28: -202 linesWeek of 2025-10-05: +1,635 linesWeek of 2025-10-05: -1,034 linesWeek of 2025-10-12: +0 linesWeek of 2025-10-12: -0 linesWeek of 2025-10-19: +0 linesWeek of 2025-10-19: -0 linesWeek of 2025-10-26: +0 linesWeek of 2025-10-26: -0 linesWeek of 2025-11-02: +0 linesWeek of 2025-11-02: -0 linesWeek of 2025-11-09: +479 linesWeek of 2025-11-09: -467 linesWeek of 2025-11-16: +0 linesWeek of 2025-11-16: -0 linesWeek of 2025-11-23: +34 linesWeek of 2025-11-23: -18 linesWeek of 2025-11-30: +1 linesWeek of 2025-11-30: -1 linesWeek of 2025-12-07: +0 linesWeek of 2025-12-07: -0 linesWeek of 2025-12-14: +0 linesWeek of 2025-12-14: -0 linesWeek of 2025-12-21: +0 linesWeek of 2025-12-21: -0 linesWeek of 2025-12-28: +0 linesWeek of 2025-12-28: -0 linesWeek of 2026-01-04: +0 linesWeek of 2026-01-04: -0 linesWeek of 2026-01-11: +0 linesWeek of 2026-01-11: -0 linesWeek of 2026-01-18: +0 linesWeek of 2026-01-18: -0 linesWeek of 2026-01-25: +0 linesWeek of 2026-01-25: -0 linesWeek of 2026-02-01: +6 linesWeek of 2026-02-01: -6 linesWeek of 2026-02-08: +0 linesWeek of 2026-02-08: -0 linesWeek of 2026-02-15: +0 linesWeek of 2026-02-15: -0 linesWeek of 2026-02-22: +0 linesWeek of 2026-02-22: -0 linesWeek of 2026-03-01: +33 linesWeek of 2026-03-01: -11 linesWeek of 2026-03-08: +20 linesWeek of 2026-03-08: -8 linesWeek of 2026-03-15: +1 linesWeek of 2026-03-15: -1 linesWeek of 2026-03-22: +791 linesWeek of 2026-03-22: -20 linesWeek of 2026-03-29: +0 linesWeek of 2026-03-29: -0 linesWeek of 2026-04-05: +170 linesWeek of 2026-04-05: -13 linesWeek of 2026-04-12: +1,063 linesWeek of 2026-04-12: -29 linesWeek of 2026-04-19: +1 linesWeek of 2026-04-19: -0 linesWeek of 2026-04-26: +41 linesWeek of 2026-04-26: -3 linesWeek of 2026-05-03: +1,352 linesWeek of 2026-05-03: -101 linesWeek of 2026-05-10: +1,028 linesWeek of 2026-05-10: -18 linesWeek of 2026-05-17: +5 linesWeek of 2026-05-17: -11 linesWeek of 2026-05-24: +53 linesWeek of 2026-05-24: -3 linesWeek of 2026-05-31: +0 linesWeek of 2026-05-31: -0 linesWeek of 2026-06-07: +52 linesWeek of 2026-06-07: -7 linesWeek of 2026-06-14: +644 linesWeek of 2026-06-14: -540 linesWeek of 2026-06-21: +0 linesWeek of 2026-06-21: -0 linesWeek of 2026-06-28: +618 linesWeek of 2026-06-28: -125 linesWeek of 2026-07-05: +1,605 linesWeek of 2026-07-05: -39 linesWeek of 2026-07-12: +2,911 linesWeek of 2026-07-12: -617 linesWeek of 2026-07-19: +1,040 linesWeek of 2026-07-19: -324 linesWeek of 2026-07-26: +3,936 linesWeek of 2026-07-26: -1,425 linesWeek of 2026-08-02: +13,255 linesWeek of 2026-08-02: -66,885 linesWeek of 2026-08-09: +0 linesWeek of 2026-08-09: -0 linesWeek of 2026-08-16: +0 linesWeek of 2026-08-16: -0 linesWeek of 2026-08-23: +0 linesWeek of 2026-08-23: -0 linesWeek of 2026-08-30: +12 linesWeek of 2026-08-30: -5 linesWeek of 2026-09-06: +0 linesWeek of 2026-09-06: -0 linesWeek of 2026-09-13: +1,621 linesWeek of 2026-09-13: -415 linesWeek of 2026-09-20: +2,463 linesWeek of 2026-09-20: -859 linesSep 28, 2025Sep 20, 2026
+35.4K lines added, -73.2K removed over the last year.

Commits per week

last 52 weeks
130Week of 2025-09-28: 1 commitsWeek of 2025-10-05: 1 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 1 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 1 commitsWeek of 2025-11-30: 1 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 1 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 2 commitsWeek of 2026-03-08: 2 commitsWeek of 2026-03-15: 1 commitsWeek of 2026-03-22: 3 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 3 commitsWeek of 2026-04-12: 9 commitsWeek of 2026-04-19: 1 commitsWeek of 2026-04-26: 1 commitsWeek of 2026-05-03: 8 commitsWeek of 2026-05-10: 2 commitsWeek of 2026-05-17: 1 commitsWeek of 2026-05-24: 2 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 3 commitsWeek of 2026-06-14: 3 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 7 commitsWeek of 2026-07-05: 13 commitsWeek of 2026-07-12: 11 commitsWeek of 2026-07-19: 6 commitsWeek of 2026-07-26: 8 commitsWeek of 2026-08-02: 7 commitsWeek of 2026-08-09: 0 commitsWeek of 2026-08-16: 0 commitsWeek of 2026-08-23: 0 commitsWeek of 2026-08-30: 2 commitsWeek of 2026-09-06: 0 commitsWeek of 2026-09-13: 6 commitsWeek of 2026-09-20: 9 commitsSep 28, 2025Sep 20, 2026
116 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 2 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 10 commitsSun 9:00 — 4 commitsSun 10:00 — 5 commitsSun 11:00 — 14 commitsSun 12:00 — 17 commitsSun 13:00 — 11 commitsSun 14:00 — 9 commitsSun 15:00 — 4 commitsSun 16:00 — 8 commitsSun 17:00 — 10 commitsSun 18:00 — 8 commitsSun 19:00 — 1 commitsSun 20:00 — 3 commitsSun 21:00 — 9 commitsSun 22:00 — 4 commitsSun 23:00 — 0 commitsMon 0:00 — 0 commitsMon 1:00 — 0 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 18 commitsMon 9:00 — 1 commitsMon 10:00 — 0 commitsMon 11:00 — 4 commitsMon 12:00 — 1 commitsMon 13:00 — 1 commitsMon 14:00 — 1 commitsMon 15:00 — 11 commitsMon 16:00 — 3 commitsMon 17:00 — 48 commitsMon 18:00 — 3 commitsMon 19:00 — 3 commitsMon 20:00 — 14 commitsMon 21:00 — 4 commitsMon 22:00 — 2 commitsMon 23:00 — 3 commitsTue 0:00 — 0 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 5 commitsTue 8:00 — 6 commitsTue 9:00 — 1 commitsTue 10:00 — 2 commitsTue 11:00 — 7 commitsTue 12:00 — 0 commitsTue 13:00 — 7 commitsTue 14:00 — 5 commitsTue 15:00 — 7 commitsTue 16:00 — 3 commitsTue 17:00 — 13 commitsTue 18:00 — 9 commitsTue 19:00 — 6 commitsTue 20:00 — 6 commitsTue 21:00 — 3 commitsTue 22:00 — 4 commitsTue 23:00 — 1 commitsWed 0:00 — 4 commitsWed 1:00 — 0 commitsWed 2:00 — 2 commitsWed 3:00 — 3 commitsWed 4:00 — 0 commitsWed 5:00 — 1 commitsWed 6:00 — 0 commitsWed 7:00 — 11 commitsWed 8:00 — 24 commitsWed 9:00 — 11 commitsWed 10:00 — 2 commitsWed 11:00 — 4 commitsWed 12:00 — 1 commitsWed 13:00 — 2 commitsWed 14:00 — 7 commitsWed 15:00 — 2 commitsWed 16:00 — 5 commitsWed 17:00 — 30 commitsWed 18:00 — 10 commitsWed 19:00 — 3 commitsWed 20:00 — 5 commitsWed 21:00 — 10 commitsWed 22:00 — 5 commitsWed 23:00 — 2 commitsThu 0:00 — 1 commitsThu 1:00 — 0 commitsThu 2:00 — 1 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 1 commitsThu 7:00 — 1 commitsThu 8:00 — 6 commitsThu 9:00 — 5 commitsThu 10:00 — 10 commitsThu 11:00 — 11 commitsThu 12:00 — 9 commitsThu 13:00 — 12 commitsThu 14:00 — 7 commitsThu 15:00 — 12 commitsThu 16:00 — 6 commitsThu 17:00 — 9 commitsThu 18:00 — 28 commitsThu 19:00 — 3 commitsThu 20:00 — 7 commitsThu 21:00 — 3 commitsThu 22:00 — 2 commitsThu 23:00 — 0 commitsFri 0:00 — 0 commitsFri 1:00 — 0 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 1 commitsFri 8:00 — 22 commitsFri 9:00 — 9 commitsFri 10:00 — 7 commitsFri 11:00 — 7 commitsFri 12:00 — 13 commitsFri 13:00 — 5 commitsFri 14:00 — 13 commitsFri 15:00 — 16 commitsFri 16:00 — 11 commitsFri 17:00 — 31 commitsFri 18:00 — 5 commitsFri 19:00 — 3 commitsFri 20:00 — 1 commitsFri 21:00 — 0 commitsFri 22:00 — 1 commitsFri 23:00 — 0 commitsSat 0:00 — 0 commitsSat 1:00 — 0 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 2 commitsSat 9:00 — 6 commitsSat 10:00 — 10 commitsSat 11:00 — 11 commitsSat 12:00 — 8 commitsSat 13:00 — 7 commitsSat 14:00 — 9 commitsSat 15:00 — 26 commitsSat 16:00 — 10 commitsSat 17:00 — 3 commitsSat 18:00 — 11 commitsSat 19:00 — 0 commitsSat 20:00 — 1 commitsSat 21:00 — 0 commitsSat 22:00 — 4 commitsSat 23:00 — 3 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits110 (90%)
Community commits12 (10%)

122 commits in total over the last year.

DateListRankStars gained
Apr 15, 2026daily#16+140
Apr 14, 2026daily#15+150