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

  • Try Google Cloud Risk-Free With $300 in Credit Icon
    Try Google Cloud Risk-Free With $300 in Credit

    No hidden charges. No surprise bills. Cancel anytime.

    Use your credit across every product. Compute, storage, AI, analytics. When it runs out, 20+ products stay free. You only pay when you choose to.
    Start Free
  • Forever Free Full-Stack Observability | Grafana Cloud Icon
    Forever Free Full-Stack Observability | Grafana Cloud

    Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.

    Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
    Create free account
  • 1
    fpdf2

    fpdf2

    Simple PDF generation for Python

    fpdf2 is a library for simple & fast PDF document generation in Python. It is a fork and the successor of PyFPDF. Compared with other PDF libraries, fpdf2 is fast, versatile, easy to learn and to extend (example). It is also entirely written in Python and has very few dependencies: Pillow, defusedxml, & fontTools. It is a fork and the successor of PyFPDF.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 2
    spaCy

    spaCy

    Industrial-strength Natural Language Processing (NLP)

    spaCy is a library built on the very latest research for advanced Natural Language Processing (NLP) in Python and Cython. Since its inception it was designed to be used for real world applications-- for building real products and gathering real insights. It comes with pretrained statistical models and word vectors, convolutional neural network models, easy deep learning integration and so much more. spaCy is the fastest syntactic parser in the world according to independent benchmarks, with an accuracy within 1% of the best available. It's blazing fast, easy to install and comes with a simple and productive API.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 3
    Behaviour Suite Reinforcement Learning

    Behaviour Suite Reinforcement Learning

    bsuite is a collection of carefully-designed experiments

    bsuite is a research framework developed by Google DeepMind that provides a comprehensive collection of experiments for evaluating the core capabilities of reinforcement learning (RL) agents. Its main goal is to identify, measure, and analyze fundamental aspects of learning efficiency and generalization in RL algorithms. The library enables researchers to benchmark their agents on standardized tasks, facilitating reproducible and transparent comparisons across different approaches. Each experiment in bsuite is meticulously designed to capture key challenges in RL, such as exploration, credit assignment, and stability. The framework supports automated logging and analysis, generating standardized output compatible with Jupyter notebooks for streamlined evaluation. It also integrates easily with existing RL libraries and can be used locally or via cloud computing platforms, including Google Cloud.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 4
    GraalPy

    GraalPy

    A Python 3 implementation built on GraalVM

    GraalPy is a high-performance implementation of the Python language for the JVM built on GraalVM. GraalPy is a Python 3.11 compliant runtime. It has first-class support for embedding in Java and can turn Python applications into fast, standalone binaries. GraalPy is ready for production running pure Python code and has experimental support for many popular native extension modules.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 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
  • 5
    Graph Nets library

    Graph Nets library

    Build Graph Nets in Tensorflow

    Graph Nets, developed by Google DeepMind, is a Python library designed for constructing and training graph neural networks (GNNs) using TensorFlow and Sonnet. It provides a high-level, flexible framework for building neural architectures that operate directly on graph-structured data. A graph network takes graphs as inputs, consisting of edges, nodes, and global attributes, and produces updated graphs with modified feature representations at each level. This library implements the foundational ideas from DeepMind’s paper “Relational Inductive Biases, Deep Learning, and Graph Networks”, offering tools to explore relational reasoning and message-passing neural networks. Graph Nets supports both TensorFlow 1 and TensorFlow 2, working with CPU and GPU environments, and includes educational Jupyter demos for shortest path finding, sorting, and physical prediction tasks. The codebase emphasizes modularity, allowing users to easily define their own edge, node, and global update functions.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 6
    SENAITE LIMS

    SENAITE LIMS

    SENAITE Meta Package

    SENAITE is a beautiful trigonal, oil-green to greenish-black crystal, with almost the hardness of a diamond. Although the crystal is described with a complex formula, it still has clear and straight shapes. Therefore, it reflects nicely the complexity of the LIMS, while providing a modern, intuitive, and friendly UI/ UX. Amongst other functionalities, SENAITE comes with highly-customizable workflows to drive users through the analytical process, easy-to-use UI for data registration, automatic import of results, data validation, and transition constraints. SENAITE can be easily integrated with instruments by using off-the-shell interfaces for data import and export. Custom interfacing is supported too. Import instrument results and avoid human errors in the carrying-over process. Reduce the turnaround time on results report delivery. Assign priorities to samples and due dates for tests, plan and assign the daily work by using worksheets, and keep track of delayed tests immediately.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 7
    Terraform Examples and Modules for GC

    Terraform Examples and Modules for GC

    End-to-end modular samples and landing zones toolkit for Terraform

    Terraform Examples and Modules for GC is a comprehensive infrastructure-as-code toolkit built on Terraform that enables organizations to design, deploy, and manage enterprise-grade Google Cloud environments using modular and reusable components. It provides a collection of end-to-end blueprints and composable modules that allow teams to implement standardized cloud architectures such as landing zones, networking configurations, and security frameworks. The project is designed to accelerate cloud adoption by offering opinionated yet flexible patterns aligned with Google Cloud best practices, helping organizations bootstrap their environments quickly while maintaining governance and scalability. It supports complex multi-project and multi-environment setups, making it suitable for large enterprises that require consistent infrastructure provisioning across teams.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 8
    borb

    borb

    borb is a library for reading, creating and manipulating PDF files

    borb is a library for creating and manipulating PDF files in python. borb is a pure python library to read, write, and manipulate PDF documents. It represents a PDF document as a JSON-like data structure of nested lists, dictionaries and primitives (numbers, string, booleans, etc) This is currently a one-man project, so the focus will always be to support those use-cases that are more common in favor of those that are rare.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 9
    node2vec

    node2vec

    Learn continuous vector embeddings for nodes in a graph using biased R

    The node2vec project provides an implementation of the node2vec algorithm, a scalable feature learning method for networks. The algorithm is designed to learn continuous vector representations of nodes in a graph by simulating biased random walks and applying skip-gram models from natural language processing. These embeddings capture community structure as well as structural equivalence, enabling machine learning on graphs for tasks such as classification, clustering, and link prediction. The repository contains reference code accompanying the research paper node2vec: Scalable Feature Learning for Networks (KDD 2016). It allows researchers and practitioners to apply node2vec to various graph datasets and evaluate embedding quality on downstream tasks. By bridging ideas from graph theory and word embedding models, this project demonstrates how graph-based machine learning can be made efficient and flexible.
    Downloads: 4 This Week
    Last Update:
    See Project
  • Gemini 3 and 200+ AI Models on One Platform Icon
    Gemini 3 and 200+ AI Models on One Platform

    Access Google's best plus Claude, Llama, and Gemma. Fine-tune and deploy from one console.

    Build generative AI apps with Vertex AI. Switch between models without switching platforms.
    Start Free
  • 10
    pikepdf

    pikepdf

    A Python library for reading and writing PDF, powered by QPDF

    pikepdf is a Python library allowing the creation, manipulation, and repair of PDFs. It provides a Pythonic wrapper around the C++ PDF content transformation library, QPDF. Python + QPDF = “py” + “qpdf” = “pyqpdf”, which looks like a dyslexia test and is no fun to type. But say “pyqpdf” out loud, and it sounds like “pikepdf”. pikepdf is a library intended for developers who want to create, manipulate, parse, repair, and abuse the PDF format. It supports reading and write PDFs, including creating from scratch. Thanks to QPDF, it supports linearizing PDFs and access to encrypted PDFs.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 11
    plotly.py

    plotly.py

    The interactive graphing library for Python

    plotly.py is a browser-based, open source graphing library for Python that lets you create beautiful, interactive, publication-quality graphs. Built on top of plotly.js, it is a high-level, declarative charting library that ships with more than 30 chart types. Everything from statistical charts and scientific charts, through to maps, 3D graphs and animations, plotly.py lets you create them all. Graphs made with plotly.py can be viewed in Jupyter notebooks, standalone HTML files, or hosted online using Chart Studio Cloud.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 12
    Amazon Braket Python Schemas

    Amazon Braket Python Schemas

    A library that contains schemas for Amazon Braket

    Amazon Braket Python Schemas is an open source library that contains the schemas for Braket, including intermediate representations (IR) for Amazon Braket quantum tasks and offers serialization and deserialization of those IR payloads. Think of the IR as the contract between the Amazon Braket SDK and Amazon Braket API for quantum programs. Schemas for the S3 results of each quantum task. Schemas for the device capabilities of each device. The preferred way to get Amazon Braket Python Schemas is by installing the Amazon Braket Python SDK, which will pull in the schemas. You can install from source by cloning this repository and running a pip install command in the root directory of the repository. There are currently two types of IR, including jaqcd (JsonAwsQuantumCircuitDescription) and annealing.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 13
    Ansible Examples

    Ansible Examples

    A few starter examples of ansible playbooks, to show features

    This repository collects practical, real-world examples of using Ansible to automate infrastructure, deployments, and configurations. Each directory demonstrates a specific use case—ranging from setting up web servers, load balancers, and databases to orchestrating multi-tier applications in cloud environments. The examples highlight common Ansible practices such as organizing inventories, writing reusable playbooks, using roles, and handling variables and templates. They’re designed to be adapted directly into your own infrastructure or to serve as reference blueprints when learning how to structure automation projects. Whether you’re managing a handful of servers or deploying at scale, this repo provides starting points that illustrate how Ansible can streamline repetitive operational tasks.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 14
    Best-of Web Development with Python

    Best-of Web Development with Python

    A ranked list of awesome python libraries for web development

    This curated list contains 570 awesome open-source projects with a total of 2.4M stars grouped into 26 categories. All projects are ranked by a project-quality score, which is calculated based on various metrics automatically collected from Github and different package managers. If you like to add or update projects, feel free to open an issue, submit a pull request, or directly edit the projects.yaml. Contributions are very welcome! A ranked list of awesome python libraries for web development. Updated weekly.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 15
    DocTR

    DocTR

    Library for OCR-related tasks powered by Deep Learning

    DocTR provides an easy and powerful way to extract valuable information from your documents. Seemlessly process documents for Natural Language Understanding tasks: we provide OCR predictors to parse textual information (localize and identify each word) from your documents. Robust 2-stage (detection + recognition) OCR predictors with pretrained parameters. User-friendly, 3 lines of code to load a document and extract text with a predictor. State-of-the-art performances on public document datasets, comparable with GoogleVision/AWS Textract. Easy integration (available templates for browser demo & API deployment). End-to-End OCR is achieved in docTR using a two-stage approach: text detection (localizing words), then text recognition (identify all characters in the word). As such, you can select the architecture used for text detection, and the one for text recognition from the list of available implementations.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 16
    Fairseq

    Fairseq

    Facebook AI Research Sequence-to-Sequence Toolkit written in Python

    Fairseq(-py) is a sequence modeling toolkit that allows researchers and developers to train custom models for translation, summarization, language modeling and other text generation tasks. We provide reference implementations of various sequence modeling papers. Recent work by Microsoft and Google has shown that data parallel training can be made significantly more efficient by sharding the model parameters and optimizer state across data parallel workers. These ideas are encapsulated in the new FullyShardedDataParallel (FSDP) wrapper provided by fairscale. Fairseq can be extended through user-supplied plug-ins. Models define the neural network architecture and encapsulate all of the learnable parameters. Criterions compute the loss function given the model outputs and targets. Tasks store dictionaries and provide helpers for loading/iterating over Datasets, initializing the Model/Criterion and calculating the loss.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 17
    Homemade Machine Learning

    Homemade Machine Learning

    Python examples of popular machine learning algorithms

    homemade-machine-learning is a repository by Oleksii Trekhleb containing Python implementations of classic machine-learning algorithms done “from scratch”, meaning you don’t rely heavily on high-level libraries but instead write the logic yourself to deepen understanding. Each algorithm is accompanied by mathematical explanations, visualizations (often via Jupyter notebooks), and interactive demos so you can tweak parameters, data, and observe outcomes in real time. The purpose is pedagogical: you’ll see linear regression, logistic regression, k-means clustering, neural nets, decision trees, etc., built in Python using fundamentals like NumPy and Matplotlib, not hidden behind API calls. It is well suited for learners who want to move beyond library usage to understand how algorithms operate internally—how cost functions, gradients, updates and predictions work.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 18
    JC

    JC

    CLI tool and python library

    CLI tool and python library that converts the output of popular command-line tools and file types to JSON or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts. jc JSONifies the output of many CLI tools and file types for easier parsing in scripts. This allows further command-line processing of output with tools like jq or jello by piping commands. The JC parsers can also be used as python modules. In this case, the output will be a python dictionary, or a list of dictionaries, instead of JSON. Two representations of the data are available. The default representation uses a strict schema per parser and converts known numbers to int/float JSON values. Certain known values of None are converted to JSON null, known boolean values are converted, and, in some cases, additional semantic context fields are added.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 19
    SVoice (Speech Voice Separation)

    SVoice (Speech Voice Separation)

    We provide a PyTorch implementation of the paper Voice Separation

    SVoice is a PyTorch-based implementation of Facebook Research’s study on speaker voice separation as described in the paper “Voice Separation with an Unknown Number of Multiple Speakers.” This project presents a deep learning framework capable of separating mixed audio sequences where several people speak simultaneously, without prior knowledge of how many speakers are present. The model employs gated neural networks with recurrent processing blocks that disentangle voices over multiple computational steps, while maintaining speaker consistency across output channels. Separate models are trained for different speaker counts, and the largest-capacity model dynamically determines the actual number of speakers in a mixture. The repository includes all necessary scripts for training, dataset preparation, distributed training, evaluation, and audio separation.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 20
    Ultroid

    Ultroid

    Telegram UserBot, Built in Python Using Telethon lib

    Ultroid, a pluggable telegram userbot, made in python using Telethon! Ultroid has been written from scratch, making it more stable and less crashes. Ultroid warns you when you try to install/execute dangerous stuff (people nowadays make plugins to hack user accounts, Ultroid is safe). Unlike many others userbots that are being suspended by Heroku, Ultroid doesn't get suspended. Ultroid has been written from scratch, making it more stable and less of crashes. Error handling been done in the best way possible, such that the bot doesn't crash and stop all of a sudden. Ultroid has minimal amount of plugins (just the necessary ones) in the main repository, and all the other less-useful stuff in the addons repository. This facilitates quick deployments and lag-free use. Ultroid can install any plugin from the most of the other 'userbots' without any issue.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 21
    Watchdog

    Watchdog

    Python library and shell utilities to monitor filesystem events

    Python API library and shell utilities to monitor file system events. A simple program that uses watchdog to monitor directories specified as command-line arguments and logs events generated. Watchdog comes with an optional utility script called watchmedo. Please type watchmedo --help at the shell prompt to know more about this tool. You can use the shell-command subcommand to execute shell commands in response to events. watchmedo can read tricks.yaml files and execute tricks within them in response to file system events. Tricks are actually event handlers that subclass watchdog.tricks.Trick and are written by plugin authors. Trick classes are augmented with a few additional features that regular event handlers don't need. The directory containing the tricks.yaml file will be monitored. Each trick class is initialized with its corresponding keys in the tricks.yaml file as arguments and events are fed to an instance of this class as they arrive.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 22
    CO3D (Common Objects in 3D)

    CO3D (Common Objects in 3D)

    Tooling for the Common Objects In 3D dataset

    CO3Dv2 (Common Objects in 3D, version 2) is a large-scale 3D computer vision dataset and toolkit from Facebook Research designed for training and evaluating category-level 3D reconstruction methods using real-world data. It builds upon the original CO3Dv1 dataset, expanding both scale and quality—featuring 2× more sequences and 4× more frames, with improved image fidelity, more accurate segmentation masks, and enhanced annotations for object-centric 3D reconstruction. CO3Dv2 enables research in multi-view 3D reconstruction, novel view synthesis, and geometry-aware representation learning. Each of the thousands of sequences in CO3Dv2 captures a common object (from categories like cars, chairs, or plants) from multiple real-world viewpoints. The dataset includes RGB images, depth maps, masks, and camera poses for each frame, along with pre-defined training, validation, and testing splits for both few-view and many-view reconstruction tasks.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 23
    FairScale

    FairScale

    PyTorch extensions for high performance and large scale training

    FairScale is a collection of PyTorch performance and scaling primitives that pioneered many of the ideas now used for large-model training. It introduced Fully Sharded Data Parallel (FSDP) style techniques that shard model parameters, gradients, and optimizer states across ranks to fit bigger models into the same memory budget. The library also provides pipeline parallelism, activation checkpointing, mixed precision, optimizer state sharding (OSS), and auto-wrapping policies that reduce boilerplate in complex distributed setups. Its components are modular, so teams can adopt just the sharding optimizer or the pipeline engine without rewriting their training loop. FairScale puts emphasis on correctness and debuggability, offering hook points, logging, and reference examples for common trainer patterns. Although many ideas have since landed in core PyTorch, FairScale remains a valuable reference and a practical toolbox for squeezing more performance out of multi-GPU and multi-node jobs.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 24
    Flama

    Flama

    Fire up your models with the flame

    Flama is a python library which establishes a standard framework for development and deployment of APIs with special focus on machine learning (ML). The main aim of the framework is to make ridiculously simple the deployment of ML APIs, simplifying (when possible) the entire process to a single line of code. The library builds on Starlette, and provides an easy-to-learn philosophy to speed up the building of highly performant GraphQL, REST and ML APIs. Besides, it comprises an ideal solution for the development of asynchronous and production-ready services, offering automatic deployment for ML models.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 25
    Flask-SocketIO

    Flask-SocketIO

    Socket.IO integration for Flask applications

    Flask-SocketIO is an extension for the Flask web framework that enables real-time bi-directional communication between clients and servers using WebSockets or long-polling fallbacks, making it possible to build interactive applications like chat systems, live dashboards, and collaborative tools. It abstracts the complexities of asynchronous sockets by providing a familiar Flask-style API where developers can define event handlers that trigger on client messages, broadcast to connected users, and manage namespaces and rooms. The extension supports multiple asynchronous workers through integrations with popular async servers like eventlet or gevent, allowing scalable handling of concurrent connections. It also includes features such as session and user tracking across socket connections, JSON message support, and simple decorators to bind events to handler functions.
    Downloads: 2 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB