diff --git a/docs/builtin/import.md b/docs/builtin/import.md
index ca5e062f..7fa419a5 100644
--- a/docs/builtin/import.md
+++ b/docs/builtin/import.md
@@ -44,7 +44,7 @@ print(math_module.sqrt(4)) # Output: 2.0
 ## Relevant links
 
 - importlib module
-- setup.py
+- Packaging
 - Python Projects with Poetry and VS Code (Part 1)
 - globals()
 - locals()
diff --git a/docs/cheatsheet/main.md b/docs/cheatsheet/main.md
index bee7c8c6..9442e05c 100644
--- a/docs/cheatsheet/main.md
+++ b/docs/cheatsheet/main.md
@@ -42,6 +42,6 @@ For example, we are developing a script designed to be used as a module, we shou
 ## Relevant links
 
 - Functions
-- setup.py
+- Packaging
 - Python projects with Poetry and VSCode. Part 1
 - import()
diff --git a/docs/cheatsheet/packaging.md b/docs/cheatsheet/packaging.md
new file mode 100644
index 00000000..9aa159d6
--- /dev/null
+++ b/docs/cheatsheet/packaging.md
@@ -0,0 +1,100 @@
+---
+title: Python Packaging - Python Cheatsheet
+description: Learn about Python packaging tools and standards including setup.py, pyproject.toml (PEP-517, PEP-518, PEP-660), and modern packaging tools like Poetry and UV for building, distributing, and installing Python packages.
+---
+
+
+Python Packaging
+
+
+
+  
+    Modern Python Packaging
+  
+  
+    Modern tools like Poetry and UV make packaging significantly easier and help manage dependencies more conveniently. UV is particularly notable for being 10-100x faster than traditional tools. These tools use pyproject.toml (PEP-517, PEP-518, PEP-660) as the standard configuration format.
+  
+
+
+If you want more information about Poetry you can read the following articles:
+
+- Python projects with Poetry and VSCode. Part 1
+- Python projects with Poetry and VSCode. Part 2
+- Python projects with Poetry and VSCode. Part 3
+
+For a comprehensive guide to UV, the lightning-fast Python package manager, read: UV: The Lightning-Fast Python Package Manager.
+
+## Introduction
+
+Python packaging involves building, distributing, and installing Python modules and packages. Over the years, Python packaging has evolved significantly, from the traditional `setup.py` approach to modern standards using `pyproject.toml`.
+
+For a comprehensive guide on handling file and directory paths, which is essential for managing project structures, see the File and directory Paths page.
+
+## Modern Packaging with pyproject.toml
+
+The `pyproject.toml` file is the modern standard for Python project configuration, defined by PEP-517, PEP-518, and PEP-660. It provides a unified way to specify build requirements, project metadata, and tool configurations.
+
+### Basic pyproject.toml Example
+
+```toml
+[build-system]
+requires = ["setuptools>=61.0", "wheel"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "pythonCheatsheet"
+version = "0.1.0"
+description = "A comprehensive Python cheatsheet"
+readme = "README.md"
+requires-python = ">=3.8"
+license = {text = "MIT"}
+authors = [
+    {name = "Your Name", email = "your.email@example.com"}
+]
+dependencies = [
+    "requests>=2.28.0",
+]
+
+[project.optional-dependencies]
+dev = [
+    "pytest>=7.0",
+    "black>=22.0",
+]
+```
+
+## Traditional setup.py
+
+The setup script was the center of all activity in building, distributing, and installing modules using the Distutils. While still functional, it's being replaced by `pyproject.toml` in modern projects.
+
+The `setup.py` file describes all the metadata about your project. There are only three required fields: name, version, and packages. The name field must be unique if you wish to publish your package on the Python Package Index (PyPI).
+
+This allows you to easily install Python packages:
+
+```bash
+python setup.py install
+```
+
+### setup.py Example
+
+```python
+from distutils.core import setup
+setup(
+   name='pythonCheatsheet',
+   version='0.1',
+   packages=['pipenv',],
+   license='MIT',
+   long_description=open('README.txt').read(),
+)
+```
+
+Find more information in the [official documentation](http://docs.python.org/3.11/install/index.html).
+
+## Relevant links
+
+- Virtual Environments
+- File and directory Paths
+- UV: The Lightning-Fast Python Package Manager
+- Python projects with Poetry and VSCode. Part 1
+- Python projects with Poetry and VSCode. Part 2
+- Python projects with Poetry and VSCode. Part 3
+- import()
diff --git a/docs/cheatsheet/setup-py.md b/docs/cheatsheet/setup-py.md
deleted file mode 100644
index d035cdc5..00000000
--- a/docs/cheatsheet/setup-py.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-title: Python Setup.py - Python Cheatsheet
-description: The setup script is the centre of all activity in building, distributing, and installing modules using the Distutils. The main purpose of the setup script is to describe your module distribution to the Distutils, so that the various commands that operate on your modules do the right thing.
----
-
-
-Python setup.py
-
-
-
-  
-    A 'controversial' opinion
-  
-  
-    Using `setup.py` to pack and distribute your python packages can be quite challenging every so often. Modern tools like Poetry and UV make not only the packaging a lot easier, but also help you to manage your dependencies in a very convenient way. UV is particularly notable for being 10-100x faster than traditional tools.
-  
-
-
-If you want more information about Poetry you can read the following articles:
-
-- Python projects with Poetry and VSCode. Part 1
-- Python projects with Poetry and VSCode. Part 2
-- Python projects with Poetry and VSCode. Part 3
-
-For a comprehensive guide to UV, the lightning-fast Python package manager, read: UV: The Lightning-Fast Python Package Manager.
-
-## Introduction
-
-The setup script is the center of all activity in building, distributing, and installing modules using the Distutils. The main purpose of the setup script is to describe your module distribution to the Distutils, so that the various commands that operate on your modules do the right thing.
-
-For a comprehensive guide on handling file and directory paths, which is essential for managing project structures, see the File and directory Paths page.
-
-The `setup.py` file is at the heart of a Python project. It describes all the metadata about your project. There are quite a few fields you can add to a project to give it a rich set of metadata describing the project. However, there are only three required fields: name, version, and packages. The name field must be unique if you wish to publish your package on the Python Package Index (PyPI). The version field keeps track of different releases of the project. The package's field describes where you’ve put the Python source code within your project.
-
-This allows you to easily install Python packages. Often it's enough to write:
-
-```bash
-python setup.py install
-```
-
-and module will install itself.
-
-## Example
-
-Our initial setup.py will also include information about the license and will re-use the README.txt file for the long_description field. This will look like:
-
-```python
-from distutils.core import setup
-setup(
-   name='pythonCheatsheet',
-   version='0.1',
-   packages=['pipenv',],
-   license='MIT',
-   long_description=open('README.txt').read(),
-)
-```
-
-Find more information visit the [official documentation](http://docs.python.org/3.11/install/index.html).
-
-## Relevant links
-
-- Virtual Environments
-- File and directory Paths
-- UV: The Lightning-Fast Python Package Manager
-- Python projects with Poetry and VSCode. Part 1
-- Python projects with Poetry and VSCode. Part 2
-- Python projects with Poetry and VSCode. Part 3
-- import()
diff --git a/docs/cheatsheet/virtual-environments.md b/docs/cheatsheet/virtual-environments.md
index e85669c1..08b83cf6 100644
--- a/docs/cheatsheet/virtual-environments.md
+++ b/docs/cheatsheet/virtual-environments.md
@@ -220,7 +220,7 @@ UV automatically manages virtual environments, Python versions, and dependencies
 
 ## Relevant links
 
-- setup.py
+- Packaging
 - Python projects with Poetry and VSCode. Part 1
 - Python projects with Poetry and VSCode. Part 2
 - Python projects with Poetry and VSCode. Part 3
diff --git a/src/pages/changelog.md b/src/pages/changelog.md
index a0690cb3..08b35b32 100644
--- a/src/pages/changelog.md
+++ b/src/pages/changelog.md
@@ -33,7 +33,7 @@ Changelog
 - Added new blog post Python Data Types Explained - A Visual Guide for Beginners
 - Enhanced Data Types section in the basics cheatsheet with comprehensive coverage of all 9 Python built-in data types including examples and descriptions
 - Added UV package manager section to Virtual Environments cheatsheet with installation and usage examples
-- Updated Setup.py cheatsheet to mention UV as a modern alternative to traditional packaging tools
+- Updated Packaging cheatsheet to mention UV as a modern alternative to traditional packaging tools
 - Added cross-references and internal links between cheatsheet pages and blog posts for better navigation
 
 ## 2025-07-08
diff --git a/src/store/navigation.ts b/src/store/navigation.ts
index 3aaf397a..63debbc8 100644
--- a/src/store/navigation.ts
+++ b/src/store/navigation.ts
@@ -128,8 +128,8 @@ export const useNavigationStore = defineStore('navigation', {
         updated: false,
       },
       {
-        name: 'setup.py',
-        path: '/cheatsheet/setup-py',
+        name: 'Packaging',
+        path: '/cheatsheet/packaging',
         updated: false,
       },
       {