Skip to content

Commit 3217fc8

Browse files
committed
first commit
0 parents  commit 3217fc8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+5850
-0
lines changed

.dockerignore

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# Git
2+
.git
3+
.gitignore
4+
.gitattributes
5+
6+
# Python
7+
__pycache__
8+
*.py[cod]
9+
*$py.class
10+
*.so
11+
.Python
12+
*.egg
13+
*.egg-info
14+
dist
15+
build
16+
eggs
17+
.eggs
18+
lib
19+
lib64
20+
parts
21+
sdist
22+
var
23+
wheels
24+
pip-wheel-metadata
25+
share/python-wheels
26+
*.manifest
27+
*.spec
28+
29+
# Virtual environments
30+
.env
31+
.venv
32+
env/
33+
venv/
34+
ENV/
35+
env.bak/
36+
venv.bak/
37+
38+
# IDEs
39+
.vscode/
40+
.idea/
41+
*.swp
42+
*.swo
43+
*~
44+
.DS_Store
45+
46+
# Testing and Coverage
47+
.pytest_cache/
48+
.coverage
49+
.coverage.*
50+
htmlcov/
51+
.tox/
52+
.hypothesis/
53+
coverage/
54+
*.cover
55+
.cache
56+
57+
# Linting
58+
.mypy_cache/
59+
.dmypy.json
60+
dmypy.json
61+
.ruff_cache/
62+
63+
# Documentation
64+
docs/_build/
65+
site/
66+
67+
# CI/CD
68+
.github/
69+
70+
# Local development
71+
*.log
72+
logs/
73+
.env.local
74+
.env.*.local
75+
76+
# Project specific
77+
temp/
78+
tmp/
79+
*.bak
80+
*.swp
81+
82+
# Keep these files for Docker build
83+
!pyproject.toml
84+
!uv.lock
85+
!src/
86+
!tests/
87+
!README.md
88+
!LICENSE

.editorconfig

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# EditorConfig is awesome: https://EditorConfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
# Unix-style newlines with a newline ending every file
7+
[*]
8+
charset = utf-8
9+
end_of_line = lf
10+
insert_final_newline = true
11+
trim_trailing_whitespace = true
12+
indent_style = tab
13+
indent_size = 4
14+
15+
# JSON files use tab indentation
16+
[*.json]
17+
indent_style = tab
18+
indent_size = 4
19+
20+
# YAML files use tab indentation
21+
[*.{yml,yaml}]
22+
indent_style = tab
23+
indent_size = 4
24+
25+
# Matches multiple files with brace expansion notation
26+
[*.{vue,js,ts,mjs,mts}]
27+
indent_style = tab
28+
indent_size = 4
29+
30+
# Markdown files
31+
[*.md]
32+
trim_trailing_whitespace = false
33+
34+
# Makefile requires tabs
35+
[Makefile]
36+
indent_style = tab

.env.example

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# py_template Environment Variables Example
2+
# Copy this file to .env and fill in your actual values
3+
4+
# Application Configuration
5+
APP_NAME=py_template
6+
ENVIRONMENT=development # development, staging, production
7+
DEBUG=true
8+
LOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERROR, CRITICAL
9+
10+
# Python Configuration
11+
PYTHONPATH=src
12+
13+
# Add your custom environment variables below
14+
# Example:
15+
# API_KEY=your-api-key-here
16+
# DATABASE_URL=postgresql://user:password@localhost:5432/dbname
17+
# REDIS_URL=redis://localhost:6379/0

.github/workflows/ci.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Continuous Integration
2+
3+
on:
4+
push:
5+
branches: [main, dev]
6+
pull_request:
7+
branches: [main, dev]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ['3.12']
15+
16+
steps:
17+
- name: Checkout code
18+
uses: actions/checkout@v4
19+
20+
- name: Install uv
21+
uses: astral-sh/setup-uv@v2
22+
23+
- name: Set up Python
24+
run: uv python install ${{ matrix.python-version }}
25+
26+
- name: Install dependencies
27+
run: uv sync --extra dev
28+
29+
- name: Run ruff linting
30+
run: uv run ruff check
31+
32+
- name: Run ruff formatting check
33+
run: uv run ruff format --check
34+
35+
- name: Run tests
36+
run: uv run pytest --cov=src --cov-report=xml --cov-report=term
37+
38+
- name: Upload coverage to Codecov
39+
uses: codecov/codecov-action@v4
40+
if: matrix.python-version == '3.12'
41+
with:
42+
files: ./coverage.xml
43+
fail_ci_if_error: false

.github/workflows/code-quality.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Code Quality
2+
3+
on:
4+
push:
5+
branches: [main, dev]
6+
pull_request:
7+
branches: [main, dev]
8+
9+
jobs:
10+
code-quality:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout code
14+
uses: actions/checkout@v4
15+
16+
- name: Run Ruff linting
17+
uses: astral-sh/ruff-action@v3
18+
with:
19+
version: "0.13.2"
20+
args: "check --output-format=github"
21+
22+
- name: Run Ruff formatting check
23+
uses: astral-sh/ruff-action@v3
24+
with:
25+
version: "0.13.2"
26+
args: "format --check --diff"

0 commit comments

Comments
 (0)