Skip to content

Commit 5658e5d

Browse files
committed
Adding the first version files
0 parents  commit 5658e5d

31 files changed

+6612
-0
lines changed

.github/workflows/tests.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches: [main, master, develop]
6+
pull_request:
7+
branches: [main, master, develop]
8+
9+
jobs:
10+
test:
11+
runs-on: ${{ matrix.os }}
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
os: [ubuntu-latest, windows-latest]
16+
python-version: ['3.10', '3.11', '3.12']
17+
18+
steps:
19+
- uses: actions/checkout@v4
20+
21+
- name: Set up Python ${{ matrix.python-version }}
22+
uses: actions/setup-python@v5
23+
with:
24+
python-version: ${{ matrix.python-version }}
25+
26+
- name: Install dependencies
27+
run: |
28+
python -m pip install --upgrade pip
29+
pip install -r requirements.txt
30+
pip install pytest pytest-cov
31+
32+
- name: Run tests
33+
run: |
34+
python -m pytest tests/ -v --tb=short
35+
36+
- name: Run tests with coverage
37+
run: |
38+
python -m pytest tests/ --cov=src --cov-report=xml --cov-report=term-missing
39+
40+
- name: Upload coverage reports
41+
uses: codecov/codecov-action@v4
42+
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.12'
43+
with:
44+
file: ./coverage.xml
45+
fail_ci_if_error: false
46+
47+
lint:
48+
runs-on: ubuntu-latest
49+
steps:
50+
- uses: actions/checkout@v4
51+
52+
- name: Set up Python
53+
uses: actions/setup-python@v5
54+
with:
55+
python-version: '3.12'
56+
57+
- name: Install linters
58+
run: |
59+
python -m pip install --upgrade pip
60+
pip install flake8 black isort
61+
62+
- name: Check formatting with black
63+
run: black --check --diff src/ tests/
64+
continue-on-error: true
65+
66+
- name: Check import order with isort
67+
run: isort --check-only --diff src/ tests/
68+
continue-on-error: true
69+
70+
- name: Lint with flake8
71+
run: flake8 src/ tests/ --max-line-length=100 --ignore=E501,W503
72+
continue-on-error: true

.gitignore

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
build/
12+
develop-eggs/
13+
dist/
14+
downloads/
15+
eggs/
16+
.eggs/
17+
lib/
18+
lib64/
19+
parts/
20+
sdist/
21+
var/
22+
wheels/
23+
*.egg-info/
24+
.installed.cfg
25+
*.egg
26+
27+
# PyInstaller
28+
*.manifest
29+
*.spec
30+
31+
# Installer logs
32+
pip-log.txt
33+
pip-delete-this-directory.txt
34+
35+
# Unit test / coverage reports
36+
htmlcov/
37+
.tox/
38+
.nox/
39+
.coverage
40+
.coverage.*
41+
.cache
42+
nosetests.xml
43+
coverage.xml
44+
*.cover
45+
*.py,cover
46+
.hypothesis/
47+
.pytest_cache/
48+
49+
# Translations
50+
*.mo
51+
*.pot
52+
53+
# Environments
54+
.env
55+
.venv
56+
env/
57+
venv/
58+
ENV/
59+
env.bak/
60+
venv.bak/
61+
62+
# IDE
63+
.idea/
64+
.vscode/
65+
*.swp
66+
*.swo
67+
*~
68+
69+
# Jupyter Notebook
70+
.ipynb_checkpoints
71+
72+
# pytype
73+
.pytype/
74+
75+
# mypy
76+
.mypy_cache/
77+
.dmypy.json
78+
dmypy.json
79+
80+
# Numba cache
81+
__numba_cache__/
82+
83+
# Logs
84+
*.log
85+
86+
# OS files
87+
.DS_Store
88+
Thumbs.db

LICENSE

Whitespace-only changes.

0 commit comments

Comments
 (0)