# 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
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# 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:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
#   For a library or package, you might want to ignore these files since the code is
#   intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
#   According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
#   However, in case of collaboration, if having platform-specific dependencies or dependencies
#   having no cross-platform support, pipenv may install dependencies that don't work, or not
#   install all needed dependencies.
#Pipfile.lock

# poetry
#   Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
#   This is especially recommended for binary packages to ensure reproducibility, and is more
#   commonly ignored for libraries.
#   https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
#   Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
#   pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
#   in version control.
#   https://pdm.fming.dev/#use-with-ide
.pdm.toml

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.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/

# PyCharm
#  JetBrains specific template is maintained in a separate JetBrains.gitignore that can
#  be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
#  and can be added to the global gitignore or merged into this file.  For a more nuclear
#  option (not recommended) you can uncomment the following to ignore the entire idea folder.
.idea/

# VS Code
.vscode/
*.code-workspace

# Local configuration files
config.local.py
config.local.json
*.local

# MCP specific files
mcp-config.json
mcp-config.yaml
mcp-config.yml

# SSH keys (important for MikroTik MCP project)
*.pem
*.key
*.pub
id_rsa
id_rsa.pub
ssh_keys/

# MikroTik specific configuration
mikrotik-config.json
mikrotik-credentials.json
mikrotik-config.local.*

# macOS
.DS_Store
._*
.Spotlight-V100
.Trashes

# Windows
Thumbs.db
ehthumbs.db
Desktop.ini

# Linux
.directory
.Trash-*

# Temporary files
*.tmp
*.bak
*.swp
*.swo
*~

# UV package manager
.uv/
uv.lock

# Logs
logs/
*.log
log.txt

# Test outputs
test_results/
tests/results/
tests/output/

# MCP logs and debug files
mcp-debug/
mcp-logs/
*.debug

# Database files
*.db
*.sqlite
*.sqlite3

# Backup files
backup/
backups/
*.backup

# Certificate files
*.crt
*.cer
*.pfx

# Configuration overrides - but NOT the main config
config.override.py
config.override.json
*.override

# But DO track example/template configs
!config.example.py
!config.example.json
!mikrotik-config.example.json

# Python virtual environments with alternative names
py3env/
python-env/
.python-env/

# Local development files
.local/
local/
scratch/
sandbox/

# Documentation build
docs/build/
docs/_build/

# Profiling data
*.prof
*.stats

# Coverage reports
.coverage.*
htmlcov/
coverage/

# Pytest
.pytest_cache/
pytest-cache-files-*/
pytest_cache/

# MCP CLI cache
.mcp-cli-cache/

# Editor temporary files
\#*\#
.\#*

# Node modules (if using any JS tooling)
node_modules/
npm-debug.log
yarn-error.log

# Poetry
poetry.lock

# Pipenv
Pipfile.lock

# UV (modern Python package manager)
.python-version
pyvenv.cfg

# Ruff cache
.ruff_cache/

# Black formatter
.black

# Type checking
.pyright/
pyrightconfig.json

# Local test configurations
test-config/
test-config.json
test-config.yaml

# Sensitive data patterns
*secret*
*password*
*credential*

# MCP specific patterns
mcp-server.pid
mcp-*.lock

# Generated documentation
_build/
_static/
_templates/
.aider*

mcp-config.json
