Browse free open source Python Algorithms and projects below. Use the toggles on the left to filter open source Python Algorithms by OS, license, language, programming language, and project status.

  • Build Agents and Models on One Platform Icon
    Build Agents and Models on One Platform

    Everything you need to build production-ready agents and models. Access 200+ Google and third-party AI models and tools.

    Gemini Enterprise Agent Platform is Google Cloud's comprehensive platform for developers to build, scale, govern, and optimize agents and models. Choose from Google's most advanced models and third-party models like Anthropic's Claude Model Family.
    Try It Free
  • $300 Free Credits to Build on Google Cloud Icon
    $300 Free Credits to Build on Google Cloud

    New customers can spin up VMs, build with AI, and query data at no cost.

    Put your $300 in credit toward real workloads, then keep building with free monthly usage for 20+ products. No commitment and no charge until you upgrade.
    Sign Up
  • 1
    Clipper

    Clipper

    Polygon and line clipping and offsetting library (C++, C#, Delphi)

    This library is now obsolete and no longer being maintained. It has been superceded by my Clipper2 library - https://github.com/AngusJohnson/Clipper2.
    Leader badge">
    Downloads: 4,726 This Week
    Last Update:
    See Project
  • 2
    Real-ESRGAN

    Real-ESRGAN

    Real-ESRGAN aims at developing Practical Algorithms

    Real-ESRGAN is a highly popular open-source project that provides practical algorithms for general image and video restoration using deep learning-based super-resolution techniques. It extends the original Enhanced Super-Resolution Generative Adversarial Network (ESRGAN) approach by training on synthetic degradations to make results more robust on real-world images, effectively enhancing resolution, reducing noise/artifacts, and reconstructing fine detail in low-quality imagery. The repository includes inference and training scripts, a model zoo with different pretrained models (including general and anime-oriented variants), and support for batch and arbitrary scaling, making it adaptable for diverse enhancement tasks. It emphasizes usability with utilities that handle alpha channels, gray/16-bit images, and tiled inference for large inputs, and can be run via Python scripts or portable executables.
    Downloads: 225 This Week
    Last Update:
    See Project
  • 3
    GFPGAN

    GFPGAN

    GFPGAN aims at developing Practical Algorithms

    GFPGAN aims at developing Practical Algorithms for Real-world Face Restoration. Colab Demo for GFPGAN; (Another Colab Demo for the original paper model) Online demo: Huggingface (return only the cropped face) Online demo: Replicate.ai (may need to sign in, return the whole image). Online demo: Baseten.co (backed by GPU, returns the whole image). We provide a clean version of GFPGAN, which can run without CUDA extensions. So that it can run in Windows or on CPU mode. GFPGAN aims at developing a Practical Algorithm for Real-world Face Restoration. It leverages rich and diverse priors encapsulated in a pretrained face GAN (e.g., StyleGAN2) for blind face restoration. Add V1.3 model, which produces more natural restoration results, and better results on very low-quality / high-quality inputs.
    Downloads: 175 This Week
    Last Update:
    See Project
  • 4
    ImageAI

    ImageAI

    A python library built to empower developers

    ImageAI is an easy-to-use Computer Vision Python library that empowers developers to easily integrate state-of-the-art Artificial Intelligence features into their new and existing applications and systems. It is used by thousands of developers, students, researchers, tutors and experts in corporate organizations around the world. You will find features supported, links to official documentation as well as articles on ImageAI. ImageAI is widely used around the world by professionals, students, research groups and businesses. ImageAI provides API to recognize 1000 different objects in a picture using pre-trained models that were trained on the ImageNet-1000 dataset. The model implementations provided are SqueezeNet, ResNet, InceptionV3 and DenseNet. ImageAI provides API to detect, locate and identify 80 most common objects in everyday life in a picture using pre-trained models that were trained on the COCO Dataset.
    Downloads: 11 This Week
    Last Update:
    See Project
  • Build Securely on AWS with Proven Frameworks Icon
    Build Securely on AWS with Proven Frameworks

    Lay a foundation for success with Tested Reference Architectures developed by Fortinet’s experts. Learn more in this white paper.

    Moving to the cloud brings new challenges. How can you manage a larger attack surface while ensuring great network performance? Turn to Fortinet’s Tested Reference Architectures, blueprints for designing and securing cloud environments built by cybersecurity experts. Learn more and explore use cases in this white paper.
    Download Now
  • 5
    TorBot

    TorBot

    Dark Web OSINT Tool

    Contributions to this project are always welcome. To add a new feature fork the dev branch and give a pull request when your new feature is tested and complete. If its a new module, it should be put inside the modules directory. The branch name should be your new feature name in the format <Feature_featurename_version(optional)>. On Linux platforms, you can make an executable for TorBot by using the install.sh script. You will need to give the script the correct permissions using chmod +x install.sh Now you can run ./install.sh to create the torBot binary. Run ./torBot to execute the program. Crawl custom domains.(Completed). Check if the link is live.(Completed). Built-in Updater.(Completed). TorBot GUI (In progress). Social Media integration.(not Started).
    Downloads: 8 This Week
    Last Update:
    See Project
  • 6
    Rank-BM25

    Rank-BM25

    A Collection of BM25 Algorithms in Python

    A collection of algorithms for querying a set of documents and returning the ones most relevant to the query. The most common use case for these algorithms is, as you might have guessed, to create search engines.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 7
    FuzzyWuzzy

    FuzzyWuzzy

    Fuzzy string matching in Python

    We’ve made it our mission to pull in event tickets from every corner of the internet, showing you them all on the same screen so you can compare them and get to your game/concert/show as quickly as possible. Of course, a big problem with most corners of the internet is labeling. One of our most consistently frustrating issues is trying to figure out whether two ticket listings are for the same real-life event (that is, without enlisting the help of our army of interns). To pick an example completely at random, Cirque du Soleil has a show running in New York called “Zarkana”. When we scour the web to find tickets for sale, mostly those tickets are identified by a title, date, time, and venue. We’ve built up a library of “fuzzy” string matching routines to help us along. And good news! We’re open sourcing it. The library is called “Fuzzywuzzy”, the code is pure python, and it depends only on the (excellent) difflib python library.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 8
    Pythonic Data Structures and Algorithms

    Pythonic Data Structures and Algorithms

    Minimal examples of data structures and algorithms in Python

    The Pythonic Data Structures and Algorithms repository by keon is a hands-on collection of implementations of classical data structures and algorithms written in Python. It offers working, often well-commented code for many standard algorithmic problems — from sorting/searching to graph algorithms, dynamic programming, data structures, and more — making it a valuable resource for learning and reference. For students preparing for technical interviews, self-learners brushing up on fundamentals, or developers wanting to understand algorithm internals, this repository provides ready-to-run examples, and can serve as a sandbox to experiment, benchmark, or adapt code. Because it’s in pure Python, it’s easy to read and modify, making it accessible even to those with modest programming experience. The repo helps bridge the gap between theoretical algorithm descriptions and real-world code, giving concrete, working implementations that one can study, debug, or extend.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 9
    AlphaTensor

    AlphaTensor

    AI discovers faster, efficient algorithms for matrix multiplication

    AlphaTensor, developed by Google DeepMind, is the research codebase accompanying the 2022 Nature publication “Discovering faster matrix multiplication algorithms with reinforcement learning.” The project demonstrates how reinforcement learning can be used to automatically discover efficient algorithms for matrix multiplication — a fundamental operation in computer science and numerical computation. The repository is organized into four main components: algorithms, benchmarking, nonequivalence, and recombination. These contain implementations of the discovered matrix multiplication algorithms, tools to benchmark their real-world performance, proofs of nonequivalence among thousands of solutions, and methods for decomposing larger problems into smaller factorizations. Users can explore AlphaTensor’s discovered algorithms interactively using Colab notebooks or Python scripts.
    Downloads: 2 This Week
    Last Update:
    See Project
  • Go from Code to Production URL in Seconds Icon
    Go from Code to Production URL in Seconds

    Cloud Run deploys apps in any language instantly. Scales to zero. Pay only when code runs.

    Skip the Kubernetes configs. Cloud Run handles HTTPS, scaling, and infrastructure automatically. Two million requests free per month.
    Try it free
  • 10
    Data Algorithm/leetcode/lintcode

    Data Algorithm/leetcode/lintcode

    Data Structure and Algorithm notes

    This work is some notes of learning and practicing data structures and algorithms. Part I is a brief introduction of basic data structures and algorithms, such as, linked lists, stack, queues, trees, sorting and etc. This book notes about learning data structure and algorithms. It was written in Simplified Chinese but other languages such as English and Traditional Chinese are also working in progress.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 11
    Detectron2

    Detectron2

    Next-generation platform for object detection and segmentation

    Detectron2 is Facebook AI Research's next generation software system that implements state-of-the-art object detection algorithms. It is a ground-up rewrite of the previous version, Detectron, and it originates from maskrcnn-benchmark. It is powered by the PyTorch deep learning framework. Includes more features such as panoptic segmentation, Densepose, Cascade R-CNN, rotated bounding boxes, PointRend, DeepLab, etc. Can be used as a library to support different projects on top of it. We'll open source more research projects in this way. It trains much faster. Models can be exported to TorchScript format or Caffe2 format for deployment. With a new, more modular design, Detectron2 is flexible and extensible, and able to provide fast training on single or multiple GPU servers. Detectron2 includes high-quality implementations of state-of-the-art object detection.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 12
    Elementary Algorithms

    Elementary Algorithms

    Book of elementary algorithms and data structures

    This book introduces elementary algorithms and data structure. It includes side-by-side comparison of purely functional realization and their imperative counterpart. From 2020/12, I started re-writing this book. The PDF can be downloaded for preview (EN, 中文). The 1st edition in Chinese (中文) was published in 2017. I recently switched my focus to the Mathematics of programming, the new book is also available in (github). To build the book in PDF format from the sources, you need the following software pre-installed, TeXLive, The book is built with XeLaTeX, a Unicode friendly version of TeX. You need the GNU make tool, in Debian/Ubuntu like Linux, it can be installed through the apt-get command.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 13
    Gym

    Gym

    Toolkit for developing and comparing reinforcement learning algorithms

    Gym by OpenAI is a toolkit for developing and comparing reinforcement learning algorithms. It supports teaching agents, everything from walking to playing games like Pong or Pinball. Open source interface to reinforce learning tasks. The gym library provides an easy-to-use suite of reinforcement learning tasks. Gym provides the environment, you provide the algorithm. You can write your agent using your existing numerical computation library, such as TensorFlow or Theano. It makes no assumptions about the structure of your agent, and is compatible with any numerical computation library, such as TensorFlow or Theano. The gym library is a collection of test problems — environments — that you can use to work out your reinforcement learning algorithms. These environments have a shared interface, allowing you to write general algorithms.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 14
    Python Outlier Detection

    Python Outlier Detection

    A Python toolbox for scalable outlier detection

    PyOD is a comprehensive and scalable Python toolkit for detecting outlying objects in multivariate data. This exciting yet challenging field is commonly referred as outlier detection or anomaly detection. PyOD includes more than 30 detection algorithms, from classical LOF (SIGMOD 2000) to the latest COPOD (ICDM 2020) and SUOD (MLSys 2021). Since 2017, PyOD [AZNL19] has been successfully used in numerous academic researches and commercial products [AZHC+21, AZNHL19]. PyOD has multiple neural network-based models, e.g., AutoEncoders, which are implemented in both PyTorch and Tensorflow. PyOD contains multiple models that also exist in scikit-learn. It is possible to train and predict with a large number of detection models in PyOD by leveraging SUOD framework. A benchmark is supplied for select algorithms to provide an overview of the implemented models. In total, 17 benchmark datasets are used for comparison, which can be downloaded at ODDS.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 15
    YAPF

    YAPF

    A formatter for Python files

    YAPF is a Python code formatter that automatically rewrites source to match a chosen style, using a clang-format–inspired algorithm to search for the “best” layout under your rules. Instead of relying on a fixed set of heuristics, it explores formatting decisions and chooses the lowest-cost result, aiming to produce code a human would write when following a style guide. You can run it as a command-line tool or call it as a library via FormatCode / FormatFile, making it easy to embed in editors, CI, and custom tooling. Styles are highly configurable: start from presets like pep8, google, yapf, or facebook, then override dozens of options in .style.yapf, setup.cfg, or pyproject.toml. It supports recursive directory formatting, line-range formatting, and diff-only output so you can check or fix just the lines you touched.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 16
    scikit-opt

    scikit-opt

    Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing

    scikit-opt is a Python library for solving optimization problems with evolutionary and swarm-intelligence algorithms. It includes genetic algorithms, particle swarm optimization, differential evolution, simulated annealing, ant colony optimization, immune algorithms, and artificial fish swarms. The package can address continuous objectives, constrained problems, and combinatorial tasks such as the traveling salesman problem. A consistent workflow lets users define an objective, configure an optimizer, run iterations, and inspect the best solution. Genetic algorithm operators can be replaced through user-defined functions or subclassing. Runs may continue from earlier iterations instead of restarting. Vectorization, threading, multiprocessing, caching, examples, and plotting support help users experiment with performance and convergence.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 17
    CloudI: A Cloud at the lowest level
    CloudI is an open-source private cloud computing framework for efficient, secure, and internal data processing. CloudI provides scaling for previously unscalable source code with efficient fault-tolerant execution of ATS, C/C++, Erlang/Elixir, Go, Haskell, Java, JavaScript/node.js, OCaml, Perl, PHP, Python, Ruby, or Rust services. The bare essentials for efficient fault-tolerant processing on a cloud!
    Downloads: 28 This Week
    Last Update:
    See Project
  • 18
    TextDistance

    TextDistance

    Compute distance between sequences

    Python library for comparing the distance between two or more sequences by many algorithms. For main algorithms, text distance try to call known external libraries (fastest first) if available (installed in your system) and possible (this implementation can compare this type of sequences). Install text distance with extras for this feature. Textdistance use benchmark results for algorithm optimization and try to call the fastest external lib first (if possible). TextDistance show benchmarks results table for your system and saves libraries priorities into the libraries.json file in TextDistance's folder. This file will be used by text distance for calling the fastest algorithm implementation. Default libraries.json is already included in the package.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 19
    Zipline

    Zipline

    Zipline, a Pythonic algorithmic trading library

    Zipline is a Pythonic algorithmic trading library. It is an event-driven system for backtesting. Zipline is currently used in production as the backtesting and live-trading engine powering Quantopian -- a free, community-centered, hosted platform for building and executing trading strategies. Quantopian also offers a fully managed service for professionals that includes Zipline, Alphalens, Pyfolio, FactSet data, and more. Installing Zipline is slightly more involved than the average Python package. For a development installation (used to develop Zipline itself), create and activate a virtualenv, then run the etc/dev-install script. Please note that Zipline is not a community-led project. Zipline is maintained by the Quantopian engineering team, and we are quite small and often busy.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 20
    JavaBlock
    Free Java Flowchart simulator / interpreter
    Leader badge">
    Downloads: 21 This Week
    Last Update:
    See Project
  • 21
    Modular toolkit for Data Processing MDP
    The Modular toolkit for Data Processing (MDP) is a Python data processing framework. From the user's perspective, MDP is a collection of supervised and unsupervised learning algorithms and other data processing units that can be combined into data processing sequences and more complex feed-forward network architectures. From the scientific developer's perspective, MDP is a modular framework, which can easily be expanded. The implementation of new algorithms is easy and intuitive. The new implemented units are then automatically integrated with the rest of the library. The base of available algorithms is steadily increasing and includes signal processing methods (Principal Component Analysis, Independent Component Analysis, Slow Feature Analysis), manifold learning methods ([Hessian] Locally Linear Embedding), several classifiers, probabilistic methods (Factor Analysis, RBM), data pre-processing methods, and many others.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 22
    Evolving Objects

    Evolving Objects

    This project have been merged within Paradiseo.

    See the new project page: https://nojhan.github.io/paradiseo/ (Archived project page: http://eodev.sourceforge.net/)
    Downloads: 2 This Week
    Last Update:
    See Project
  • 23

    FRODO 2

    Open-Source Framework for Distributed Constraint Optimization (DCOP)

    FRODO is a Java platform to solve Distributed Constraint Satisfaction Problems (DisCSPs) and Optimization Problems (DCOPs). It provides implementations for a variety of algorithms, including DPOP (and its variants), ADOPT, SynchBB, DSA...
    Downloads: 2 This Week
    Last Update:
    See Project
  • 24
    Sudoku Maker is a generator for Sudoku number puzzles. It uses a genetic algorithm internally, so it can serve as an introduction to genetic algorithms. The generated Sudokus are usually very hard to solve -- good for getting rid of a Sudoku addiction.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 25
    IMPORTANT: The project moved over to github! You can find it at: https://github.com/exhuma/python-cluster
    Downloads: 5 This Week
    Last Update:
    See Project