# WiFi-DensePose Package Manifest
# This file specifies which files to include in the source distribution

# Include essential project files
include README.md
include LICENSE
include CHANGELOG.md
include pyproject.toml
include setup.py
include requirements.txt
include requirements-dev.txt

# Include configuration files
include *.cfg
include *.ini
include *.yaml
include *.yml
include *.toml
include .env.example

# Include documentation
recursive-include docs *
include docs/Makefile
include docs/make.bat

# Include source code
recursive-include src *.py
recursive-include src *.pyx
recursive-include src *.pxd

# Include configuration and data files
recursive-include src *.yaml
recursive-include src *.yml
recursive-include src *.json
recursive-include src *.toml
recursive-include src *.cfg
recursive-include src *.ini

# Include model files
recursive-include src/models *.pth
recursive-include src/models *.onnx
recursive-include src/models *.pt
recursive-include src/models *.pkl
recursive-include src/models *.joblib

# Include database migrations
recursive-include src/database/migrations *.py
recursive-include src/database/migrations *.sql

# Include templates and static files
recursive-include src/templates *.html
recursive-include src/templates *.jinja2
recursive-include src/static *.css
recursive-include src/static *.js
recursive-include src/static *.png
recursive-include src/static *.jpg
recursive-include src/static *.svg
recursive-include src/static *.ico

# Include test files
recursive-include tests *.py
recursive-include tests *.yaml
recursive-include tests *.yml
recursive-include tests *.json

# Include test data
recursive-include tests/data *
recursive-include tests/fixtures *

# Include scripts
recursive-include scripts *.py
recursive-include scripts *.sh
recursive-include scripts *.bat
recursive-include scripts *.ps1

# Include deployment files
include Dockerfile
include docker-compose.yml
include docker-compose.*.yml
recursive-include k8s *.yaml
recursive-include k8s *.yml
recursive-include terraform *.tf
recursive-include terraform *.tfvars
recursive-include ansible *.yml
recursive-include ansible *.yaml

# Include monitoring and logging configurations
recursive-include monitoring *.yml
recursive-include monitoring *.yaml
recursive-include monitoring *.json
recursive-include logging *.yml
recursive-include logging *.yaml
recursive-include logging *.json

# Include CI/CD configurations
include .github/workflows/*.yml
include .github/workflows/*.yaml
include .gitlab-ci.yml
include .travis.yml
include .circleci/config.yml
include azure-pipelines.yml
include Jenkinsfile

# Include development tools configuration
include .pre-commit-config.yaml
include .gitignore
include .gitattributes
include .editorconfig
include .flake8
include .isort.cfg
include .mypy.ini
include .bandit
include .safety-policy.json

# Include package metadata
include PKG-INFO
include *.egg-info/*

# Include version and build information
include VERSION
include BUILD_INFO

# Exclude unnecessary files
global-exclude *.pyc
global-exclude *.pyo
global-exclude *.pyd
global-exclude __pycache__
global-exclude .DS_Store
global-exclude .git*
global-exclude *.so
global-exclude *.dylib
global-exclude *.dll

# Exclude development and temporary files
global-exclude .pytest_cache
global-exclude .mypy_cache
global-exclude .coverage
global-exclude htmlcov
global-exclude .tox
global-exclude .venv
global-exclude venv
global-exclude env
global-exclude .env
global-exclude node_modules
global-exclude npm-debug.log*
global-exclude yarn-debug.log*
global-exclude yarn-error.log*

# Exclude IDE files
global-exclude .vscode
global-exclude .idea
global-exclude *.swp
global-exclude *.swo
global-exclude *~

# Exclude build artifacts
global-exclude build
global-exclude dist
global-exclude *.egg-info
global-exclude .eggs

# Exclude log files
global-exclude *.log
global-exclude logs

# Exclude backup files
global-exclude *.bak
global-exclude *.backup
global-exclude *.orig

# Exclude OS-specific files
global-exclude Thumbs.db
global-exclude desktop.ini

# Exclude sensitive files
global-exclude .env.local
global-exclude .env.production
global-exclude secrets.yaml
global-exclude secrets.yml
global-exclude private_key*
global-exclude *.pem
global-exclude *.key

# Exclude large data files (should be downloaded separately)
global-exclude *.h5
global-exclude *.hdf5
global-exclude *.npz
global-exclude *.tar.gz
global-exclude *.zip
global-exclude *.rar

# Exclude compiled extensions
global-exclude *.c
global-exclude *.cpp
global-exclude *.o
global-exclude *.obj

# Include specific important files that might be excluded by global patterns
include src/models/README.md
include tests/data/README.md
include docs/assets/README.md

# Include license files in subdirectories
recursive-include * LICENSE*
recursive-include * COPYING*

# Include changelog and version files
recursive-include * CHANGELOG*
recursive-include * HISTORY*
recursive-include * NEWS*
recursive-include * VERSION*

# Include requirements files
include requirements*.txt
include constraints*.txt
include environment*.yml
include Pipfile
include Pipfile.lock
include poetry.lock

# Include makefile and build scripts
include Makefile
include makefile
include build.sh
include build.bat
include install.sh
include install.bat

# Include package configuration for different package managers
include setup.cfg
include tox.ini
include noxfile.py
include conftest.py

# Include security and compliance files
include SECURITY.md
include CODE_OF_CONDUCT.md
include CONTRIBUTING.md
include SUPPORT.md

# Include API documentation
recursive-include docs/api *.md
recursive-include docs/api *.rst
recursive-include docs/api *.yaml
recursive-include docs/api *.yml
recursive-include docs/api *.json

# Include example configurations
recursive-include examples *.py
recursive-include examples *.yaml
recursive-include examples *.yml
recursive-include examples *.json
recursive-include examples *.md

# Include schema files
recursive-include src/schemas *.json
recursive-include src/schemas *.yaml
recursive-include src/schemas *.yml
recursive-include src/schemas *.xsd

# Include localization files
recursive-include src/locales *.po
recursive-include src/locales *.pot
recursive-include src/locales *.mo

# Include font and asset files
recursive-include src/assets *.ttf
recursive-include src/assets *.otf
recursive-include src/assets *.woff
recursive-include src/assets *.woff2
recursive-include src/assets *.eot