__pycache__/
*.py[cod]
*$py.class

# Build / dist
build/
dist/
*.egg-info/
*.egg

# Test / coverage
.pytest_cache/
.coverage
.coverage.*
htmlcov/

# Environments
.venv/
venv/
env/

# Tooling
.mypy_cache/
.ruff_cache/

# OS
.DS_Store
Thumbs.db

# IDE
.idea/
.vscode/

# Fern generation byproducts. `fern generate --local` emits the importable
# package (committed) plus repo-style docs/tests/metadata we don't ship or
# track — they regenerate on every run. The package source under src/axilio/
# IS committed so the wheel builds without Docker and regen PRs show diffs.
src/axilio/.fern/
src/axilio/tests/
src/axilio/README.md
src/axilio/CONTRIBUTING.md
src/axilio/reference.md
# Same byproducts for the separately-generated argus client.
src/axilio/argus/.fern/
src/axilio/argus/tests/
src/axilio/argus/README.md
src/axilio/argus/CONTRIBUTING.md
src/axilio/argus/reference.md

# OpenAPI specs: only the production spec is tracked (it feeds codegen for
# the live API). Staging carries unreleased/internal surface and must never
# be committed to this public repo — the SDK is generated from production
# only (see .github/workflows/regen.yml).
specs/staging/

