10/10/25, 4:30 PM Python Packages - GeeksforGeeks
Search... Sign In
Python Tutorial Data Types Interview Questions Examples Quizzes DSA Python Data Scien
Python Packages
Last Updated : 06 Oct, 2025
Python packages are a way to organize and structure code by grouping
related modules into directories.
A package is essentially a folder that contains an __init__.py file and
one or more Python files (modules).
Allows modules to be easily shared and distributed across different
applications.
Key Components of a Python Package
Module: A single Python file containing reusable code (e.g.,
math.py).
Package: A directory containing modules and a special __init__.py
file.
Sub-Packages: Packages nested within other packages for deeper
organization.
1/3
How to create and access packages in python
https://www.geeksforgeeks.org/python/python-packages/ 1/13
10/10/25, 4:30 PM Python Packages - GeeksforGeeks
1. Create a Directory: Make a directory for your package. This will
serve as the root folder.
2. Add Modules: Add Python files (modules) to the directory, each
representing specific functionality.
3. Include __init__.py: Add an __init__.py file (can be empty) to the
directory to mark it as a package.
4. Add Sub packages (Optional): Create subdirectories with their
own __init__.py files for sub packages.
5. Import Modules: Use dot notation to import, e.g., from
mypackage.module1 import greet.
Example:
In this example, we are creating a Math Operation Package to organize
Python code into a structured package with two sub-packages: basic
(for addition and subtraction) and advanced (for multiplication and
division). Each operation is implemented in separate modules, allowing
for modular, reusable and maintainable code.
math_operations/__init__.py:
This __init__.py file initializes the main package by importing and
exposing the calculate function and operations (add, subtract, multiply,
divide) from the respective sub-packages for easier access.
# Initialize the main package
from .calculate import calculate
from .basic import add, subtract
from .advanced import multiply, divide
math_operations/calculator.py:
This calculate file is a simple placeholder that prints "Performing
calculation...", serving as a basic demonstration or utility within the
package.
def calculate():
https://www.geeksforgeeks.org/python/python-packages/ 2/13
10/10/25, 4:30 PM Python Packages - GeeksforGeeks
print("Performing calculation...")
math_operations/basic/__init__.py:
This __init__.py file initializes the basic sub-package by importing and
exposing the add and subtract functions from their respective modules
(add.py and sub.py). This makes these functions accessible when the basic
sub-package is imported.
# Export functions from the basic sub-package
from .add import add
from .sub import subtract
math_operations/basic/add.py:
def add(a, b):
return a + b
math_operations/basic/sub.py:
def subtract(a, b):
return a - b
In the same way we can create the sub package advanced with
multiply and divide modules. Now, let's take an example of importing
the module into a code and using the function:
from math_operations import calculate, add, subtract
# Using the placeholder calculate function
calculate()
# Perform basic operations
print("Addition:", add(5, 3))
print("Subtraction:", subtract(10, 4))
Output:
https://www.geeksforgeeks.org/python/python-packages/ 3/13
10/10/25, 4:30 PM Python Packages - GeeksforGeeks
6
8
Package Tree
Python Packages for Web frameworks
In this segment, we'll explore a diverse array of Python frameworks
designed to streamline web development. From lightweight and
flexible options like Flask and Bottle to comprehensive frameworks
like Django and Pyramid, we'll cover the spectrum of tools available to
Python developers. Whether you're building simple web applications
or complex, high-performance APIs, there's a framework tailored to
your needs.
Flask: Flask is a lightweight Python web framework that simplifies
building web applications, APIs, and services with an intuitive
interface
Django: Django is a Python web framework that enables fast,
efficient development with features like URL routing, database
management, and authentication
FastAPI:FastAPI is a high-performance Python framework for
building modern APIs quickly, using type hints and providing
https://www.geeksforgeeks.org/python/python-packages/ 4/13
10/10/25, 4:30 PM Python Packages - GeeksforGeeks
automatic interactive documentation
Pyramid: Pyramid is a lightweight Python web framework offering
flexibility and powerful features for HTTP handling, routing, and
templating.
Tornado:Tornado is an asynchronous Python web framework and
networking library, ideal for real-time applications and APIs with its
efficient, non-blocking architecture.
Falcon:Falcon is a lightweight Python web framework for building
fast, minimalist RESTful APIs with a focus on simplicity and
performance.
CherryPy:CherryPy is a minimalist Python web framework that
simplifies HTTP request handling, allowing developers to focus on
application logic without server management complexities
Bottle: Bottle is a lightweight Python web framework for building
small applications and APIs with minimal effort, ideal for
prototyping and simplicity.
Web2py: Web2py is a free open-source web framework for agile
development of secure database-driven web applications. It's
written in Python and offers features like an integrated
development environment (IDE), simplified deployment, and
support for multiple database backends.
Python Packages for AI & Machine Learning
In this segment, we'll explore a selection of essential Python packages
tailored for AI and machine learning applications. From performing
statistical analysis and visualizing data to delving into advanced topics
like deep learning, natural language processing (NLP), generative AI,
and computer vision, these packages offer a comprehensive toolkit for
tackling diverse challenges in the field.
Statistical Analysis
Here, we'll explore key Python libraries for statistical analysis,
including NumPy, Pandas, SciPy, XGBoost, StatsModels, Yellowbrick,
Arch, and Dask-ML. From data manipulation to machine learning and
https://www.geeksforgeeks.org/python/python-packages/ 5/13
10/10/25, 4:30 PM Python Packages - GeeksforGeeks
visualization, these tools offer powerful capabilities for analyzing data
effectively.
NumPy
Pandas
SciPy
XGBoost
StatsModels
Yellowbrick
Arch
Dask-ML
Data Visualization
Here, we'll explore a variety of Python libraries for creating stunning
visualizations. From Matplotlib to Seaborn, Plotly to Bokeh, and Altair
to Pygal, we've got you covered. By the end, you'll be equipped to
transform your data into compelling visual narratives.
Matplotlib
Seaborn
Plotly
Bokeh
Altair
Pygal
Plotnine
Dash
Deep Learning
Here, we'll explore essential frameworks like TensorFlow, PyTorch,
Keras, and more. From Scikit-learn for supervised learning to Fastai for
advanced applications, we'll cover a range of tools to unlock the
potential of deep learning.
Scikit-learn
TensorFlow
https://www.geeksforgeeks.org/python/python-packages/ 6/13
10/10/25, 4:30 PM Python Packages - GeeksforGeeks
torch
Keras
Keras-RL
Lasagne
Fastai
Natural Processing Language
Here, we'll explore essential NLP tools and libraries in Python,
including NLTK, spaCy, FastText, Transformers, AllenNLP, and
TextBlob.
NLTK
spaCy
FastText
Transformers
fastText
AllenNLP
TextBlob
Genrative AI
In this segment, we'll explore a range of powerful tools and libraries
that enable the creation of artificial intelligence models capable of
generating novel content. From the renowned deep learning
framework Keras to the natural language processing library spaCy,
we'll cover the essential tools for building generative AI systems.
Keras
spaCy
generative
GPy
Pillow
ImageIO
Fastai
Computer Vision
https://www.geeksforgeeks.org/python/python-packages/ 7/13
10/10/25, 4:30 PM Python Packages - GeeksforGeeks
Here, we'll explore essential Python libraries like OpenCV,
TensorFlow, and Torch, alongside specialized tools such as scikit-
image and Dlib. From basic image processing to advanced object
detection, these libraries empower you to tackle diverse computer
vision tasks with ease.
OpenCV
TensorFlow
torch
scikit-image
SimpleCV
ImageAI
imageio
Dlib
Theano
Mahotas
Python Packages for GUI Applications
GUI development is crucial for modern software, offering intuitive user
interactions. This section explores Python packages like Tkinter,
PyQt5, Kivy, PySide, PySimpleGUI, and PyGTK for building GUI
applications.
Tkinter:Tkinter is a standard Python GUI toolkit for creating
desktop applications with graphical interfaces, featuring widgets
like buttons, labels, and entry fields. It is easy to use, pre-installed
in most Python distributions, and popular for simple desktop apps.
Additional Tkinter packages include:
tk-tools
tkcalendar
tkvideoplayer
tkfilebrowser
PyQT5:PyQt5 is a Python library for creating desktop applications
with graphical user interfaces, based on the Qt framework,
providing a wide range of tools and widgets for powerful,
customizable applications.
https://www.geeksforgeeks.org/python/python-packages/ 8/13
10/10/25, 4:30 PM Python Packages - GeeksforGeeks
Kivy: Kivy is an open-source Python library for developing multi-
touch, cross-platform applications that run on Android, iOS,
Windows, Linux, and macOS, offering tools for building user
interfaces and handling touch events.
PySide: Python PySide is a set of Python bindings for the Qt
application framework. It allows developers to create graphical user
interfaces (GUIs) using Qt tools and libraries within Python code,
enabling cross-platform desktop application development with
ease.
PySimpleGUI:PySimpleGUI is a Python library that simplifies GUI
development by providing an easy-to-use interface for creating
cross-platform desktop applications..
NiceGUI: Nicegui is a Python package that simplifies creating
buttons, dialogs, plots, and 3D scenes with minimal code, ideal for
micro web apps, dashboards, robotics, smart home solutions, and
development tasks like machine learning and motor control
adjustments.
PyGTK: PyGTK is a set of Python bindings for the GTK (GIMP
Toolkit) library, which is a popular toolkit for creating graphical user
interfaces (GUIs). With PyGTK, developers can create cross-
platform GUI applications in Python using GTK's rich set of widgets
and tools.
Python Packages for Web scraping & Automation
In this concise guide, we'll explore a curated selection of powerful
Python packages tailored for web scraping and automation tasks.
From parsing HTML with Beautiful Soup to automating browser
interactions with Selenium, we'll cover the essentials you need to
embark on your web scraping and automation journey. Additionally,
we'll introduce other handy tools like MechanicalSoup, urllib3, Scrapy,
Requests-HTML, Lxml, pyautogui, schedule, and Watchdog, each
offering unique functionalities to streamline your development
process.
https://www.geeksforgeeks.org/python/python-packages/ 9/13
10/10/25, 4:30 PM Python Packages - GeeksforGeeks
Request: Python Requests is a versatile HTTP library for sending
HTTP requests in Python. It simplifies interaction with web services
by providing easy-to-use methods for making GET, POST, PUT,
DELETE, and other HTTP requests, handling headers, parameters,
cookies, and more.
BeautifulSoup: Python BeautifulSoup is a library used for parsing
HTML and XML documents. It allows you to extract useful
information from web pages by navigating the HTML structure
easily.
Selenium: Python Selenium is a powerful tool for automating web
browsers. It allows you to control web browsers like Chrome or
Firefox programmatically, enabling tasks such as web scraping,
testing, and automating repetitive tasks on websites.
MechanicalSoup: Python MechanicalSoup is a Python library for
automating interaction with websites. It simplifies tasks like form
submission, navigation, and scraping by combining the capabilities
of the Requests and BeautifulSoup libraries.
urllib3: Python urllib3 is a powerful HTTP client library for Python,
allowing you to make HTTP requests programmatically with ease. It
provides features like connection pooling, SSL verification, and
support for various HTTP methods.
Scrapy: Python Scrapy is a powerful web crawling and web
scraping framework used to extract data from websites. It provides
tools for navigating websites and extracting structured data in a
flexible and efficient manner.
Requests-HTML: Python Requests-HTML is a Python library that
combines the power of the Requests library for making HTTP
requests with the flexibility of parsing HTML using CSS selectors. It
simplifies web scraping and makes it easy to extract data from
HTML documents.
Lxml: Python lxml is a powerful library used for processing XML
and HTML documents. It provides efficient parsing, manipulation,
and querying capabilities, making it a popular choice for working
with structured data in Python.
https://www.geeksforgeeks.org/python/python-packages/ 10/13
10/10/25, 4:30 PM Python Packages - GeeksforGeeks
pyautogui: PyAutoGUI is a Python library for automating tasks by
controlling the mouse and keyboard. It enables users to write
scripts to simulate mouse clicks, keyboard presses, and other GUI
interactions.
schedule: Python Schedule is a library that allows you to schedule
tasks to be executed at specified intervals or times. It provides a
simple interface to create and manage scheduled jobs within
Python programs.
Watchdog: Python Watchdog is a library that allows you to
monitor filesystem events in Python, such as file creations,
deletions, or modifications. It's useful for automating tasks based on
changes in files or directories, like updating a database when new
files are added to a folder.
Python Packages for Game Development
Here, we'll explore the exciting world of game development in Python,
leveraging powerful packages and libraries to bring your gaming ideas
to life. Let's dive in and discover the tools that will empower you to
create immersive and entertaining gaming experiences.
PyGame: PyGame is a set of libraries and tools for creating video
games and multimedia applications using Python. It provides
functions for handling graphics, sound, input devices, and more,
making it easier to develop games with Python.
Panda3D: Python Panda3D is a game development framework that
provides tools and libraries for creating 3D games and simulations
using the Python programming language. It offers features for
rendering graphics, handling input, and managing assets, making it
suitable for both hobbyists and professional game developers.
Pyglet: Pyglet is a Python library used for creating games and
multimedia applications. It provides tools for handling graphics,
sound, input devices, and windowing. With Pyglet, developers can
build interactive experiences efficiently in Python.
Arcade: Python Arcade is a beginner-friendly Python library for
creating 2D games. It provides tools for handling graphics, sound,
https://www.geeksforgeeks.org/python/python-packages/ 11/13
10/10/25, 4:30 PM Python Packages - GeeksforGeeks
input devices, and other game-related functionalities, making game
development accessible and fun.
PyOpenGL: PyOpenGL is a Python binding to OpenGL, a powerful
graphics library for rendering 2D and 3D graphics. It allows Python
developers to access OpenGL's functionality for creating interactive
visual applications, games, simulations, and more.
Cocos2d: Python Cocos2d is a simple and powerful game
development framework for Python. It provides tools and libraries
for creating 2D games, making game development more accessible
and efficient for Python developers.
Comment N nikhila… Follow 35
Article Tags : Python
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate
Tower, Sector- 136, Noida, Uttar Pradesh
(201305)
Registered Address:
K 061, Tower K, Gulshan Vivante
Apartment, Sector 137, Noida, Gautam
Buddh Nagar, Uttar Pradesh, 201305
Company Explore
About Us POTD
Legal Job-A-Thon
Privacy Policy Connect
Careers Blogs
Contact Us Nation Skill Up
https://www.geeksforgeeks.org/python/python-packages/ 12/13
10/10/25, 4:30 PM Python Packages - GeeksforGeeks
Corporate Solution
Campus Training Program
Tutorials Courses
Programming Languages IBM Certification
DSA DSA and Placements
Web Technology Web Development
AI, ML & Data Science Data Science
DevOps Programming Languages
CS Core Subjects DevOps & Cloud
GATE GATE
School Subjects Trending Technologies
Software and Tools
Offline Centers Preparation Corner
Noida Interview Corner
Bengaluru Aptitude
Pune Puzzles
Hyderabad GfG 160
Patna System Design
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
https://www.geeksforgeeks.org/python/python-packages/ 13/13