-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
87 lines (79 loc) · 2.01 KB
/
pyproject.toml
File metadata and controls
87 lines (79 loc) · 2.01 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
[tool.poetry]
name = "data-toolset"
version = "0.1.7"
description = ""
authors = ["Kirill Bobrov <miaplanedo@gmail.com>"]
readme = "README.md"
packages = [{include = "data_toolset", from = "src"}]
homepage = "https://github.com/luminousmen/data-toolset"
repository = "https://github.com/luminousmen/data-toolset"
license = "MIT"
[tool.poetry.dependencies]
python = "^3.8.1"
fastavro = "^1.7.3"
duckdb = ">=0.8.1,<0.10.0"
arrow = "^1.2.3"
cython = "^3.0.2"
pyarrow = ">=13,<15"
python-snappy = "^0.6.1"
tox = "^4.11.3"
polars = ">=0.19.11,<0.21.0"
[tool.poetry.group.lint.dependencies]
isort = "^5.10.1"
flake8 = "^6.1.0"
mypy = "^1.5"
[tool.poetry.group.test.dependencies]
pytest = "^7.4.3"
pytest-cov = "^4.1.0"
pytest-randomly = "^3.15.0"
[tool.tox]
legacy_tox_ini = '''
[tox]
envlist = py{38,39,310}
isolated_build = true
skip_missing_interpreters = true
skipsdist = true
[testenv]
allowlist_externals = poetry
skip_install = true
commands =
poetry install --no-root -v
pip install -e .
poetry run pytest --cov src --cov-report xml
'''
[tool.mypy]
# 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.9"
# 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.poetry.scripts]
data-toolset = "data_toolset.main:main"
[build-system]
requires = ["setuptools", "poetry_core>=1.0"]
build-backend = "poetry.core.masonry.api"
[tool.pytest.ini_options]
testpaths = ["src", "tests"]
log_cli = true
log_cli_level = "INFO"
log_cli_format = "%(asctime)s [%(levelname)8s] %(message)s (%(filename)s:%(lineno)s)"
log_cli_date_format = "%Y-%m-%d %H:%M:%S"
addopts = "-p no:cacheprovider" # deactivating pytest caching.