Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Standard Project Layout | Python Project Structure & Packaging Basics
Python Packaging and Distribution

bookStandard Project Layout

When creating a Python project for sharing or distribution, using a standard directory structure makes the code easier to understand, maintain, and package. It separates source code, tests, documentation, and configuration so each part is easy to manage.

A common and recommended layout places the main package inside a src/ directory to prevent import issues. Projects typically also include a tests/ folder, a README.md, a LICENSE, and configuration files like pyproject.toml or setup.cfg for packaging and build settings.

# my_package_project/
# ├── src/
# │   └── my_package/
# │       ├── __init__.py
# │       └── core.py
# ├── tests/
# │   └── test_core.py
# ├── README.md
# ├── LICENSE
# └── pyproject.toml

In this structure, the src/ directory holds your actual package code inside my_package/. The __init__.py file marks it as a package, and files like core.py contain the main logic. The tests/ folder includes test files such as test_core.py. The README.md explains usage, the LICENSE defines usage terms, and pyproject.toml stores build and package metadata.

This layout prevents common issues like wrong imports or extra files in the distribution and follows Python packaging standards, making the project easier to test, share, and maintain.

Note
Note

Using a src/ layout is considered best practice for modern Python packages and helps catch import-related errors early.

question mark

In a standard Python project layout, where is the main package source code typically placed?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

bookStandard Project Layout

Glissez pour afficher le menu

When creating a Python project for sharing or distribution, using a standard directory structure makes the code easier to understand, maintain, and package. It separates source code, tests, documentation, and configuration so each part is easy to manage.

A common and recommended layout places the main package inside a src/ directory to prevent import issues. Projects typically also include a tests/ folder, a README.md, a LICENSE, and configuration files like pyproject.toml or setup.cfg for packaging and build settings.

# my_package_project/
# ├── src/
# │   └── my_package/
# │       ├── __init__.py
# │       └── core.py
# ├── tests/
# │   └── test_core.py
# ├── README.md
# ├── LICENSE
# └── pyproject.toml

In this structure, the src/ directory holds your actual package code inside my_package/. The __init__.py file marks it as a package, and files like core.py contain the main logic. The tests/ folder includes test files such as test_core.py. The README.md explains usage, the LICENSE defines usage terms, and pyproject.toml stores build and package metadata.

This layout prevents common issues like wrong imports or extra files in the distribution and follows Python packaging standards, making the project easier to test, share, and maintain.

Note
Note

Using a src/ layout is considered best practice for modern Python packages and helps catch import-related errors early.

question mark

In a standard Python project layout, where is the main package source code typically placed?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 3
some-alt