# Git attributes for proper handling of different file types

# Handle line endings automatically for files detected as text
* text=auto

# Force LF line endings for Python files
*.py text eol=lf
*.pyx text eol=lf
*.pxd text eol=lf

# Force LF line endings for config files
*.yml text eol=lf
*.yaml text eol=lf
*.json text eol=lf
*.toml text eol=lf
*.ini text eol=lf
*.cfg text eol=lf

# Shell scripts
*.sh text eol=lf
*.bash text eol=lf

# Documentation
*.md text eol=lf
*.rst text eol=lf
*.txt text eol=lf

# Jupyter Notebooks
*.ipynb text eol=lf

# Declare files that will always have CRLF line endings on checkout
*.bat text eol=crlf

# Denote binary files
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.mov binary
*.mp4 binary
*.mp3 binary
*.flv binary
*.fla binary
*.swf binary
*.gz binary
*.zip binary
*.7z binary
*.ttf binary
*.eot binary
*.woff binary
*.woff2 binary
*.pyc binary
*.pyd binary
*.dll binary
*.exe binary
*.so binary
*.dylib binary

# Lock files for better diffs
uv.lock linguist-generated=true
