This repository has been archived by the owner on Oct 8, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
134 lines (123 loc) · 3.41 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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
[tool]
[tool.poetry]
name = "dframeio"
version = "0.3.0"
homepage = "https://github.com/chr1st1ank/dataframe-io"
description = "Read and write dataframes anywhere."
authors = ["Christian Krudewig <[email protected]>"]
readme = "README.md"
license = "Apache-2.0"
classifiers = [
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'License :: OSI Approved :: Apache Software License',
'Natural Language :: English',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Topic :: Database'
]
packages = [
{ include = "dframeio" },
{ include = "tests", format = "sdist" },
]
[tool.poetry.dependencies]
python = ">=3.7.1,<4.0"
pandas = ">=1.0.0,<2.0"
pyarrow = { version = ">=4.0,<7.0", optional = true }
psycopg = { version = "~3", optional = true }
lark-parser = "^0.12.0"
[tool.poetry.extras]
pyarrow = ["pyarrow"] # For backward compatibility
parquet = ["pyarrow"]
postgres = ["psycopg"]
test = [
"pytest",
"black",
"isort",
"flake8",
"flake8-docstrings",
"pytest-cov",
"yamllint",
"mypy"
]
dev = ["tox", "pre-commit", "virtualenv", "pip", "twine", "toml"]
doc = [
"mkdocs",
"mkdocs-include-markdown-plugin",
"mkapi",
"mkdocs-autorefs"
]
[tool.poetry.dev-dependencies]
black = { version = "*" }
flake8 = { version = "*" }
flake8-docstrings = { version = "*" }
isort = { version = "*" }
mkdocs = { version = "^1.0.0" }
mkdocs-autorefs = { version = "*" }
mkdocs-include-markdown-plugin = { version = "*" }
mkapi = { version = "*" }
pip = { version = "^20.3.1" }
pre-commit = { version = "^2.12.0" }
pyarrow = "^6.0.0"
pytest = "^6.2.4"
pytest-cov = { version = "*" }
toml = { version = "*" }
tox = { version = "*" }
twine = { version = "*" }
virtualenv = { version = "^20.0" }
pylint = "^*"
pandera = "*"
yamllint = "*"
pylint-junit = "*"
#railroad-diagrams = "^1.1.0" # This is only for pyparsing[diagrams]
#Jinja2 = "^3.0.1" # This is only for pyparsing[diagrams]
pydot = "^1.4.2"
psycopg = "^3.0.1"
mypy = "^0.910"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.black]
line-length = 100
include = '\.pyi?$'
exclude = '''
/(
\.eggs
| \.git
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| _build
| buck-out
| build
| dist
)/
'''
[tool.isort]
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
ensure_newline_before_comments = true
line_length = 100
[tool.pylint.master]
reports = false
msg-template = "{path}:{line}: {msg_id} ({symbol}) {msg} ({obj})"
load-plugins = [
"pylint.extensions.docparams", # Find parameters missing in docstrings
"pylint.extensions.docstyle", # Detect wrong docstring formatting
]
disable = [
"bad-continuation", # Creates many false positives conflicting with black
"invalid-name", # Creates warnings for local single-letter variables
"fixme", # Creates warnings for todo items
"no-else-return", # Creates refactor result for indented else block; which however might be more readable
"duplicate-code", # Unfortunately this gives alerts also for identical function signatures
"line-too-long", # Checked already by flake8
]
[tool.pylint.design]
max-args = 10 # Maximum number of arguments for functions
max-attributes = 15 # Maximum number of attributes for a class