forked from entelecheia/aibasics
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
120 lines (105 loc) · 3.04 KB
/
pyproject.toml
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
[tool.poetry]
name = "aibasics"
version = "0.10.1"
description = "AI Uncovered: A Comprehensive Guide to AI Basics and Applications"
authors = ["Young Joon Lee <yj.lee@chu.ac.kr>"]
license = "CC-BY-4.0"
homepage = "https://aibasics.jeju.ai"
repository = "https://github.com/entelecheia/aibasics"
readme = "README.md"
packages = [{ include = "aibasics", from = "src" }]
[tool.poetry.scripts]
aibasics = 'aibasics.__cli__:main'
[tool.poetry.dependencies]
python = ">=3.9,<3.12"
click = "<=8.1.7"
hyfi = "^1.36.3"
scikit-learn = "<=1.5.1"
seaborn = "<=0.13.2"
[tool.poetry.group.dev]
optional = true
[tool.poetry.group.dev.dependencies]
python-semantic-release = "^7.33.1"
isort = "^5.12.0"
black = ">=23.0.0"
flake8 = "^6.0.0"
mypy = "^1.0.0"
flake8-pyproject = "^1.2.2"
pytest = "^7.2.1"
pytest-cov = "^4.0.0"
[tool.poe]
include = [".tasks.toml", ".tasks-extra.toml"]
[tool.black]
# 'extend-exclude' excludes files or directories in addition to the defaults
extend-exclude = '''
# A regex preceded with ^/ will apply only to files and directories
# in the root of the project.
(
_version.py
| .refs
| tests
| docs
| book
| _build
| node_modules
)
'''
[tool.isort]
profile = "black"
skip = ['_version.py', 'node_modules', '_build', 'docs', 'tests', 'venv', '.copier-template', '.refs']
[tool.flake8]
ignore = ['F401', 'E501', 'W503']
exclude = ["node_modules", "_build", "docs", "tests", "venv", ".copier-template", ".refs"]
per-file-ignores = ['__init__.py:F401', '_version.py:W292']
[tool.mypy]
namespace_packages = true
exclude = ["node_modules", "build", "_build", "dist", "docs", "tests", "venv", ".copier-template", ".refs"]
# 3rd party import
ignore_missing_imports = true
# dynamic typing
disallow_any_unimported = true
disallow_any_expr = false
disallow_any_decorated = false
disallow_any_explicit = true
disallow_any_generics = false
disallow_subclassing_any = true
# platform
python_version = "3.8"
# untyped
disallow_untyped_calls = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
disallow_untyped_decorators = true
# None and Optional
no_implicit_optional = true
# Warnings
warn_return_any = false
warn_unreachable = true
# Misc
pretty = true
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-p no:cacheprovider" # deactivating pytest caching.
[tool.coverage.report]
exclude_lines = ['if __name__ == "__main__":']
[tool.commitizen]
name = "cz_conventional_commits"
tag_format = "v$version"
[tool.semantic_release]
branch = "main"
version_toml = "pyproject.toml:tool.poetry.version"
version_variable = "src/aibasics/_version.py:__version__"
version_source = "tag"
commit_version_number = true # required for version_source = "tag"
commit_subject = "chore(release): :rocket: {version} [skip ci]"
prerelease_tag = "rc"
major_on_zero = true
tag_commit = true
changelog_file = "CHANGELOG.md"
upload_to_repository = true
upload_to_release = true
hvcs = "github" # hosting version control system, gitlab is also supported
build_command = "poetry build --no-cache"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"