Skip to content

Python Project Structure Glossary

How professional Python projects are organized.

Project

A structured set of files and folders that work together to run code, store data, and produce outputs.

src/ Layout

A project structure where all package code lives inside a src/ folder. Keeps source code separate from configuration, data, and documentation. Example structure:

project-name/
├── src/
│   └── packagename/
│       ├── __init__.py
│       └── analytics.py
├── data/
├── artifacts/
├── docs/
├── pyproject.toml
└── README.md

data/

The folder containing input data files (example: CSV files). Files here are read by the program but never modified by it.

artifacts/

The folder containing output files generated by the program. Examples: output CSVs, plots, reports. Never manually edit files in this folder, these folders and files are always generated by code.

docs/

The folder containing project documentation written in Markdown. Examples: glossary.md, skills.md, data_dictionary.md.

pyproject.toml

The project configuration file defining metadata, dependencies, and tool settings. See Environment for full definition.

README.md

The front-page document of the project, displayed on GitHub. Explains what the project does, how to run it, and what outputs to expect.

init.py

An empty or minimal Python file that marks a folder as a Python package, making it importable.


◄ Back to 🏠 Guide Home