.gitignore for class-6-cybersecurity-social-engineering-building-apis
This .gitignore is designed for a Python + Flask + Jupyter project.
It keeps only source code, README, notebooks, and the Farmacia.xlsx file in the repository.
It ignores automatically generated files, local virtual environments, IDE settings,
logs, caches, and secret environment files, keeping the repository clean, portable, and secure.
Python bytecode and cache:
These files are created automatically by Python to speed up imports.
They should never be committed because they are generated again on any machine.
pycache /
*.py[cod]
*$py.class
*.so
Build / packaging artefacts:
Created when you build or distribute a package (dist, wheels, eggs, etc.).
They are derived artefacts, not source code.
.Python
build/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
Each developer can have their own venv; it should not be tracked in Git.
.venv/
venv/
env/
ENV/
'instance/' is where Flask apps often store local configs, sqlite dbs, etc.
'.webassets-cache/' is created by some extensions to cache compiled assets.
instance/
.webassets-cache/
Environment variables / secrets:
.env files commonly store API keys, passwords, tokens, and config.
They must stay local and out of version control.
.env
.env.*
*.env
Checkpoint folders are autosave copies; they are noise in Git history.
.ipynb_checkpoints/
Local IPython configuration; environment-specific, not project-specific.
profile_default/
ipython_config.py
These folders and files are generated when you run tests or coverage tools.
They are reproducible and should not be committed.
.pytest_cache/
.coverage
.coverage.*
htmlcov/
.tox/
.nox/
Caches for tools like mypy, pyre, pytype, ruff; they speed up checks locally.
.mypy_cache/
.pyre/
.pytype/
.ruff_cache/
Runtime logs are useful locally but not in source control.
*.log
Each developer uses their own editor; these configs are personal.
.vscode/
.idea/
Created by the operating system (e.g. Finder, Explorer); always ignore.
.DS_Store
Thumbs.db
If you create small local DBs for testing (SQLite), usually they should not
be versioned. If one DB is part of the teaching material, add it explicitly
by name instead of '*.db'.
*.sqlite3
*.db
Temporary / backup files:
Generic patterns for temporary or backup files created by editors/tools.
*.tmp
*.bak