Coding super-intelligence to find the most optimized Python code. Use it to optimize existing codebases or new Pull requests as a GitHub Action or a VS Code Extension.
Find a file
2025-04-13 12:53:15 +05:30
.github/workflows try folded block scalar notation 2025-04-13 12:50:41 +05:30
code_to_optimize determinism 2025-04-03 22:30:15 -05:00
codeflash test wf changes(test PR) 2025-04-13 12:53:15 +05:30
docs minor 2025-03-31 15:44:39 -07:00
tests Update end_to_end_test_tracer_replay.py 2025-04-04 00:42:36 -05:00
.gitignore Use Pathlib instead, added .DS_Store to .gitignore 2025-02-14 23:19:14 +08:00
codeflash.code-workspace pass the right directory as arg 2025-03-03 15:17:40 -08:00
mypy_allowlist.txt mypy fixes 2024-12-26 14:46:26 -08:00
pyproject.toml Merge remote-tracking branch 'origin/main' into line-profiler 2025-04-01 16:21:42 -07:00
README.md Apply suggestions from code review 2025-03-07 19:22:52 -08:00

Codeflash-banner

GitHub commit activity PyPI Downloads PyPI Downloads

Codeflash is a general purpose optimizer for Python that automatically improves the performance of your Python code while maintaining its correctness. It uses advanced LLMs to generate multiple optimization ideas for your code, tests them to be correct and benchmarks them for performance. It then creates merge-ready pull requests containing the best optimization found, which you can review and merge.

How to use Codeflash -

  • Optimize an entire existing codebase by running codeflash --all
  • Automate optimizing all future code you will write by installing Codeflash as a GitHub action.
  • Optimize a Python workflow end-to-end by tracing the workflow.

Codeflash is used by top engineering teams at Pydantic, Langflow, Albumentations and many others to ship performant, expert level code.

Codeflash is great at optimizing AI Agents, Computer Vision algorithms, numerical code, backend code or anything else you might write with Python.

Installation

To install Codeflash, run:

pip install codeflash

Add codeflash as a development time dependency if you are using package managers like uv or poetry.

Quick Start

  1. To configure Codeflash for a project, at the root directory of your project where the pyproject.toml file is located, run:

    codeflash init
    
    • It will ask you a few questions about your project like the location of your code and tests
    • Ask you to generate an API Key to access Codeflash's LLMs
    • Install a GitHub app to open Pull Requests on GitHub.
    • Ask if you want to setup a GitHub actions which will optimize all your future code.
    • The codeflash config is then saved in the pyproject.toml file.
  2. Optimize your entire codebase:

    codeflash --all
    

    This can take a while to run for a large codebase, but it will keep opening PRs as it finds optimizations.

Documentation

For detailed installation and usage instructions, visit our documentation at docs.codeflash.ai

Demo

  • Optimizing the performance of new code for a Pull Request through GitHub Actions. This lets you ship code quickly while ensuring it remains performant.

https://github.com/user-attachments/assets/38f44f4e-be1c-4f84-8db9-63d5ee3e61e5

Support

Join our community for support and discussions. If you have any questions, feel free to reach out to us using one of the following methods:

License

Codeflash is licensed under the BSL-1.1 License. See the LICENSE file for details.