diff --git a/README.md b/README.md index d82df2185..fa79bc826 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,28 @@ -# Codeflash +![Codeflash-banner](https://i.postimg.cc/GmPRC52t/Codeflash-banner.png) +

+ + GitHub commit activity + + + PyPI Downloads + + + PyPI Downloads + +

-Codeflash is an AI optimization tool that automatically improves the performance of your Python code while maintaining its correctness. +[Codeflash](https://www.codeflash.ai) 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. -![img.png](https://res.cloudinary.com/dkg30tdvl/image/upload/v1731590846/readme-img_df52le.png) +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. -## Features +Codeflash is used by top engineering teams at [Pydantic](https://github.com/pydantic/pydantic/pulls?q=is%3Apr+author%3Amisrasaurabh1+is%3Amerged), [Langflow](https://github.com/langflow-ai/langflow/issues?q=state%3Aclosed%20is%3Apr%20author%3Amisrasaurabh1), [Albumentations](https://github.com/albumentations-team/albumentations/issues?q=state%3Amerged%20is%3Apr%20author%3Akrrt7%20OR%20state%3Amerged%20is%3Apr%20author%3Aaseembits93%20) 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. -- Automatically optimizes your code using AI -- Maintains code correctness through extensive testing -- Opens a pull request for each optimization -- Continuously optimizes your codebase through CI -- Dynamically optimizes your real workflows through tracing ## Installation @@ -19,38 +31,44 @@ 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. Configure Codeflash for your project: - ``` - codeflash init - ``` -2. Optimize a function: +1. To configure Codeflash for a project, at the root directory of your project where the pyproject.toml file is located, run: ``` - codeflash --file path/to/your/file.py --function function_name + 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](https://app.codeflash.ai/app/apikeys) to access Codeflash's LLMs + - Install a [GitHub app](https://github.com/apps/codeflash-ai/installations/select_target) 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. -3. Optimize your entire codebase: +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](https://docs.codeflash.ai) + +## Demo -## Getting the Best Results -To get the most out of Codeflash: +- Optimizing the performance of new code for a Pull Request through GitHub Actions. This lets you ship code quickly while ensuring it remains performant. -1. Install the Github App and actions workflow -2. Find optimizations on your whole codebase with codeflash --all -3. Find and optimize bottlenecks with the Codeflash Tracer -4. Review the PRs Codeflash opens +https://github.com/user-attachments/assets/38f44f4e-be1c-4f84-8db9-63d5ee3e61e5 +## Support -## Learn More +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: -- [Codeflash Website](https://www.codeflash.ai) -- [Documentation](https://docs.codeflash.ai) +- [Join our Discord](https://www.codeflash.ai/discord) +- [Follow us on Twitter](https://x.com/codeflashAI) +- [Follow us on Linkedin](https://www.linkedin.com/in/saurabh-misra/) +- [Email founders](mailto:saurabh@codeflash.ai) ## License