0% found this document useful (0 votes)
9 views13 pages

Python Packages - GeeksforGeeks

The document provides an overview of Python packages, explaining their structure and components, including modules, packages, and sub-packages. It also details how to create and access packages, along with examples of various Python packages for web development, AI, machine learning, GUI applications, web scraping, automation, and game development. Each section highlights key libraries and frameworks relevant to their respective domains.

Uploaded by

mydearkathyayani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views13 pages

Python Packages - GeeksforGeeks

The document provides an overview of Python packages, explaining their structure and components, including modules, packages, and sub-packages. It also details how to create and access packages, along with examples of various Python packages for web development, AI, machine learning, GUI applications, web scraping, automation, and game development. Each section highlights key libraries and frameworks relevant to their respective domains.

Uploaded by

mydearkathyayani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

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

You might also like