# useful template here https://github.com/github/gitignore/blob/main/Python.gitignore

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# Package build artifacts (generated by pip during installation)
*.egg-info/
dist/
build/

### IDE's

## IntelliJ and related IDE's (RubyMine, PhpStorm, AppCode, PyCharm)
*.iml

# Directory-based project format:
.idea/

## Eclipse
*.pydevproject
.metadata
.gradle
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath

# Eclipse Core
.project

# External tool builders
.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
*.launch

### Some rules to keep out installation-specific stuff generated when Hydrus is run from source

# user's db files
# I nonetheless recommend you use the -d switch to put your db somewhere else if you run and update from git source
/db/*.db
/db/*.db-shm
/db/*.db-wal
/db/*.crt
/db/*.key
/db/*.log
/db/*.conf
/db/hydrus_crash.log
/db/client_running
/db/server_running
/db/client_files/
/db/server_files/
/db/missing_and_invalid_files/

# in case user adds their own
/bin/ffmpeg.exe
/bin/ffmpeg
/mpv-1.dll
/mpv-2.dll
/libmpv-2.dll
/sqlite3.dll

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# uv stuff
# normally you _do_ commit this, but we are not. there are still wrinkles to be ironed out before we commit to this
# thus, we will ignore so as also not to confuse the branch of users who do use uv
uv.lock

# User-changeable files
/client-user.bat
/client-user.sh
/client-user.command
/hydrus_client-user.bat
/hydrus_client-user.sh
/hydrus_client-user.command

# docs builds
/site/
/help/

.DS_Store

.cache
shell.nix
