-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
90 lines (75 loc) · 2.68 KB
/
pyproject.toml
File metadata and controls
90 lines (75 loc) · 2.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
[tool.poetry]
name = "audiostack"
version = "4.0.0"
description = "Python SDK for Audiostack API"
authors = ["Audiostack <support@audiostack.ai>"]
repository = "https://github.com/aflorithmic/audiostack-python"
readme = "README.md"
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
]
exclude = ["audiostack/tests"]
[tool.poetry.urls]
Changelog = "https://github.com/aflorithmic/audiostack-python/blob/main/CHANGELOG.md"
[tool.poetry.dependencies]
python = "^3.10.0"
requests = "^2.31.0"
[tool.poetry.group.dev.dependencies]
black = "^24.4.2"
pytest = "^8.2.0"
coverage = "^7.5.1"
pytest-coverage = "^0.0"
taskipy = "^1.12.2"
python-dotenv = {extras = ["cli"], version = "^1.0.1"}
flake8 = "^7.0.0"
isort = "^5.13.2"
yamllint = "^1.35.1"
vulture = "^2.11"
mypy = "^1.10.0"
types-requests = "^2.31.0.20240406"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.isort]
profile = "black"
[tool.pytest.ini_options]
markers = [
"integration: marks tests as integration tests (require API key)",
"unit: marks tests as unit tests (use mocks)",
]
addopts = [
"--maxfail=1",
"-vvv",
"--log-cli-level=WARN",
"--cov-fail-under=75",
"--ignore=recipes/"
]
[tool.mypy]
disallow_untyped_defs = true
ignore_missing_imports = true
exclude = [".venv/", "example.py", "recipes"]
[tool.vulture]
exclude = [".venv/", ".git", "__pycach__", "build", "dist", "node_modules"]
min_confidence = 100
[tool.taskipy.tasks]
lint-apply = "task black-apply && task isort-apply"
lint-check = "task black-check && task isort-check && task yaml-check && task flake8-check && task mypy-check && task vulture-check"
black-check = "black --check ."
black-apply = "black ."
flake8-check = "flake8 --extend-ignore=E203,E402,E501 --extend-exclude .venv/"
isort-check = "isort -c ."
isort-apply = "isort ."
mypy-check = "mypy ."
yaml-check = "yamllint ."
test = "coverage run -m pytest -vvv -s -x && coverage xml && coverage html"
vulture-check = "vulture ."
# -------------------------------------------------------- test -------------------------------------------------------
export-test-result = "poetry run coverage html && poetry run coverage xml -o coverage.xml"
# Files
test-files = "poetry run coverage run -m pytest audiostack/tests/files/ && poetry run task export-test-result"
# Folders
test-folders = "poetry run coverage run -m pytest audiostack/tests/folders/ && poetry run task export-test-result"
# Files and Folders Integration
test-files-folders-integration = "poetry run coverage run -m pytest audiostack/tests/test_files_folders_integration.py && poetry run task export-test-result"