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.

  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • Simple, Secure Domain Registration Icon
    Simple, Secure Domain Registration

    Get your domain at wholesale price. Cloudflare offers simple, secure registration with no markups, plus free DNS, CDN, and SSL integration.

    Register or renew your domain and pay only what we pay. No markups, hidden fees, or surprise add-ons. Choose from over 400 TLDs (.com, .ai, .dev). Every domain is integrated with Cloudflare's industry-leading DNS, CDN, and free SSL to make your site faster and more secure. Simple, secure, at-cost domain registration.
    Sign up for free
  • 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,470 This Week
    Last Update:
    See Project
  • 2
    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: 87 This Week
    Last Update:
    See Project
  • 3
    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: 22 This Week
    Last Update:
    See Project
  • 4
    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: 13 This Week
    Last Update:
    See Project
  • Our Free Plans just got better! | Auth0 Icon
    Our Free Plans just got better! | Auth0

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
    Try free now
  • 5
    JavaBlock
    Free Java Flowchart simulator / interpreter
    Leader badge
    Downloads: 202 This Week
    Last Update:
    See Project
  • 6
    Baselines

    Baselines

    High-quality implementations of reinforcement learning algorithms

    Unlike the other two, openai/baselines is not currently a maintained or prominent repo in the OpenAI organization (and I found no strong reference in OpenAI’s main GitHub). Historically, “baselines” repositories are often used for baseline implementations of reinforcement learning algorithms or reference models (e.g. in the RL domain). If there was an OpenAI “baselines” repo, it might have contained reference implementations for reinforcement learning or model policy baselines to compare new work against. However, I couldn’t locate an active “openai/baselines” in the latest OpenAI repos, so it may have been archived, removed, or merged into other projects. If you meant a different “baselines” (e.g. OpenAI Baselines for reinforcement learning), I can look up that specific one.
    Downloads: 2 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: 2 This Week
    Last Update:
    See Project
  • 8
    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
  • 9
    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
  • 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
  • 10
    Active Learning

    Active Learning

    Framework and examples for active learning with machine learning model

    Active Learning is a Python-based research framework developed by Google for experimenting with and benchmarking various active learning algorithms. It provides modular tools for running reproducible experiments across different datasets, sampling strategies, and machine learning models. The system allows researchers to study how models can improve labeling efficiency by selectively querying the most informative data points rather than relying on uniformly sampled training sets. The main experiment runner (run_experiment.py) supports a wide range of configurations, including batch sizes, dataset subsets, model selection, and data preprocessing options. It includes several established active learning strategies such as uncertainty sampling, k-center greedy selection, and bandit-based methods, while also allowing for custom algorithm implementations. The framework integrates with both classical machine learning models (SVM, logistic regression) and neural networks.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 11
    Algorithms in Python

    Algorithms in Python

    Data Structures and Algorithms in Python

    Algorithms in Python is a collection of algorithm and data structure implementations (primarily in Python) meant to serve as both learning material and reference code for engineers. It includes code for graph algorithms, heap data structures, stacks, queues, and more — each implemented cleanly so learners can trace logic and adapt for their problems. The repository is particularly useful for people preparing for competitive programming, job interviews, or building a foundational understanding of algorithmic patterns. Because it’s openly maintained, you can browse through issues, see test cases, and observe coding style in a “learning through code” fashion. It also serves as a playground where you can add problems, measure performance, and compare different algorithmic approaches. For anyone striving to move from “I know the syntax” to “I know how to use the right algorithm at the right time,” this repository is a practical asset.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 12
    Binarytree

    Binarytree

    Python library for studying Binary Trees

    Binarytree is Python library that lets you generate, visualize, inspect and manipulate binary trees. Skip the tedious work of setting up test data, and dive straight into practicing algorithms. Heaps and BSTs (binary search trees) are also supported. Binarytree supports another representation which is more compact but without the indexing properties. Traverse trees using different algorithms.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 13
    Code Catalog in Python

    Code Catalog in Python

    Algorithms and data structures for review for coding interview

    code-catalog-python serves as a grab-bag of small, readable Python examples that illustrate common algorithms, data structures, and utility patterns. Each snippet aims to be self-contained and easy to study, with clear inputs, outputs, and the essential logic on display. The catalog format lets you scan for an example, copy it, and adapt it to your use case without wading through a large framework. It favors clarity over micro-optimizations so learners can grasp the idea before worrying about edge performance. Over time it becomes a personal cookbook of solutions you can remix across projects. This approach is especially helpful when you need a quick refresher on a technique you haven’t used in a while.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 14
    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: 1 This Week
    Last Update:
    See Project
  • 15
    FATE

    FATE

    An industrial grade federated learning framework

    FATE (Federated AI Technology Enabler) is the world's first industrial grade federated learning open source framework to enable enterprises and institutions to collaborate on data while protecting data security and privacy. It implements secure computation protocols based on homomorphic encryption and multi-party computation (MPC). Supporting various federated learning scenarios, FATE now provides a host of federated learning algorithms, including logistic regression, tree-based algorithms, deep learning and transfer learning. FATE became open-source in February 2019. FATE TSC was established to lead FATE open-source community, with members from major domestic cloud computing and financial service enterprises. FedAI is a community that helps businesses and organizations build AI models effectively and collaboratively, by using data in accordance with user privacy protection, data security, data confidentiality and government regulations.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 16
    MADDPG

    MADDPG

    Code for the MADDPG algorithm from a paper

    MADDPG (Multi-Agent Deep Deterministic Policy Gradient) is the official code release from OpenAI’s paper Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments. The repository implements a multi-agent reinforcement learning algorithm that extends DDPG to scenarios where multiple agents interact in shared environments. Each agent has its own policy, but training uses centralized critics conditioned on the observations and actions of all agents, enabling learning in cooperative, competitive, and mixed settings. The code is built on top of TensorFlow and integrates with the Multiagent Particle Environments (MPE) for benchmarking. Researchers can use it to reproduce the experiments presented in the paper, which demonstrate how agents learn behaviors such as coordination, competition, and communication. Although archived, MADDPG remains a widely cited baseline in multi-agent reinforcement learning research and has inspired further algorithmic developments.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 17
    The Algorithms Python

    The Algorithms Python

    All Algorithms implemented in Python

    The Algorithms-Python project is a comprehensive collection of Python implementations for a wide range of algorithms and data structures. It serves primarily as an educational resource for learners and developers who want to understand how algorithms work under the hood. Each implementation is designed with clarity in mind, favoring readability and comprehension over performance optimization. The project covers various domains including mathematics, cryptography, machine learning, sorting, graph theory, and more. With contributions from a large global community, it continually grows and improves through collaboration and peer review. This repository is an ideal reference for students, educators, and developers seeking hands-on experience with algorithmic concepts in Python.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 18
    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: 4 This Week
    Last Update:
    See Project
  • 19
    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: 7 This Week
    Last Update:
    See Project
  • 20
    C++, Matlab and Python library for Hidden-state Conditional Random Fields. Implements 3 algorithms: LDCRF, HCRF and CRF. For Windows and Linux, 32- and 64-bits. Optimized for multi-threading. Works with sparse or dense input features.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 21
    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: 4 This Week
    Last Update:
    See Project
  • 22
    A univariate and multivariate analysis UI. This project is no longer under development. Please use as you wish.
    Leader badge
    Downloads: 4 This Week
    Last Update:
    See Project
  • 23
    Python functions that Googlers have found useful.
    Leader badge
    Downloads: 4 This Week
    Last Update:
    See Project
  • 24

    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: 1 This Week
    Last Update:
    See Project
  • 25

    Cryptography Tools

    Classic & Modern Cryptography tools

    Cryptography Tools is a project to develop demonstration tools on classic (currently Caesar and Playfair) & modern crypto-systems, including private & public key encryptions, digital signatures, cryptographic hashes and authenticated encryption.
    Downloads: 3 This Week
    Last Update:
    See Project