-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
130 lines (114 loc) · 3.58 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
[tool.poetry]
name = "cognite-pygen"
version = "0.99.40"
description = "Cognite Python SDK Generator"
readme = "README.md"
authors = ["Cognite <[email protected]>"]
license = "Apache-2.0"
documentation = "https://cognite-pygen.readthedocs-hosted.com/en/latest/"
homepage = "https://cognite-pygen.readthedocs-hosted.com/en/latest/"
repository = "https://github.com/cognitedata/pygen"
packages = [{ include="cognite", from="." }]
[tool.black]
line-length = 120
target_version = ['py310']
include = '\.py$'
[tool.ruff]
# See https://beta.ruff.rs/docs/rules for an overview of ruff rules
line-length = 120
target-version = "py310"
exclude = ["examples","examples-pydantic-v1", "scripts"]
fix = true
[tool.ruff.lint]
select = ["E","W","F","I","RUF","TID","UP", "B", "FLY", "PTH", "ERA"]
fixable = ["E","W","F","I","RUF","TID","UP", "B", "FLY", "PTH", "ERA"]
ignore = [
# This is causing issues for pydantic which does not support use of X | Y for type annotations before 3.10
"UP007", # Use X | Y for type annotations
# Typer do function calls when setting up the CLI.
"B008", # Do not perform function call {name} in argument defaults
# This is done when setting the pygen configs, and useful for getting pretty docs.
# In that case, this is also safe as the function calls produced immutable data.
"RUF009", #Do not perform function call in defaults
]
[tool.ruff.lint.isort]
known-first-party = ["markets_pydantic_v1", "movie_domain_pydantic_v1", "shop_pydantic_v1"]
known-third-party = ["cognite.client"]
[tool.mypy]
explicit_package_bases = true
mypy_path = "examples"
plugins = ["pydantic.mypy"]
[tool.pydantic-mypy]
init_forbid_extra = true
init_typed = true
warn_required_dynamic_aliases = true
[tool.pygen]
data_models = [
["IntegrationTestsImmutable", "Movie", "2"],
]
tenant_id = "<tenant-id>"
client_id = "<client-id>"
cdf_cluster = "<cdf-cluster>"
cdf_project = "<cdf-project>"
top_level_package = "movie_domain.client"
client_name = "MovieClient"
output_dir = "docs/examples"
[tool.poetry.scripts]
pygen = "cognite.pygen.cli:main"
[tool.poetry.dependencies]
python = "^3.10"
cognite-sdk = {version = "^7.62.4"}
pydantic = "^2.7.0"
Jinja2 = ">=3.1"
inflect = ">=6.0"
toml = {version=">=0.10", optional=true}
packaging = {version=">=21.3", optional=true}
typer = {version = ">=0.9", extras = ["rich"], optional=true }
black = {version=">=24.4.2", optional = true}
build = {version=">=1.1", optional=true}
[tool.poetry.extras]
cli = ["packaging", "typer", "toml", "build"]
format = ["black"]
all = ["packaging", "typer", "toml", "black", "build"]
[tool.poetry.dev-dependencies]
twine = "*"
pre-commit = "*"
python-dotenv = "*"
pytest = "*"
pytest-cov = "*"
pytest-mock = "*"
pytest-rerunfailures = "^14.0"
toml = "*"
pandas = "*"
pyyaml = "*"
mypy = "^1.5"
mkdocs = {version="^1.6.0", optional=true}
mkdocs-material = {version="^9.5.26", optional=true}
mkdocs-jupyter = {version="^0.24.7", optional=true}
mkdocs-glightbox = {version="^0.4.0", optional=true}
mkdocstrings-python = {version="^1.10.3", optional=true}
pandas-stubs = "^2"
typer = "^0.12"
types-PyYAML = "^6"
types-toml = "^0.10"
IPython = "*"
matplotlib = "*"
tabulate = "*"
pytest-icdiff = "^0.8"
Faker = "*"
hypothesis = "*"
jupyterlab = "*"
cognite-toolkit = "0.3.4"
[tool.pytest.ini_options]
filterwarnings = [
"ignore::DeprecationWarning:pkg_resources",
]
addopts = "--doctest-modules"
markers = [
"full: Requiers all optional dependencies to run.",
]
pythonpath = [".", "examples", "examples-pydantic-v1"]
testpaths = ["tests", "cognite/pygen"]
[build-system]
requires = ["poetry-core>=1.3"]
build-backend = "poetry.core.masonry.api"