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.

  • 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
  • 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
  • 1
    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: 3 This Week
    Last Update:
    See Project
  • 2
    django-import-export

    django-import-export

    Django application and library for importing and exporting data

    django-import-export is a Django application and library for importing and exporting data with included admin integration. Support multiple formats (Excel, CSV, JSON, and everything else that tablib supports) Admin integration for importing. Preview import changes. Admin integration for exporting. Export data respecting admin filters. By default all records will be imported, even if no changes are detected. This can be changed setting the skip_unchanged option. Also, the report_skipped option controls whether skipped records appear in the import Result object, and if using the admin whether skipped records will show in the import preview page. Not all data can be easily extracted from an object/model attribute. In order to turn complicated data model into a (generally simpler) processed data structure on export, dehydrate_<fieldname> method should be defined.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 3
    notebooker

    notebooker

    Productionise & schedule your Jupyter Notebooks

    Productionise and schedule your Jupyter Notebooks, just as interactively as you wrote them. Notebooker is a webapp which can execute and parametrise Jupyter Notebooks as soon as they have been committed to git. The results are stored in MongoDB and searchable via the web interface, essentially turning your Jupyter Notebook into a production-style web-based report in a few clicks.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 4
    nuwa-skill

    nuwa-skill

    Mental models, decision heuristics, expressing DNA

    nuwa-skill is an AI-oriented project focused on defining, managing, and executing modular “skills” that can be used by intelligent agents or automation systems. It provides a framework for organizing capabilities into reusable units that can be invoked dynamically depending on context or user input. The project is designed to integrate with AI systems, enabling them to perform structured tasks such as data retrieval, processing, or interaction with external services. It emphasizes modularity and extensibility, allowing developers to create new skills and plug them into the system without disrupting existing functionality. Nuwa Skill also supports orchestration, enabling multiple skills to work together to accomplish more complex objectives. The architecture is typically designed for flexibility, making it suitable for applications in conversational AI, automation, or intelligent assistants. Overall, it serves as a foundation for building scalable and extensible AI-driven systems.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 99.99% Uptime for MySQL and PostgreSQL Databases Icon
    99.99% Uptime for MySQL and PostgreSQL Databases

    Sub-second maintenance. 2x read/write performance. Built-in vector search for AI apps.

    Cloud SQL Enterprise Plus delivers near-zero downtime with 35 days of point-in-time recovery. Supports MySQL, PostgreSQL, and SQL Server.
    Try Free
  • 5
    pyCraft

    pyCraft

    Minecraft-client networking library in Python

    Minecraft Python Client Library. This project aims to be a modern, Python3-compatible, well-documented library for communication with a Minecraft server. Although pyCraft is compatible any supported server, only a subset of all packets are currently decoded or encoded by the library: those necessary to remain connected to the server, those used for chat, and some others.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 6
    segyio

    segyio

    Fast Python library for SEGY files

    Segyio is a small LGPL-licensed C library for easy interaction with SEG-Y and Seismic Unix formatted seismic data, with language bindings for Python and Matlab. Segyio is an attempt to create an easy-to-use, embeddable, community-oriented library for seismic applications. Features are added as they are needed; suggestions and contributions of all kinds are very welcome.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 7

    uvloop

    Ultra fast asyncio event loop

    uvloop is an ultra-fast, drop-in replacement of the built-in asyncio event loop. Together with asyncio and the power of async/await in Python 3.5, uvloop makes it easier than ever to write high-performance Python networking code. uvloop makes asyncio incredibly fast-- 2 to 4 times faster than nodejs, or any other Python asynchronous framework. The performance of asyncio when it is uvloop-based is almost comparable to that of Go programs. uvloop is written in Cython and is built on top of libuv, a high performance, fast and stable multiplatform asynchronous I/O library used by nodejs.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 8
    xhtml2pdf

    xhtml2pdf

    A library for converting HTML into PDFs using ReportLab

    xhtml2pdf enables users to generate PDF documents from HTML content easily and with automated flow control such as pagination and keeping text together. The Python module can be used in any Python environment, including Django. The Command line tool is a stand-alone program that can be executed from the command line.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 9
    ART ASCII Library

    ART ASCII Library

    ASCII art library for Python

    ASCII art is also known as "computer text art". It involves the smart placement of typed special characters or letters to make a visual shape that is spread over multiple lines of text. ART is a Python lib for text converting to ASCII art fancy.
    Downloads: 2 This Week
    Last Update:
    See Project
  • Enterprise-grade ITSM, for every business Icon
    Enterprise-grade ITSM, for every business

    Give your IT, operations, and business teams the ability to deliver exceptional services—without the complexity.

    Freshservice is an intuitive, AI-powered platform that helps IT, operations, and business teams deliver exceptional service without the usual complexity. Automate repetitive tasks, resolve issues faster, and provide seamless support across the organization. From managing incidents and assets to driving smarter decisions, Freshservice makes it easy to stay efficient and scale with confidence.
    Try it Free
  • 10
    AeroPython

    AeroPython

    Classical Aerodynamics of potential flow using Python

    The AeroPython series of lessons is the core of a university course (Aerodynamics-Hydrodynamics, MAE-6226) by Prof. Lorena A. Barba at the George Washington University. The first version ran in Spring 2014 and these Jupyter Notebooks were prepared for that class, with assistance from Barba-group PhD student Olivier Mesnard. In Spring 2015, we revised and extended the collection, adding student assignments to strengthen the learning experience. The course is also supported by an open learning space in the GW SEAS Open edX platform.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 11
    Avalanche

    Avalanche

    End-to-End Library for Continual Learning based on PyTorch

    Avalanche is an end-to-end Continual Learning library based on Pytorch, born within ContinualAI with the unique goal of providing a shared and collaborative open-source (MIT licensed) codebase for fast prototyping, training and reproducible evaluation of continual learning algorithms. Avalanche can help Continual Learning researchers in several ways. This module maintains a uniform API for data handling: mostly generating a stream of data from one or more datasets. It contains all the major CL benchmarks (similar to what has been done for torchvision). Provides all the necessary utilities concerning model training. This includes simple and efficient ways of implementing new continual learning strategies as well as a set of pre-implemented CL baselines and state-of-the-art algorithms you will be able to use for comparison! Avalanche the first experiment of an End-to-end Library for reproducible continual learning research & development where you can find benchmarks, algorithms, etc.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 12
    BeaEngine 5

    BeaEngine 5

    BeaEngine disasm project

    BeaEngine is a C library designed to decode instructions from 16-bit, 32-bit and 64-bit intel architectures. It includes standard instructions set and instructions set from FPU, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, VMX, CLMUL, AES, MPX, AVX, AVX2, AVX512 (VEX & EVEX prefixes), CET, BMI1, BMI2, SGX, UINTR, KL, TDX and AMX extensions. If you want to analyze malicious codes and more generally obfuscated codes, BeaEngine sends back a complex structure that describes precisely the analyzed instructions. You can use it in C/C++ (usable and compilable with Visual Studio, GCC, MinGW, DigitalMars, BorlandC, WatcomC, SunForte, Pelles C, LCC), in assembler (usable with masm32 and masm64, nasm, fasm, GoAsm) in C#, in Python3, in Delphi, in PureBasic and in WinDev. You can use it in user mode and kernel mode.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 13
    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: 2 This Week
    Last Update:
    See Project
  • 14
    Boltons

    Boltons

    250+ constructs, recipes, and snippets which extend the Python library

    Boltons is a set of pure-Python utilities in the same spirit as, and yet conspicuously missing from, the standard library. Due to the nature of utilities, application developers might want to consider other integration options. Boltons is tested against Python 2.6-2.7, 3.4-3.7, and PyPy. The majority of boltons strive to be “good enough” for a wide range of basic uses, leaving advanced use cases to Python’s myriad specialized 3rd-party libraries. In many cases the respective boltons module will describe 3rd-party alternatives worth investigating when use cases outgrow boltons. If you’ve found a natural “next-step” library worth mentioning, consider filing an issue! boltons has a minimalist architecture, remain as consistent, and self-contained as possible, with an eye toward maintaining its range of use cases and usage patterns as wide as possible. The boltons package depends on no packages, making it easy for inclusion into a project.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 15
    Dominate

    Dominate

    Dominate is a Python library for creating and manipulating HTML docs

    Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API. It allows you to write HTML pages in pure Python very concisely, which eliminates the need to learn another template language, and lets you take advantage of the more powerful features of Python. Dominate can also use keyword arguments to append attributes onto your tags. Most of the attributes are a direct copy from the HTML spec with a few variations. Through the use of the += operator and the .add() method you can easily create more advanced structures. By default, render() tries to make all output human readable, with one HTML element per line and two spaces of indentation.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 16
    FairChem

    FairChem

    FAIR Chemistry's library of machine learning methods for chemistry

    FAIRChem is a unified library for machine learning in chemistry and materials, consolidating data, pretrained models, demos, and application code into a single, versioned toolkit. Version 2 modernizes the stack with a cleaner core package and breaking changes relative to V1, focusing on simpler installs and a stable API surface for production and research. The centerpiece models (e.g., UMA variants) plug directly into the ASE ecosystem via a FAIRChem calculator, so users can run relaxations, molecular dynamics, spin-state energetics, and surface catalysis workflows with the same pretrained network by switching a task flag. Tasks span heterogeneous domains—catalysis (OC20-style), inorganic materials (OMat), molecules (OMol), MOFs (ODAC), and molecular crystals (OMC)—allowing one model family to serve many simulations. The README provides quick paths for pulling models (e.g., via Hugging Face access), then running energy/force predictions on GPU or CPU.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 17
    GenAI Processors

    GenAI Processors

    GenAI Processors is a lightweight Python library

    GenAI Processors is a lightweight Python library for building modular, asynchronous, and composable AI pipelines around Gemini. Its central abstraction is the Processor, a unit of work that consumes an asynchronous stream of parts (text, images, audio, JSON) and produces another stream, making it natural to chain operations and keep everything streaming end-to-end. Processors can be composed sequentially (to build multi-step flows) or in parallel (to fan-out work and merge results), which makes sophisticated agent behaviors easy to express with simple operators. The library offers built-in processors for classic turn-based Gemini calls as well as Live API streaming, so you can mix “batch” and real-time interactions in the same graph. It leans on Python’s asyncio to coordinate concurrency, handle network I/O, and juggle background compute threads without blocking.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 18
    GitHub520

    GitHub520

    Community-maintained approach to improving access to GitHub services

    GitHub520 is a community-maintained approach to improving access to GitHub services from regions with network friction by leveraging host mappings. The repository provides a regularly updated list of domain-to-IP entries meant to be appended to a system’s hosts file so certain GitHub endpoints resolve faster or more reliably. It includes scripts or guidance to automate updates, reducing the need for manual lookups when IPs change. The project’s goal is pragmatic: improve developer productivity by mitigating timeouts and slow asset retrieval during cloning, package installs, or browsing. It is intended for users who understand the implications of hosts modifications and want a reversible, client-side tweak. While simple in concept, it has become a widely referenced workaround for network constraints affecting developer workflows.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 19
    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: 2 This Week
    Last Update:
    See Project
  • 20
    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: 2 This Week
    Last Update:
    See Project
  • 21
    Lightweight' GAN

    Lightweight' GAN

    Implementation of 'lightweight' GAN, proposed in ICLR 2021

    Implementation of 'lightweight' GAN proposed in ICLR 2021, in Pytorch. The main contribution of the paper is a skip-layer excitation in the generator, paired with autoencoding self-supervised learning in the discriminator. Quoting the one-line summary "converge on single gpu with few hours' training, on 1024 resolution sub-hundred images". Augmentation is essential for Lightweight GAN to work effectively in a low data setting. You can test and see how your images will be augmented before they pass into a neural network (if you use augmentation). The general recommendation is to use suitable augs for your data and as many as possible, then after some time of training disable the most destructive (for image) augs. You can turn on automatic mixed precision with one flag --amp. You should expect it to be 33% faster and save up to 40% memory. Aim is an open-source experiment tracker that logs your training runs, and enables a beautiful UI to compare them.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 22
    MediaManager

    MediaManager

    A modern selfhosted media management system for your media library

    MediaManager is a modern, self-hosted media management system that unifies and replaces the traditional “ARR” stack with a single, cohesive platform for discovering, organizing, and automating TV and movie libraries. Rather than relying on separate tools patched together, MediaManager offers a streamlined interface and workflow where media metadata, collection insights, and automation policies live side-by-side in one system. It is designed for ease of deployment with Docker, supports standardized metadata sources such as TMDB and TVDB, and integrates OAuth/OIDC for secure authentication. Users can browse, search, and manage their media with a responsive web frontend while developers benefit from a clean codebase that uses Python and modern web technologies. Its holistic approach toward acquisition, tracking, and library maintenance reduces duplication, improves media discovery workflows, and simplifies long-term management of large media collections.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 23
    PerfKit Benchmarker

    PerfKit Benchmarker

    PerfKit Benchmarker (PKB) contains a set of benchmarks

    PerfKitBenchmarker is an open-source benchmarking framework designed to measure and compare the performance of cloud infrastructure across multiple providers in a consistent and reproducible way. It allows users to evaluate metrics such as latency, throughput, provisioning time, and system performance using a standardized set of benchmarks. The tool supports a wide range of environments, including major cloud platforms, Kubernetes clusters, and even local hardware, making it highly versatile for performance analysis. It simplifies the process of running complex benchmarks by providing unified command-line workflows that handle resource provisioning, execution, and result collection. The framework includes a comprehensive set of predefined benchmarks covering areas such as compute, storage, networking, and distributed systems workloads. It is widely used by researchers, engineers, and organizations to evaluate cloud architectures and make informed infrastructure decisions.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 24
    Pottery

    Pottery

    Redis for humans

    Redis is awesome, but Redis commands are not always intuitive. Pottery is a Pythonic way to access Redis. If you know how to use Python dicts, then you already know how to use Pottery. Pottery is useful for accessing Redis more easily, and also for implementing microservice resilience patterns, and it has been battle-tested in production at scale.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 25
    PrettyTensor

    PrettyTensor

    Pretty Tensor: Fluent Networks in TensorFlow

    Pretty Tensor is a high-level API built on top of TensorFlow that simplifies the process of creating and managing deep learning models. It wraps TensorFlow tensors in a chainable object syntax, allowing developers to build multi-layer neural networks with concise and readable code. Pretty Tensor preserves full compatibility with TensorFlow’s core functionality while providing syntactic sugar for defining complex architectures such as convolutional and recurrent networks. The library’s design emphasizes flexibility and modularity, supporting advanced features like default scopes, parameter templates, and variable reuse. It also allows easy integration with custom operations and third-party libraries, making it ideal for both research experimentation and production-grade modeling. By combining TensorFlow’s power with an intuitive builder-style API, Pretty Tensor accelerates model development without sacrificing transparency or control.
    Downloads: 2 This Week
    Last Update:
    See Project
Auth0 Logo