# ============================================================================ # Python Backend .gitignore # For FastAPI + PostgreSQL + Cloudflare R2 + Stripe # ============================================================================ # ===== Environment Variables ===== .env .env.* !.env.example .envrc # ===== Python ===== # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] *$py.class # C extensions *.so # Distribution / packaging .Python build/ develop-eggs/ dist/ downloads/ eggs/ .eggs/ lib/ lib64/ parts/ sdist/ var/ wheels/ share/python-wheels/ *.egg-info/ .installed.cfg *.egg MANIFEST # PyInstaller *.manifest *.spec # Unit test / coverage reports htmlcov/ .tox/ .nox/ .coverage .coverage.* .cache nosetests.xml coverage.xml *.cover *.py,cover .hypothesis/ .pytest_cache/ cover/ # Translations *.mo *.pot # Django stuff (if ever added): *.log local_settings.py db.sqlite3 db.sqlite3-journal # Flask stuff (if ever added): instance/ .webassets-cache # Scrapy stuff (if ever added): .scrapy # Sphinx documentation docs/_build/ # PyBuilder .pybuilder/ target/ # Jupyter Notebook .ipynb_checkpoints # IPython profile_default/ ipython_config.py # pyenv .python-version # pipenv Pipfile.lock # poetry poetry.lock # pdm .pdm.toml # PEP 582 __pypackages__/ # Celery stuff celerybeat-schedule celerybeat.pid # SageMath parsed files *.sage.py # Environments .venv env/ venv/ ENV/ env.bak/ venv.bak/ # Spyder project settings .spyderproject .spyproject # Rope project settings .ropeproject # mkdocs documentation /site # mypy .mypy_cache/ .dmypy.json dmypy.json # Pyre type checker .pyre/ # pytype static type analyzer .pytype/ # Cython debug symbols cython_debug/ # ===== Database ===== # SQLite (development) *.db *.sqlite *.sqlite3 # PostgreSQL dumps *.sql.gz *.dump # Database backups backups/ *.backup # ===== Alembic Migrations ===== # Keep migration files but ignore bytecode alembic/__pycache__/ alembic/versions/__pycache__/ # Keep alembic.ini, env.py, and all migration files in alembic/versions/ # ===== IDE / Editors ===== # VSCode .vscode/ *.code-workspace # PyCharm .idea/ *.iml *.ipr *.iws # Sublime Text *.sublime-project *.sublime-workspace # Vim *.swp *.swo *~ .netrwhist # Emacs *~ \#*\# /.emacs.desktop /.emacs.desktop.lock *.elc # Eclipse .project .pydevproject .settings/ # ===== Operating System ===== # macOS .DS_Store .AppleDouble .LSOverride ._* .DocumentRevisions-V100 .fseventsd .Spotlight-V100 .TemporaryItems .Trashes .VolumeIcon.icns .com.apple.timemachine.donotpresent # Windows Thumbs.db Thumbs.db:encryptable ehthumbs.db ehthumbs_vista.db *.stackdump [Dd]esktop.ini $RECYCLE.BIN/ *.cab *.msi *.msix *.msm *.msp *.lnk # Linux .directory .Trash-* .nfs* # ===== Logs & Runtime ===== *.log logs/ *.out *.err *.pid *.seed *.pid.lock # ===== Application-Specific ===== # Uploaded files (R2 storage handles this) uploads/ temp_uploads/ tmp/ temporary/ # CSV imports imports/*.csv !imports/.gitkeep # Generated reports reports/ exports/ # Cache directories .cache/ cache/ # ===== Security & Secrets ===== # API keys and secrets secrets/ *.pem *.key *.cert *.crt *.p12 *.pfx # Stripe webhook secrets stripe_*.txt # ===== Testing ===== # Test databases test.db test_*.db # Test coverage htmlcov/ .coverage # ===== Miscellaneous ===== # Backup files *.bak *.backup *.old *.orig # Compressed files *.zip *.tar.gz *.rar # Temporary files *.tmp *.temp # Lock files *.lock !requirements.txt.lock # ===== Keep These ===== # Keep these example/template files !.env.example !migrations/.gitkeep !uploads/.gitkeep