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
  • 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, govern, and optimize agents and models with Gemini Enterprise Agent Platform.
    Start Free
  • 1
    Functional Programming for Python. Provides a small mixin to provide 1) type constraints for named tuples 2) pre/postcondition typechecking for functions 3) syntactical sugar to make your code look pretty (accomplished through a PEP 302 import hook)
    Downloads: 0 This Week
    Last Update:
    See Project
  • 2
    Pinject

    Pinject

    A pythonic dependency injection library

    Pinject is a lightweight dependency-injection library for Python that favors explicit wiring and testability over magic. Instead of global singletons, you declare providers (bindings) that describe how to construct objects, and Pinject resolves the graph by inspecting call signatures. Its container supports constructor injection and fine-grained scoping so you can share expensive resources while keeping tests isolated. The library leans on Python’s introspection to minimize boilerplate, making it natural to adopt in codebases that already rely on type hints or keyword arguments. Because bindings are just Python functions and classes, refactoring remains straightforward and the DI graph is easy to reason about. Pinject is particularly useful for medium-to-large services where configuration, logging, data clients, and business logic need clean separation without resorting to manual plumbing.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 3
    To install these libraries, you need to have Python installed on your PC, preferably the latest version. This file only works for Windows.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 4
    PixieDust

    PixieDust

    Python Helper library for Jupyter Notebooks

    PixieDust is an open source Python helper library that works as an add-on to Jupyter notebooks to improve the user experience of working with data. It also fills a gap for users who have no access to configuration files when a notebook is hosted on the cloud.
    Downloads: 0 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
    Playground Cheatsheet for Python

    Playground Cheatsheet for Python

    Playground and cheatsheet for learning Python

    learn-python is another repository by Oleksii Trekhleb that serves as both a playground and an interactive cheatsheet for learning Python. It contains numerous Python scripts organized by topic (lists, dictionaries, loops, functions, classes, modules, etc.), each with code examples, explanations, test assertions, and links to further readings. The design supports “learn by doing”: you can modify the code, run the tests, see how behavior changes, and thus internalize Python language features, idioms, and good style practices (including linting and PEP8). Because it is organized in bite-sized chunks, it’s ideal for beginners or people refreshing their Python skills who want to revisit syntax and common patterns before moving into larger frameworks or applications. It also supports usage as a reference: if you forgot how a list comprehension works or how decorators behave, you can quickly open the relevant script.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 6
    Poor Http

    Poor Http

    WSGI Server, WSGI Connector, Python doc generator

    Poor Http Server is standalone wsgi server, which is designed for using python web applications. Unlike other projects, this is not framework, but single server, light wsgi connector, and python doc generator.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 7
    Portfolio-Generator

    Portfolio-Generator

    Portfolios Made Easy, Generate portfolios in 3 easy steps

    A webapp made in Django to generate a portfolio.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 8
    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: 0 This Week
    Last Update:
    See Project
  • 9

    Prefix Tree

    A lighting-fast prefix tree and DAWG implementation in C and python

    A lighting-fast prefix tree (trie) and compressed prefix tree (DAWG) implementation. This library can be usefull for longest-prefix matching, code completion, dictionary compression, spell checking.
    Downloads: 0 This Week
    Last Update:
    See Project
  • Secure File Transfer for Windows with Cerberus by Redwood Icon
    Secure File Transfer for Windows with Cerberus by Redwood

    Protect and share files over FTP/S, SFTP, HTTPS and SCP with the #1 rated Windows file transfer server.

    Cerberus supports unlimited users and connections on a single IP, with built-in encryption, 2FA, and a browser-based web client — all deployable in under 15 minutes with a 25-day free trial.
    Try for Free
  • 10
    Pretty Jupyter

    Pretty Jupyter

    Creates dynamic html report from jupyter notebook.

    Pretty Jupyter is an easy-to-use package that allows to create beautiful & dynamic HTML reports. Most of the features require little to no work to get working and greatly improve the quality of the output report, or even the developer’s comfort when creating the report. For example, tabs make some visualizations much more comfortable. The features are integrated directly into the output page, therefore there is no need to have an interpreter running in the backend. This makes the HTML easily sendable or uploadable to a static website.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 11
    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: 0 This Week
    Last Update:
    See Project
  • 12
    Professional Programming

    Professional Programming

    A collection of learning resources for curious software engineers

    Professional Programming is a long-running, curated collection of learning resources aimed at helping software engineers grow into well-rounded professionals. It goes far beyond basic “learn to code” material and covers topics like system design, debugging, testing, performance, security, architecture, and software craftsmanship. The list is organized by themes such as coding, design, operations, communication, and career, making it easy to dive into specific aspects of engineering practice. Each resource is hand-picked by the maintainer, focusing on timeless, high-signal articles, talks, and books rather than trendy or shallow content. Because it has been maintained for many years, it also acts as a kind of “canon” of articles that many engineers reference throughout their careers. The repository is especially helpful for self-taught developers or those transitioning from junior to senior roles who want a structured reading roadmap instead of random blog posts.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    Prompt Engineering Interactive Tutorial

    Prompt Engineering Interactive Tutorial

    Anthropic's Interactive Prompt Engineering Tutorial

    Prompt-eng-interactive-tutorial is a comprehensive, hands-on tutorial that teaches the craft of prompt engineering with Claude through guided, executable lessons. It starts with the anatomy of a good prompt and moves into techniques that deliver the “80/20” gains—separating instructions from data, specifying schemas, and setting evaluation criteria. The course leans heavily on realistic failure modes (ambiguity, hallucination, brittle instructions) and shows how to iteratively debug prompts the way you would debug code. Lessons include building prompts from scratch for common tasks like extraction, classification, transformation, and step-by-step reasoning, with checkpoints that let you compare your outputs against solid baselines. You’ll also practice advanced patterns such as tool use, constrained generation, and response validation so outputs are trustworthy and machine-consumable.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14

    ProximityForest

    Efficient Approximate Nearest Neighbors for General Metric Spaces

    A proximity forest is a data structure that allows for efficient computation of approximate nearest neighbors of arbitrary data elements in a metric space. See: O'Hara and Draper, "Are You Using the Right Approximate Nearest Neighbor Algorithm?", WACV 2013 (best student paper award). One application of a ProximityForest is given in the following CVPR publication: Stephen O'Hara and Bruce A. Draper, "Scalable Action Recognition with a Subspace Forest," IEEE Conference on Computer Vision and Pattern Recognition, 2012. This source code is provided without warranty and is available under the GPL license. More commercially-friendly licenses may be available. Please contact Stephen O'Hara for license options. Please view the wiki on this site for installation instructions and examples on reproducing the results of the papers.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    Prudence is an open source container and framework for scalable web frontends and network services, based on proven REST principles. It comes in several flavors: Python, Ruby, Clojure, JavaScript, PHP and Groovy.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    Psifas
    A python library for parsing and building of data structures (binary or textual). It is based on the concept of defining data structures in a declarative manner, where complex structures are composed of a hierarchy of simpler ones.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    PureEnergy is an organized file manager for SuperWikia Super Controller reactors which provide fluent access of each reactor's Sadeic files and other components of the native Super Controller Codec partitions. PureEnergy features IDE & SDK utilities.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    Pwntools

    Pwntools

    CTF framework and exploit development library

    Pwntools is a CTF framework and exploit development library. Written in Python, it is designed for rapid prototyping and development, and intended to make exploit writing as simple as possible. Whether you’re using it to write exploits, or as part of another software project will dictate how you use it. Historically pwntools was used as a sort of exploit-writing DSL. Simply doing from pwn import in a previous version of pwntools would bring all sorts of nice side-effects. This version imports everything from the toplevel pwnlib along with functions from a lot of submodules. This means that if you do import pwn or from pwn import , you will have access to everything you need to write an exploit. Calls pwnlib.term.init() to put your terminal in raw mode and implements functionality to make it appear like it isn’t. Tries to parse some of the values in sys.argv and every value it succeeds in parsing it removes.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    Py4J enables Python programs to dynamically access arbitrary Java objects. Methods are called as if the Java objects resided in the Python virtual machine. There is no code to generate and no interface to implement for shared objects on both sides.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 20
    PyAnnotation is a Python Library to access and manipulate linguistically annotated corpus files. Supported file formats are Kura XML, Elan XML and Toolbox files. A Corpus Reader API is provided to support statistical analysis within the NLTK.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21
    PyCNN

    PyCNN

    Image Processing with Cellular Neural Networks in Python

    Image Processing with Cellular Neural Networks in Python. Cellular Neural Networks (CNN) are a parallel computing paradigm that was first proposed in 1988. Cellular neural networks are similar to neural networks, with the difference that communication is allowed only between neighboring units. Image Processing is one of its applications. CNN processors were designed to perform image processing; specifically, the original application of CNN processors was to perform real-time ultra-high frame-rate (>10,000 frame/s) processing unachievable by digital processors.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22
    PyComputerAlgebra is a pure Python implementation of a computer algebra library.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    Fully OO python PDF generation library.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24

    PyDoodles

    Assorted Mini-Modules for Python

    PyDoodles is a set of assorted "mini-modules" for the Python programming language. It's a collection of small ideas combined to create reusable code that is bound to come in handy for someone somewhere.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25
    PyExcelerate

    PyExcelerate

    Accelerated Excel XLSX Writing Library for Python 2/3

    Accelerated Excel XLSX writing library for Python. PyExcelerate is a Python for writing Excel-compatible XLSX spreadsheet files, with an emphasis on speed.
    Downloads: 0 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB