0.2
This commit is contained in:
138
.dockerignore
Normal file
138
.dockerignore
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
# =============================================================================
|
||||||
|
# Git
|
||||||
|
# =============================================================================
|
||||||
|
.git
|
||||||
|
.gitea
|
||||||
|
.github
|
||||||
|
.gitlab
|
||||||
|
.gitlab-ci.yml
|
||||||
|
.gitattributes
|
||||||
|
.pre-commit-config.yaml
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Python virtual environments
|
||||||
|
# =============================================================================
|
||||||
|
.venv
|
||||||
|
venv
|
||||||
|
env
|
||||||
|
ENV
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Python cache
|
||||||
|
# =============================================================================
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*.pyo
|
||||||
|
*.pyd
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Python tooling
|
||||||
|
# =============================================================================
|
||||||
|
.mypy_cache/
|
||||||
|
.pytest_cache/
|
||||||
|
.ruff_cache/
|
||||||
|
.pytype/
|
||||||
|
.pyre/
|
||||||
|
.pyright/
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Testing / Coverage
|
||||||
|
# =============================================================================
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
htmlcov/
|
||||||
|
.tox/
|
||||||
|
.nox/
|
||||||
|
tests/
|
||||||
|
test/
|
||||||
|
coverage.xml
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Build artifacts
|
||||||
|
# =============================================================================
|
||||||
|
build/
|
||||||
|
dist/
|
||||||
|
.eggs/
|
||||||
|
*.egg-info/
|
||||||
|
pip-wheel-metadata/
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Logs
|
||||||
|
# =============================================================================
|
||||||
|
*.log
|
||||||
|
logs/
|
||||||
|
log/
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Node / Frontend
|
||||||
|
# =============================================================================
|
||||||
|
node_modules/
|
||||||
|
.next/
|
||||||
|
.nuxt/
|
||||||
|
out/
|
||||||
|
coverage/
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# IDE / Editor
|
||||||
|
# =============================================================================
|
||||||
|
.idea/
|
||||||
|
.vscode/
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
*~
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Environment files
|
||||||
|
# =============================================================================
|
||||||
|
.env
|
||||||
|
.env.*
|
||||||
|
!.env.example
|
||||||
|
!.env.sample
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Databases
|
||||||
|
# =============================================================================
|
||||||
|
*.db
|
||||||
|
*.sqlite
|
||||||
|
*.sqlite3
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Secrets
|
||||||
|
# =============================================================================
|
||||||
|
*.pem
|
||||||
|
*.key
|
||||||
|
*.crt
|
||||||
|
*.p12
|
||||||
|
*.pfx
|
||||||
|
secrets/
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Temporary
|
||||||
|
# =============================================================================
|
||||||
|
tmp/
|
||||||
|
temp/
|
||||||
|
*.tmp
|
||||||
|
*.temp
|
||||||
|
.cache/
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Jupyter
|
||||||
|
# =============================================================================
|
||||||
|
.ipynb_checkpoints/
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# ML artifacts
|
||||||
|
# =============================================================================
|
||||||
|
*.pt
|
||||||
|
*.pth
|
||||||
|
*.onnx
|
||||||
|
*.h5
|
||||||
|
*.ckpt
|
||||||
|
*.safetensors
|
||||||
|
*.npy
|
||||||
|
*.npz
|
||||||
|
*.parquet
|
||||||
65
.editorconfig
Normal file
65
.editorconfig
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Global settings
|
||||||
|
# =============================================================================
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
tab_width = 4
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Python
|
||||||
|
# =============================================================================
|
||||||
|
[*.py]
|
||||||
|
max_line_length = 88
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# YAML (Docker, CI, compose)
|
||||||
|
# =============================================================================
|
||||||
|
[*.yml]
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.yaml]
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# JSON
|
||||||
|
# =============================================================================
|
||||||
|
[*.json]
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# TOML (pyproject.toml, poetry)
|
||||||
|
# =============================================================================
|
||||||
|
[*.toml]
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Markdown
|
||||||
|
# =============================================================================
|
||||||
|
[*.md]
|
||||||
|
trim_trailing_whitespace = false
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Shell scripts
|
||||||
|
# =============================================================================
|
||||||
|
[*.sh]
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Makefile (tabs required)
|
||||||
|
# =============================================================================
|
||||||
|
[Makefile]
|
||||||
|
indent_style = tab
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# INI / config files
|
||||||
|
# =============================================================================
|
||||||
|
[*.ini]
|
||||||
|
indent_size = 2
|
||||||
83
.gitattributes
vendored
Normal file
83
.gitattributes
vendored
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
# =============================================================================
|
||||||
|
# Global text normalization
|
||||||
|
# =============================================================================
|
||||||
|
* text=auto eol=lf
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Shell scripts (must stay LF)
|
||||||
|
# =============================================================================
|
||||||
|
*.sh text eol=lf
|
||||||
|
*.bash text eol=lf
|
||||||
|
*.zsh text eol=lf
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Windows scripts
|
||||||
|
# =============================================================================
|
||||||
|
*.bat text eol=crlf
|
||||||
|
*.cmd text eol=crlf
|
||||||
|
*.ps1 text eol=crlf
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Binary images
|
||||||
|
# =============================================================================
|
||||||
|
*.png binary
|
||||||
|
*.jpg binary
|
||||||
|
*.jpeg binary
|
||||||
|
*.gif binary
|
||||||
|
*.bmp binary
|
||||||
|
*.webp binary
|
||||||
|
*.ico binary
|
||||||
|
|
||||||
|
# SVG is text
|
||||||
|
*.svg text
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Media
|
||||||
|
# =============================================================================
|
||||||
|
*.mp3 binary
|
||||||
|
*.wav binary
|
||||||
|
*.ogg binary
|
||||||
|
*.mp4 binary
|
||||||
|
*.mov binary
|
||||||
|
*.avi binary
|
||||||
|
*.mkv binary
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Fonts
|
||||||
|
# =============================================================================
|
||||||
|
*.eot binary
|
||||||
|
*.ttf binary
|
||||||
|
*.woff binary
|
||||||
|
*.woff2 binary
|
||||||
|
*.otf binary
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Documents
|
||||||
|
# =============================================================================
|
||||||
|
*.pdf binary
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# WebAssembly
|
||||||
|
# =============================================================================
|
||||||
|
*.wasm binary
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Jupyter
|
||||||
|
# =============================================================================
|
||||||
|
*.ipynb binary
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Git LFS (ML / large artifacts)
|
||||||
|
# =============================================================================
|
||||||
|
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# GitHub linguist hints
|
||||||
|
# =============================================================================
|
||||||
|
docs/** linguist-documentation
|
||||||
|
generated/** linguist-generated
|
||||||
|
vendor/** linguist-vendored
|
||||||
24
.gitea/ISSUE_TEMPLATE/bug_report.md
Normal file
24
.gitea/ISSUE_TEMPLATE/bug_report.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Сообщить об ошибке
|
||||||
|
title: "[BUG]"
|
||||||
|
labels: bug
|
||||||
|
---
|
||||||
|
|
||||||
|
## Описание
|
||||||
|
|
||||||
|
Опишите проблему.
|
||||||
|
|
||||||
|
## Как воспроизвести
|
||||||
|
|
||||||
|
1. ...
|
||||||
|
2. ...
|
||||||
|
3. ...
|
||||||
|
|
||||||
|
## Ожидаемое поведение
|
||||||
|
|
||||||
|
Что должно было произойти.
|
||||||
|
|
||||||
|
## Логи / скриншоты
|
||||||
|
|
||||||
|
Добавьте при необходимости.
|
||||||
16
.gitea/ISSUE_TEMPLATE/feature_request.md
Normal file
16
.gitea/ISSUE_TEMPLATE/feature_request.md
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
name: Feature request
|
||||||
|
about: Предложить новую функцию
|
||||||
|
title: "[FEATURE]"
|
||||||
|
labels: enhancement
|
||||||
|
---
|
||||||
|
|
||||||
|
## Описание функции
|
||||||
|
|
||||||
|
Опишите идею.
|
||||||
|
|
||||||
|
## Зачем это нужно
|
||||||
|
|
||||||
|
Какая проблема решается.
|
||||||
|
|
||||||
|
## Дополнительная информация
|
||||||
14
.gitea/PULL_REQUEST_TEMPLATE.md
Normal file
14
.gitea/PULL_REQUEST_TEMPLATE.md
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
## Описание
|
||||||
|
|
||||||
|
Что делает этот PR?
|
||||||
|
|
||||||
|
## Тип изменения
|
||||||
|
|
||||||
|
- [ ] bug fix
|
||||||
|
- [ ] новая функция
|
||||||
|
- [ ] рефакторинг
|
||||||
|
|
||||||
|
## Проверки
|
||||||
|
|
||||||
|
- [ ] тесты проходят
|
||||||
|
- [ ] код отформатирован
|
||||||
166
.gitignore
vendored
Normal file
166
.gitignore
vendored
Normal file
@@ -0,0 +1,166 @@
|
|||||||
|
# =============================================================================
|
||||||
|
# OS
|
||||||
|
# =============================================================================
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
Desktop.ini
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# IDE / Editors
|
||||||
|
# =============================================================================
|
||||||
|
.idea/
|
||||||
|
.vscode/
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
*~
|
||||||
|
*.sublime-*
|
||||||
|
*.code-workspace
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Logs
|
||||||
|
# =============================================================================
|
||||||
|
*.log
|
||||||
|
*.logs
|
||||||
|
*.logs.*
|
||||||
|
*.log.*
|
||||||
|
logs/
|
||||||
|
log/
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Environment / Secrets
|
||||||
|
# =============================================================================
|
||||||
|
.env
|
||||||
|
.env.*
|
||||||
|
!.env.example
|
||||||
|
!.env.sample
|
||||||
|
!.env.template
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Security keys
|
||||||
|
# =============================================================================
|
||||||
|
*.pem
|
||||||
|
*.key
|
||||||
|
*.crt
|
||||||
|
*.p12
|
||||||
|
*.pfx
|
||||||
|
secrets/
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Python
|
||||||
|
# =============================================================================
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Virtual environments
|
||||||
|
.venv/
|
||||||
|
venv/
|
||||||
|
env/
|
||||||
|
ENV/
|
||||||
|
|
||||||
|
# Packaging
|
||||||
|
build/
|
||||||
|
dist/
|
||||||
|
.eggs/
|
||||||
|
*.egg-info/
|
||||||
|
pip-wheel-metadata/
|
||||||
|
|
||||||
|
# Testing / coverage
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
htmlcov/
|
||||||
|
.tox/
|
||||||
|
.nox/
|
||||||
|
|
||||||
|
# Tool caches
|
||||||
|
.pytest_cache/
|
||||||
|
.mypy_cache/
|
||||||
|
.ruff_cache/
|
||||||
|
.pyre/
|
||||||
|
.pytype/
|
||||||
|
.pyright/
|
||||||
|
|
||||||
|
# Jupyter
|
||||||
|
.ipynb_checkpoints/
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Node / Frontend
|
||||||
|
# =============================================================================
|
||||||
|
node_modules/
|
||||||
|
.next/
|
||||||
|
.nuxt/
|
||||||
|
coverage/
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Java / Kotlin
|
||||||
|
# =============================================================================
|
||||||
|
.gradle/
|
||||||
|
out/
|
||||||
|
*.class
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Go
|
||||||
|
# =============================================================================
|
||||||
|
bin/
|
||||||
|
*.test
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Rust
|
||||||
|
# =============================================================================
|
||||||
|
target/
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# C / C++ / CMake
|
||||||
|
# =============================================================================
|
||||||
|
cmake-build-*/
|
||||||
|
CMakeFiles/
|
||||||
|
CMakeCache.txt
|
||||||
|
compile_commands.json
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Docker
|
||||||
|
# =============================================================================
|
||||||
|
docker-compose.override.yml
|
||||||
|
*.tar
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Databases
|
||||||
|
# =============================================================================
|
||||||
|
*.sqlite
|
||||||
|
*.sqlite3
|
||||||
|
*.db
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# ML / Data artifacts
|
||||||
|
# =============================================================================
|
||||||
|
*.pt
|
||||||
|
*.pth
|
||||||
|
*.onnx
|
||||||
|
*.h5
|
||||||
|
*.ckpt
|
||||||
|
*.safetensors
|
||||||
|
*.npy
|
||||||
|
*.npz
|
||||||
|
*.parquet
|
||||||
|
*.joblib
|
||||||
|
*.pkl
|
||||||
|
*.pickle
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Archives
|
||||||
|
# =============================================================================
|
||||||
|
*.zip
|
||||||
|
*.tar.*
|
||||||
|
*.gz
|
||||||
|
*.7z
|
||||||
|
*.rar
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Temporary
|
||||||
|
# =============================================================================
|
||||||
|
tmp/
|
||||||
|
temp/
|
||||||
|
*.tmp
|
||||||
|
.cache/
|
||||||
55
.pre-commit-config.yaml
Normal file
55
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
repos:
|
||||||
|
# =============================================================================
|
||||||
|
# Ruff (lint + import sorting + formatting)
|
||||||
|
# =============================================================================
|
||||||
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||||
|
rev: v0.4.4
|
||||||
|
hooks:
|
||||||
|
- id: ruff
|
||||||
|
args: [--fix, --exit-non-zero-on-fix]
|
||||||
|
- id: ruff-format
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Base repository hygiene
|
||||||
|
# =============================================================================
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v4.6.0
|
||||||
|
hooks:
|
||||||
|
- id: check-yaml
|
||||||
|
args: [--allow-multiple-documents]
|
||||||
|
- id: check-json
|
||||||
|
- id: check-toml
|
||||||
|
- id: end-of-file-fixer
|
||||||
|
- id: trailing-whitespace
|
||||||
|
- id: check-merge-conflict
|
||||||
|
- id: detect-private-key
|
||||||
|
- id: check-added-large-files
|
||||||
|
- id: debug-statements
|
||||||
|
- id: check-executables-have-shebangs
|
||||||
|
- id: requirements-txt-fixer
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Static typing
|
||||||
|
# =============================================================================
|
||||||
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
||||||
|
rev: v1.10.0
|
||||||
|
hooks:
|
||||||
|
- id: mypy
|
||||||
|
args: [--ignore-missing-imports]
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Security checks
|
||||||
|
# =============================================================================
|
||||||
|
- repo: https://github.com/PyCQA/bandit
|
||||||
|
rev: 1.7.8
|
||||||
|
hooks:
|
||||||
|
- id: bandit
|
||||||
|
args: ["-r", "src"]
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# Secret detection
|
||||||
|
# =============================================================================
|
||||||
|
- repo: https://github.com/Yelp/detect-secrets
|
||||||
|
rev: v1.5.0
|
||||||
|
hooks:
|
||||||
|
- id: detect-secrets
|
||||||
Reference in New Issue
Block a user