Compare the Top Component Libraries that integrate with Python as of June 2025

This a list of Component Libraries that integrate with Python. Use the filters on the left to add additional filters for products that have integrations with Python. View the products that work with Python in the table below.

What are Component Libraries for Python?

Component libraries are preconfigured sets of components, designs, styles, and code that enable developers and designers to build and design applications in a more efficient and streamlined way. A component library, also known as a UI component library, can be used across programming languages and frameworks to speed up and simplify design and development. Compare and read user reviews of the best Component Libraries for Python currently available using the table below. This list is updated regularly.

  • 1
    Plotly Dash
    Dash & Dash Enterprise let you build & deploy analytic web apps using Python, R, and Julia. No JavaScript or DevOps required. Through Dash, the world's largest companies elevate AI, ML, and Python analytics to business users at 5% the cost of a full-stack development approach. Deliver apps and dashboards that run advanced analytics: ML, NLP, forecasting, computer vision and more. Work in the languages you love: Python, R, and Julia. Reduce costs by migrating legacy, per-seat licensed software to Dash Enterprise's open-core, unlimited end-user pricing model. Move faster by deploying and updating Dash apps without an IT or DevOps team. Create pixel-perfect dashboards & web apps, without writing any CSS. Scale effortlessly with Kubernetes. Support mission-critical Python applications with high availability.
  • 2
    python-docx

    python-docx

    python-docx

    python-docx is a Python library for creating and updating Microsoft Word (.docx) files. Paragraphs are fundamental in Word. They’re used for body text, but also for headings and list items like bullets. You’re free to specify both width and height, but usually, you wouldn’t want to. If you specify only one, python-docx uses it to calculate the properly scaled value of the other. This way the aspect ratio is preserved and your picture doesn’t look stretched. If you don’t know what a Word paragraph style is you should definitely check it out. Basically, it allows you to apply a whole set of formatting options to a paragraph at once. python-docx allows you to create new documents as well as make changes to existing ones. Actually, it only lets you make changes to existing documents; it’s just that if you start with a document that doesn’t have any content, it might feel at first like you’re creating one from scratch.
    Starting Price: Free
  • 3
    requests

    requests

    Python Software Foundation

    Requests is a simple, yet elegant, HTTP library. Requests allows you to send HTTP/1.1 requests extremely easily. There’s no need to manually add query strings to your URLs, or to form-encode your PUT & POST data, but nowadays, just use the JSON method! Requests is one of the most downloaded Python packages today, pulling in around 30M downloads/week, according to GitHub, Requests is currently depended upon by 1,000,000+ repositories. You may certainly put your trust in this code. Requests is available on PyPI. Requests is ready for the demands of building robust and reliable HTTP–speaking applications, for the needs of today. Automatic content decompression and decoding. International domains and URLs. Sessions with cookie persistence. Browser-style TLS/SSL verification. Basic & digest authentication, and familiar dict–like cookies. Multi-part file uploads. SOCKS proxy support. Connection timeouts and streaming downloads.
    Starting Price: Free
  • 4
    urllib3

    urllib3

    urllib3

    urllib3 is a powerful, user-friendly HTTP client for Python. Much of the Python ecosystem already uses urllib3 and you should too. urllib3 brings many critical features that are missing from the Python standard libraries. Thread safety, connection pooling, client-side TLS/SSL verification. File uploads with multipart encoding. Helpers for retrying requests and dealing with HTTP redirects. Support for gzip, deflate, and brotli encoding. Proxy support for HTTP and SOCKS. 100% test coverage. urllib3 is one of the most downloaded packages on PyPI and is a dependency of many popular Python packages like Requests, Pip, and more! urllib3 is made available under the MIT License. The API Reference documentation provides API-level documentation. The User Guide is the place to go to learn how to use the library and accomplish common tasks. The more in-depth Advanced Usage guide is the place to go for lower-level tweaking.
    Starting Price: Free
  • 5
    MPI for Python (mpi4py)
    Over the last years, high performance computing has become an affordable resource to many more researchers in the scientific community than ever before. The conjunction of quality open source software and commodity hardware strongly influenced the now widespread popularity of Beowulf class clusters and cluster of workstations. Among many parallel computational models, message-passing has proven to be an effective one. This paradigm is specially suited for (but not limited to) distributed memory architectures and is used in today’s most demanding scientific and engineering application related to modeling, simulation, design, and signal processing. However, portable message-passing parallel programming used to be a nightmare in the past because of the many incompatible options developers were faced to. Fortunately, this situation definitely changed after the MPI Forum released its standard specification.
    Starting Price: Free
  • 6
    parsel

    parsel

    Python Software Foundation

    Parsel is a BSD-licensed Python library to extract and remove data from HTML and XML using XPath and CSS selectors, optionally combined with regular expressions. Create a selector object for the HTML or XML text that you want to parse. Then use CSS or XPath expressions to select elements. CSS is a language for applying styles to HTML documents. It defines selectors to associate those styles with specific HTML elements. XPath is a language for selecting nodes in XML documents, which can also be used with HTML. You can use either CSS or XPath. CSS is usually more readable, but some things can only be done with XPath. Being built atop lxml, parsel selectors support some EXSLT extensions and come with pre-registered namespaces to use in XPath expressions. Parsel selectors allow you to chain selectors, so most of the time you can just select by class using CSS and then switch to XPath when needed.
    Starting Price: Free
  • 7
    pexpect

    pexpect

    pexpect

    Pexpect makes Python a better tool for controlling other applications. Pexpect is a pure Python module for spawning child applications; controlling them, and responding to expected patterns in their output. Pexpect works like Don Libes’ Expect. Pexpect allows your script to spawn a child application and control it as if a human were typing commands. Pexpect can be used for automating interactive applications such as ssh, FTP, passwd, telnet, etc. It can be used to automate setup scripts for duplicating software package installations on different servers. It can be used for automated software testing. Pexpect is in the spirit of Don Libes’ Expect, but Pexpect is pure Python. Unlike other Expect-like modules for Python, Pexpect does not require TCL or Expect nor does it require C extensions to be compiled. It should work on any platform that supports the standard Python pty module. The Pexpect interface was designed to be easy to use.
    Starting Price: Free
  • 8
    pygame

    pygame

    pygame

    Pygame is a set of Python modules designed for writing video games. Pygame adds functionality on top of the excellent SDL library. This allows you to create fully featured games and multimedia programs in the python language. Pygame is highly portable and runs on nearly every platform and operating system. Pygame is free. Released under the LGPL license, you can create open-source, freeware, shareware, and commercial games with it. With dual-core CPUs common, and 8-core CPUs cheaply available on desktop systems, making use of multi-core CPUs allows you to do more in your game. Selected pygame functions release the dreaded python GIL, which is something you can do from C code. Uses optimized C and assembly code for core functions. C code is often 10-20 times faster than python code, and assembly code can easily be 100x or more times faster than python code. Comes with many operating systems. Just an apt-get, emerge, pkg_add, or just install away.
    Starting Price: Free
  • 9
    pyglet

    pyglet

    pyglet

    The cross-platform windowing and multimedia library for Python. pyglet is a powerful, yet easy-to-use Python library for developing games and other visually-rich applications on Windows, Mac OS X, and Linux. It supports windowing, user interface event handling, Joysticks, OpenGL graphics, loading images, and videos, and playing sounds and music. All of this with a friendly Pythonic API, that's simple to learn and doesn't get in your way. pyglet is provided under the BSD open-source license, allowing you to use it for both commercial and other open-source projects with very little restriction. No external dependencies or installation requirements. For most application and game requirements, pyglet needs nothing else besides Python, simplifying distribution and installation. This makes it easy to package your project with freezers such as PyInstaller. pyglet provides real platform native windows, allowing you to take advantage of multiple windows and multi-monitor desktops.
    Starting Price: Free
  • 10
    Bokeh

    Bokeh

    Bokeh

    Bokeh makes it simple to create common plots, but also can handle custom or specialized use-cases. Plots, dashboards, and apps can be published in web pages or Jupyter notebooks. Python has an incredible ecosystem of powerful analytics tools: NumPy, Scipy, Pandas, Dask, Scikit-Learn, OpenCV, and more. With a wide array of widgets, plot tools, and UI events that can trigger real Python callbacks, the Bokeh server is the bridge that lets you connect these tools to rich, interactive visualizations in the browser. Microscopium is a project maintained by researchers at Monash University. It allows researchers to discover new gene or drug functions by exploring large image datasets with Bokeh’s interactive tools. Panel is a tool for polished data presentation that utilizes the Bokeh server. It is created and supported by Anaconda. Panel makes it simple to create custom interactive web apps and dashboards by connecting user-defined widgets to plots, images, tables, or text.
    Starting Price: Free
  • 11
    PyQtGraph

    PyQtGraph

    PyQtGraph

    PyQtGraph is a pure-python graphics and GUI library built on PyQt/PySide and NumPy. It is intended for use in mathematics/scientific/engineering applications. Despite being written entirely in python, the library is very fast due to its heavy leverage of NumPy for number crunching and Qt's GraphicsView framework for fast display. PyQtGraph is distributed under the MIT open-source license. Basic 2D plotting in interactive view boxes. Line and scatter plots. Data can be panned/scaled by mouse. Fast drawing for real-time data display and interaction. Displays most data types (int or float; any bit depth; RGB, RGBA, or luminance). Functions for slicing multidimensional images at arbitrary angles (great for MRI data). Rapid update for video display or real-time interaction. Image display with interactive lookup tables and level control. Mesh rendering with isosurface generation. Interactive viewports rotate/zoom with mouse. Basic 3D scenegraph for easier programming.
    Starting Price: Free
  • 12
    Pillow

    Pillow

    Pillow

    The Python Imaging Library adds image processing capabilities to your Python interpreter. This library provides extensive file format support, an efficient internal representation, and fairly powerful image processing capabilities. The core image library is designed for fast access to data stored in a few basic pixel formats. It should provide a solid foundation for a general image processing tool. Pillow for enterprise is available via the Tidelift subscription. The Python Imaging Library is ideal for image archival and batch processing applications. You can use the library to create thumbnails, convert between file formats, print images, etc. The current version identifies and reads a large number of formats. Write support is intentionally restricted to the most commonly used interchange and presentation formats. The library contains basic image processing functionality, including point operations, filtering with a set of built-in convolution kernels, and color space conversions.
    Starting Price: Free
  • 13
    python-sql

    python-sql

    Python Software Foundation

    python-sql is a library to write SQL queries in a pythonic way. Simple selects, select with where condition. Select with join or select with multiple joins. Select with group_by and select with output name. Select with order_by, or select with sub-select. Select on other schema and insert query with default values. Insert query with values, and insert query with query. Update query with values. Update query with where condition. Update query with from the list. Delete query with where condition, and delete query with sub-query. Provides limit style, qmark style, and numeric style.
    Starting Price: Free
  • 14
    waiting

    waiting

    Python Software Foundation

    waiting is a small library for waiting for stuff to happen. It basically waits for a function to return True, in various modes. Waiting is compatible with flux for simulated timelines. The most basic usage is when you have a function you want to wait for. Waiting forever is very simple. If your predicate returns a value, it will be returned as the result of wait(). A timeout parameter can also be specified. When a timeout expires without the predicate being fulfilled, an exception is thrown. Sleeping polls the predicate at a certain interval (by default 1 second). The interval can be changed with the sleep_seconds argument. When waiting for multiple predicates, waiting provides two simple facilities to help aggregate them, any and all. They resemble Python’s built-in any() and all(), except that they don’t call a predicate once it has been satisfied (this is useful when the predicates are inefficient and take time to complete).
    Starting Price: Free
  • 15
    dedupe

    dedupe

    dedupe

    Dedupe.io is a powerful tool that learns the best way to find similar rows in your data. Using cutting-edge research in machine learning we quickly and accurately identify matches in your Excel spreadsheet or database—saving you time and money. In today’s world of big data, there’s never been more information available to work with. Unfortunately, all this data is hard to use, especially if it’s been entered by hand or comes from different systems. The simple task of figuring out who is who in a spreadsheet or database can be a daunting, time-consuming task. That’s where Dedupe.io comes in. We developed the best dynamic and scalable solution for de-duplicating and linking datasets, and built a simple step-by-step wizard for anyone to use it.
    Starting Price: $9 per 1,000 rows
  • 16
    websockets

    websockets

    Python Software Foundation

    An implementation of the WebSocket Protocol (RFC 6455 & 7692). websockets is a library for building WebSocket servers and clients in Python with a focus on correctness, simplicity, robustness, and performance. Built on top of asyncio, Python’s standard asynchronous I/O framework, it provides an elegant coroutine-based API. websockets is heavily tested for compliance with RFC 6455. Continuous integration fails under 100% branch coverage. websockets is built for production. For example, it was the only library to handle backpressure correctly before the issue became widely known in the Python community. Memory usage is optimized and configurable. A C extension accelerates expensive operations. It’s pre-compiled for Linux, macOS, and Windows and packaged in the wheel format for each system and Python version. websockets takes care of everything under the hood so you can focus on your application!
    Starting Price: Free
  • 17
    xlrd

    xlrd

    Python Software Foundation

    xlrd is a library for developers to extract data from Microsoft Excel (tm) .xls spreadsheet files. xlrd is a library for reading data and formatting information from Excel files in the historical .xls format. This library will no longer read anything other than .xls files. Ignores charts, macros, pictures, any other embedded object, including embedded worksheets, VBA modules, and formulas, but results of formula calculations are extracted, comments, hyperlinks, auto filters, advanced filters, pivot tables, conditional formatting, and data validation. Password-protected files are not supported and cannot be read by this library. From the command line, this will show the first, second, and last rows of each sheet in each file. xlrd is licensed under the BSD license.
    Starting Price: Free
  • 18
    ruffus

    ruffus

    ruffus

    Ruffus is a computation pipeline library for python. It is open-sourced, powerful and user-friendly, and widely used in science and bioinformatics. Ruffus is designed to allow scientific and other analyses to be automated with the minimum of fuss and the least effort. Suitable for the simplest of tasks. Handles even fiendishly complicated pipelines which would cause make or scons to go cross-eyed and recursive. No "clever magic", no pre-processing. Unambitious, the lightweight syntax which tries to do this one small thing well. Ruffus is available under the permissive MIT free software license. This permits free use and inclusion even within proprietary software. It is good practice to run your pipeline in a temporary, “working” directory away from your original data. Ruffus is a lightweight python module for building computational pipelines. Ruffus requires Python 2.6 or higher or Python 3.0 or higher.
    Starting Price: Free
  • 19
    Scapy

    Scapy

    Scapy

    Scapy is a powerful interactive packet manipulation program. It is able to forge or decode packets of a wide number of protocols, send them on the wire, capture them, match requests and replies, and much more. It can easily handle most classical tasks like scanning, tracerouting, probing, unit tests, attacks, or network discovery (it can replace hping, 85% of nmap, arpspoof, arp-sk, arping, tcpdump, tshark, p0f, etc.). It also performs very well at a lot of other specific tasks that most other tools can’t handle, like sending invalid frames, injecting your own 802.11 frames, combining technics (VLAN hopping+ARP cache poisoning, VOIP decoding on WEP encrypted channel), etc. Scapy runs natively on Linux, Windows, OSX, and on most Unixes with libpcap. The same code base now runs natively on both Python 2 and Python 3. Scapy development uses the Git version control system. Scapy reference repository is hosted on GitHub.
    Starting Price: Free
  • 20
    gTTS

    gTTS

    gTTS

    gTTS (Google Text-to-Speech), a Python library and CLI tool to interface with Google Translate's text-to-speech API. Write spoken mp3 data to a file, a file-like object (bytestring) for further audio manipulation, or stdout. Or simply pre-generate Google Translate TTS request URLs to feed to an external program. Customizable speech-specific sentence tokenizer that allows for unlimited lengths of text to be read, all while keeping proper intonation, abbreviations, decimals and more. Customizable text pre-processors which can, for example, provide pronunciation corrections.
    Starting Price: Free
  • 21
    statsmodels

    statsmodels

    statsmodels

    statsmodels is a Python module that provides classes and functions for the estimation of many different statistical models, as well as for conducting statistical tests and statistical data exploration. An extensive list of result statistics is available for each estimator. The results are tested against existing statistical packages to ensure that they are correct. The package is released under the open-source Modified BSD (3-clause) license. statsmodels supports specifying models using R-style formulas and pandas DataFrames. Have a look at dir(results) to see available results. Attributes are described in results.__doc__ and results methods have their own docstrings. You can also use numpy arrays instead of formulas. The easiest way to install statsmodels is to install it as part of the Anaconda distribution, a cross-platform distribution for data analysis and scientific computing. This is the recommended installation method for most users.
    Starting Price: Free
  • 22
    tox

    tox

    tox

    tox aims to automate and standardize testing in Python. It is part of a larger vision of easing the packaging, testing and release process of Python software. tox is a generic virtualenv management and test command-line tool you can use for checking that your package installs correctly with different Python versions and interpreters, running your tests in each of the environments, configuring your test tool of choice, and acting as a frontend to continuous integration servers, greatly reducing boilerplate and merging CI and shell-based testing. First, install tox with pip install tox. Then put basic information about your project and the test environments you want your project to run in into a tox.ini file residing right next to your setup.py file. You can also try generating a tox.ini file automatically, by running tox-quickstart and then answering a few simple questions. Install and test your project against Python2.7 and Python3.6.
    Starting Price: Free
  • 23
    h5py

    h5py

    HDF5

    The h5py package is a Pythonic interface to the HDF5 binary data format. It lets you store huge amounts of numerical data, and easily manipulate that data from NumPy. For example, you can slice into multi-terabyte datasets stored on disk, as if they were real NumPy arrays. Thousands of datasets can be stored in a single file, categorized and tagged however you want. H5py uses straightforward NumPy and Python metaphors, like dictionary and NumPy array syntax. For example, you can iterate over datasets in a file, or check out the .shape or .dtype attributes of datasets. You don't need to know anything special about HDF5 to get started. In addition to the easy-to-use high level interface, h5py rests on a object-oriented Cython wrapping of the HDF5 C API. Almost anything you can do from C in HDF5, you can do from h5py.
    Starting Price: Free
  • 24
    IPy

    IPy

    IPy

    The IP class allows a comfortable parsing and handling for most notations in use for IPv4 and IPv6 addresses and networks. It was greatly inspired by RIPE’s Perl module NET::IP’s interface but doesn’t share the implementation. It doesn’t share non-CIDR netmasks, so funky stuff like a netmask of 0xffffff0f can’t be done here. It can detect about a dozen different ways of expressing IP addresses and networks, parse them and distinguish between IPv4 and IPv6 addresses. Nearly all class methods which return a string have an optional parameter ‘wantprefixlen’ which controls if the prefixlen or netmask is printed. Per default the prefilen is always shown if the network contains more than one address. You can also change the defaults on an per-object basis by fiddling with the class members.
    Starting Price: Free
  • 25
    luminoth

    luminoth

    luminoth

    Luminoth is an open source toolkit for computer vision. Currently, we support object detection, but we are aiming for much more. : Luminoth is still alpha-quality release, which means the internal and external interfaces (such as command line) are very likely to change as the codebase matures. . If you want GPU support, you should install the GPU version of TensorFlow with pip install tensorflow-gpu, or else you can use the CPU version using pip install tensorflow. Luminoth can also install TensorFlow for you if you install it with pip install luminoth[tf] or pip install luminoth[tf-gpu], depending on the version of TensorFlow you wish to use.
    Starting Price: Free
  • 26
    warcat

    warcat

    Python Software Foundation

    Tool and library for handling Web ARChive (WARC) files. Naively join archives into one. Extract files from archive. List commands available. List contents of archive. Load archive and write it back out. Split archives into individual records. Verify digest and validate conformance. The library may not be entirely thread-safe yet. The goal of the Warcat project is to create a tool and library as easily and fast as manipulating any other archive such as tar and zip archives. Warcat is designed to handle large, gzip-ed files by partially extracting them as needed. Warcat is provided without warranty and cannot guarantee the safety of your files. Remember to make backups and test them! A WARC file contains one or more records concatenated together. Each record contains named fields, newline, a content block, newline, and newline. A Content Block may be two types, {binary data} or {Named Fields, newline, and binary data}.
    Starting Price: Free
  • 27
    Mako

    Mako

    Mako

    It provides a familiar, non-XML syntax that compiles into Python modules for maximum performance. Mako's syntax and API borrows from the best ideas of many others, including Django and Jinja2 templates, Cheetah, Myghty, and Genshi. Conceptually, Mako is an embedded Python (i.e. Python Server Page) language, which refines the familiar ideas of componentized layout and inheritance to produce one of the most straightforward and flexible models available, while also maintaining close ties to Python calling and scoping semantics. As templates are ultimately compiled into Python bytecode, Mako's approach is extremely efficient and was originally written to be just as fast as Cheetah. Today, Mako is very close in speed to Jinja2, which uses a similar approach and for which Mako was an inspiration. Can access variables from their enclosing scope as well as the template's request context
    Starting Price: Free
  • 28
    yarl

    yarl

    Python Software Foundation

    All URL parts, scheme, user, password, host, port, path, query, and fragment are accessible by properties. All URL manipulations produce a new URL object. Strings passed to constructor and modification methods are automatically encoded giving canonical representation as result. Regular properties are percent-decoded, use raw_ versions for getting encoded strings. Human-readable representation of URL is available as .human_repr(). PyPI contains binary wheels for Linux, Windows and MacOS. If you want to install yarl on another operating system (like Alpine Linux, which is not manylinux-compliant because of the missing glibc and therefore, cannot be used with our wheels) the tarball will be used to compile the library from the source code. It requires a C compiler and Python headers installed. Please note that the pure-Python (uncompiled) version is much slower. However, PyPy always uses a pure-Python implementation, and, as such, it is unaffected by this variable.
    Starting Price: Free
  • 29
    zdaemon

    zdaemon

    Python Software Foundation

    zdaemon is a Unix (Unix, Linux, Mac OS X) Python program that wraps commands to make them behave as proper daemons. zdaemon provides a script, zdaemon, that can be used to run other programs as POSIX (Unix) daemons. (Of course, it is only usable on POSIX-complient systems.) Using zdaemon requires specifying a number of options, which can be given in a configuration file, or as command-line options. It also accepts commands teling it what to do. Start a process as a daemon. Stop a running daemon process. Stop and then restart a program. Find out if the program is running. Send a signal to the daemon process. Reopen the transcript log. Commands can be given on a command line, or can be given using an interactive interpreter. We can specify a program name and command-line options in the program command. Note, however, that the command-line parsing is pretty primitive.
    Starting Price: Free
  • 30
    zope.interface

    zope.interface

    Python Software Foundation

    This package is intended to be independently reusable in any Python project. It is maintained by the Zope Toolkit project. This package provides an implementation of “object interfaces” for Python. Interfaces are a mechanism for labeling objects as conforming to a given API or contract. So, this package can be considered as an implementation of the Design By Contract methodology support in Python. Interfaces are objects that specify (document) the external behavior of objects that “provide” them. An interface specifies behavior through informal documentation in a doc string, attribute definitions, and invariants, which are conditions that must hold for objects that provide the interface. Attribute definitions specify specific attributes. They define the attribute name and provide documentation and constraints of attribute values. Attribute definitions can take a number of forms.
    Starting Price: Free
  • Previous
  • You're on page 1
  • 2
  • Next