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
62.7K
+54 today
Forks
11K
Watchers
663
Open issues
49
Open PRs
111
Contributors
~47
Commits
889
Branches
1

PythonMITCreated Nov 29, 2024Last push 2d agoLatest release v2.0.1+211 stars this week+211 this month

Star history

since Nov 24, 2024
020K40K60KNov 2024Jun 2025Jan 2026Aug 2026
62.7K stars as of Aug 6, 2026, tracked back to Nov 24, 2024. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulMonWedFri2025-08-03: 0 commits2025-08-04: 0 commits2025-08-05: 2 commits2025-08-06: 1 commit2025-08-07: 1 commit2025-08-08: 0 commits2025-08-09: 1 commit2025-08-10: 0 commits2025-08-11: 1 commit2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 2 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 1 commit2025-08-25: 0 commits2025-08-26: 1 commit2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 0 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 8 commits2025-09-02: 0 commits2025-09-03: 0 commits2025-09-04: 0 commits2025-09-05: 0 commits2025-09-06: 2 commits2025-09-07: 0 commits2025-09-08: 1 commit2025-09-09: 1 commit2025-09-10: 0 commits2025-09-11: 0 commits2025-09-12: 2 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 1 commit2025-09-16: 1 commit2025-09-17: 2 commits2025-09-18: 4 commits2025-09-19: 5 commits2025-09-20: 3 commits2025-09-21: 1 commit2025-09-22: 0 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-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: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits
125 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Landmark project

    62,685 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.

🚧 The project is evolving. We're rebuilding it into a persistent, always-on AI hedge fund — a fund as a first-class entity you can backtest, paper-trade, and (opt-in) run live, with the investor agents reimagined as pluggable, backtestable "alpha models." Read the Vision → and the Roadmap →.

This system employs several agents working together:

  1. Aswath Damodaran Agent - The Dean of Valuation, focuses on story, numbers, and disciplined valuation
  2. Ben Graham Agent - The godfather of value investing, only buys hidden gems with a margin of safety
  3. Bill Ackman Agent - An activist investor, takes bold positions and pushes for change
  4. Cathie Wood Agent - The queen of growth investing, believes in the power of innovation and disruption
  5. Charlie Munger Agent - Warren Buffett's partner, only buys wonderful businesses at fair prices
  6. Michael Burry Agent - The Big Short contrarian who hunts for deep value
  7. Mohnish Pabrai Agent - The Dhandho investor, who looks for doubles at low risk
  8. Nassim Taleb Agent - The Black Swan risk analyst, focuses on tail risk, antifragility, and asymmetric payoffs
  9. Peter Lynch Agent - Practical investor who seeks "ten-baggers" in everyday businesses
  10. Phil Fisher Agent - Meticulous growth investor who uses deep "scuttlebutt" research
  11. Rakesh Jhunjhunwala Agent - The Big Bull of India
  12. Stanley Druckenmiller Agent - Macro legend who hunts for asymmetric opportunities with growth potential
  13. Warren Buffett Agent - The oracle of Omaha, seeks wonderful companies at a fair price
  14. Valuation Agent - Calculates the intrinsic value of a stock and generates trading signals
  15. Sentiment Agent - Analyzes market sentiment and generates trading signals
  16. Fundamentals Agent - Analyzes fundamental data and generates trading signals
  17. Technicals Agent - Analyzes technical indicators and generates trading signals
  18. Risk Manager - Calculates risk metrics and sets position limits
  19. Portfolio Manager - Makes final trading decisions and generates orders
Screenshot 2025-03-22 at 6 19 07 PM

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.

Table of Contents

How to Install

Before you can run the AI Hedge Fund, you'll need to install it and set up your API keys. These steps are common to both the full-stack web application and command line interface.

1. Clone the Repository

git clone https://github.com/virattt/ai-hedge-fund.git
cd ai-hedge-fund

2. Set up API keys

Create a .env file for your API keys:

# Create .env file for your API keys (in the root directory)
cp .env.example .env

Open and edit the .env file to add your API keys:

# For running LLMs hosted by openai (gpt-4o, gpt-4o-mini, etc.)
OPENAI_API_KEY=your-openai-api-key

# For getting financial data to power the hedge fund
FINANCIAL_DATASETS_API_KEY=your-financial-datasets-api-key

Important: You must set at least one LLM API key (e.g. OPENAI_API_KEY, GROQ_API_KEY, ANTHROPIC_API_KEY, or DEEPSEEK_API_KEY) for the hedge fund to work.

How to Run

⌨️ Command Line Interface

You can run the AI Hedge Fund directly via terminal. This approach offers more granular control and is useful for automation, scripting, and integration purposes.

Screenshot 2025-01-06 at 5 50 17 PM

Quick Start

  1. Install Poetry (if not already installed):
curl -sSL https://install.python-poetry.org | python3 -
  1. Install dependencies:
poetry install

Run the AI Hedge Fund

poetry run python src/main.py --ticker AAPL,MSFT,NVDA

You can also specify a --ollama flag to run the AI hedge fund using local LLMs.

poetry run python src/main.py --ticker AAPL,MSFT,NVDA --ollama

You can optionally specify the start and end dates to make decisions over a specific time period.

poetry run python src/main.py --ticker AAPL,MSFT,NVDA --start-date 2024-01-01 --end-date 2024-03-01

Run the Backtester

poetry run python src/backtester.py --ticker AAPL,MSFT,NVDA

Example Output: Screenshot 2025-01-06 at 5 47 52 PM

Note: The --ollama, --start-date, and --end-date flags work for the backtester, as well!

🖥️ Web Application

The new way to run the AI Hedge Fund is through our web application that provides a user-friendly interface. This is recommended for users who prefer visual interfaces over command line tools.

Please see detailed instructions on how to install and run the web application here.

Screenshot 2025-06-28 at 6 41 03 PM

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

8 total
  1. ai-hedge-fund 2.0.1v2.0.1Jul 23, 2026

    ### Changes - Trim the backtest UX: drop attribution, date the receipts, remove the demo - Backtest the fund you design: run_cycle over history

  2. ai-hedge-fund 2.0.0v2.0.0Jul 18, 2026

    ### Changes - Unify the CLI into v2.run: v1-style interactive fund builder - Update docs for agents, pods, and the fund builder. - Add pod-shop strategy library and interactive fund builder - Restructure strategies as pods of models with optional market-neutral blending - Add Munger, Graham, Lynch, and Druckenmiller agents - Add v2.cycle CLI to run one cycle of a fund from a YAML mandate - Add run_cycle: one tick of the fund, the same code path in every mode - Add portfolio construction and risk limits - Add Broker protocol and SimBroker - Add FundSpec: a fund's mandate as YAML data, plus the Fund object - Exclude as_of from snapshot render and hash

  3. ai-hedge-fund 2026.7.10v2026.7.10Jul 10, 2026

    ### Changes - Add loading to analyzer - Update v2 readme - Add v2 demo backtester, CachedDataClient, and analyst CLI - Update roadmap - Add LLM tests - Implement initial Buffett LLMAgent - Add new LLMAgent alpha model - AnthropicLLM class - Add a PromptCache to save on costs - Add FundamentalsSnapshot - Add new python modules - Ignore the cache - Rename fd_client param to data_client to match the frozen contract

  4. ai-hedge-fund 2026.7.3v2026.7.3Jul 3, 2026

    ### Changes - Update the VISION - Link the vision and roadmaps in README - Add VISION.md doc - Add ROADMAP.md ### Fixes - Fix lookahead leak: query metrics by filing_date, fail-loud client, DataClient protocol typing

  5. ai-hedge-fund 2026.6.17v2026.6.17Jun 17, 2026

    ### Changes - Add alpha model interface - Update backtester

Code frequency

additions and deletions
+9.2K-9.2KWeek of 2025-08-03: +349 linesWeek of 2025-08-03: -709 linesWeek of 2025-08-10: +139 linesWeek of 2025-08-10: -15 linesWeek of 2025-08-17: +1,508 linesWeek of 2025-08-17: -1,359 linesWeek of 2025-08-24: +621 linesWeek of 2025-08-24: -34 linesWeek of 2025-08-31: +948 linesWeek of 2025-08-31: -239 linesWeek of 2025-09-07: +695 linesWeek of 2025-09-07: -710 linesWeek of 2025-09-14: +9,239 linesWeek of 2025-09-14: -1,707 linesWeek of 2025-09-21: +1 linesWeek of 2025-09-21: -1 linesWeek 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: +0 linesWeek of 2026-07-26: -0 linesAug 3, 2025Jul 26, 2026
+27.6K lines added, -8.4K removed over the last year.

Commits per week

last 52 weeks
160Week of 2025-08-03: 5 commitsWeek of 2025-08-10: 1 commitsWeek of 2025-08-17: 2 commitsWeek of 2025-08-24: 2 commitsWeek of 2025-08-31: 10 commitsWeek of 2025-09-07: 4 commitsWeek of 2025-09-14: 16 commitsWeek of 2025-09-21: 1 commitsWeek 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: 0 commitsAug 3, 2025Jul 26, 2026
125 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 — 16 commitsSun 13:00 — 11 commitsSun 14:00 — 8 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 — 4 commitsTue 12:00 — 0 commitsTue 13:00 — 6 commitsTue 14:00 — 4 commitsTue 15:00 — 5 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 — 10 commitsThu 12:00 — 7 commitsThu 13:00 — 4 commitsThu 14:00 — 4 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 — 7 commitsFri 10:00 — 1 commitsFri 11:00 — 7 commitsFri 12:00 — 13 commitsFri 13:00 — 4 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 commits126 (81%)
Community commits29 (19%)

155 commits in total over the last year.

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