vtlengine 1.0.3rc1__tar.gz → 1.5.0rc1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of vtlengine might be problematic. Click here for more details.
- vtlengine-1.5.0rc1/PKG-INFO +89 -0
- vtlengine-1.5.0rc1/README.md +54 -0
- vtlengine-1.5.0rc1/pyproject.toml +110 -0
- vtlengine-1.5.0rc1/src/vtlengine/API/_InternalApi.py +791 -0
- vtlengine-1.5.0rc1/src/vtlengine/API/__init__.py +612 -0
- vtlengine-1.5.0rc1/src/vtlengine/API/data/schema/external_routines_schema.json +34 -0
- vtlengine-1.5.0rc1/src/vtlengine/API/data/schema/json_schema_2.1.json +116 -0
- vtlengine-1.5.0rc1/src/vtlengine/API/data/schema/value_domain_schema.json +97 -0
- vtlengine-1.5.0rc1/src/vtlengine/AST/ASTComment.py +67 -0
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/ASTConstructor.py +77 -23
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/ASTConstructorModules/Expr.py +263 -139
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/ASTConstructorModules/ExprComponents.py +128 -63
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/ASTConstructorModules/Terminals.py +102 -51
- vtlengine-1.5.0rc1/src/vtlengine/AST/ASTConstructorModules/__init__.py +50 -0
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/ASTEncoders.py +5 -1
- vtlengine-1.5.0rc1/src/vtlengine/AST/ASTString.py +677 -0
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/ASTTemplate.py +33 -3
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/DAG/__init__.py +78 -32
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/DAG/_words.py +1 -0
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/Grammar/Vtl.g4 +7 -7
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/Grammar/lexer.py +10 -10
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/Grammar/parser.py +2158 -2373
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/Grammar/tokens.py +3 -2
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/VtlVisitor.py +0 -1
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/__init__.py +129 -16
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/DataTypes/TimeHandling.py +69 -23
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/DataTypes/__init__.py +180 -37
- {vtlengine-1.0.3rc1/src/vtlengine/files/parser → vtlengine-1.5.0rc1/src/vtlengine/DataTypes}/_time_checking.py +12 -7
- vtlengine-1.5.0rc1/src/vtlengine/Exceptions/__exception_file_generator.py +96 -0
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Exceptions/__init__.py +43 -58
- vtlengine-1.5.0rc1/src/vtlengine/Exceptions/messages.py +1030 -0
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Interpreter/__init__.py +410 -389
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Model/__init__.py +72 -21
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/Aggregation.py +36 -15
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/Analytic.py +67 -29
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/Assignment.py +0 -1
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/Boolean.py +0 -23
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/CastOperator.py +55 -46
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/Clause.py +41 -27
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/Comparison.py +26 -18
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/Conditional.py +127 -145
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/General.py +33 -17
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/HROperators.py +52 -71
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/Join.py +25 -21
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/Numeric.py +32 -26
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/RoleSetter.py +6 -6
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/Set.py +12 -13
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/String.py +9 -13
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/Time.py +211 -140
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/Validation.py +49 -12
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Operators/__init__.py +105 -96
- vtlengine-1.5.0rc1/src/vtlengine/Utils/__Virtual_Assets.py +34 -0
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/Utils/__init__.py +55 -1
- vtlengine-1.5.0rc1/src/vtlengine/__extras_check.py +17 -0
- vtlengine-1.5.0rc1/src/vtlengine/__init__.py +27 -0
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/files/output/__init__.py +2 -1
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/files/output/_time_period_representation.py +2 -1
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/files/parser/__init__.py +78 -57
- vtlengine-1.0.3rc1/PKG-INFO +0 -243
- vtlengine-1.0.3rc1/README.md +0 -213
- vtlengine-1.0.3rc1/pyproject.toml +0 -87
- vtlengine-1.0.3rc1/src/vtlengine/API/_InternalApi.py +0 -389
- vtlengine-1.0.3rc1/src/vtlengine/API/__init__.py +0 -309
- vtlengine-1.0.3rc1/src/vtlengine/DataTypes/NumericTypesHandling.py +0 -38
- vtlengine-1.0.3rc1/src/vtlengine/Exceptions/messages.py +0 -335
- vtlengine-1.0.3rc1/src/vtlengine/__init__.py +0 -3
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/LICENSE.md +0 -0
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/ASTDataExchange.py +0 -0
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/ASTVisitor.py +0 -0
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/AST/Grammar/VtlTokens.g4 +0 -0
- {vtlengine-1.0.3rc1/src/vtlengine/AST/ASTConstructorModules → vtlengine-1.5.0rc1/src/vtlengine/AST/Grammar}/__init__.py +0 -0
- {vtlengine-1.0.3rc1/src/vtlengine/AST/Grammar → vtlengine-1.5.0rc1/src/vtlengine/files}/__init__.py +0 -0
- {vtlengine-1.0.3rc1 → vtlengine-1.5.0rc1}/src/vtlengine/files/parser/_rfc_dialect.py +0 -0
- /vtlengine-1.0.3rc1/src/vtlengine/files/__init__.py → /vtlengine-1.5.0rc1/src/vtlengine/py.typed +0 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: vtlengine
|
|
3
|
+
Version: 1.5.0rc1
|
|
4
|
+
Summary: Run and Validate VTL Scripts
|
|
5
|
+
License-Expression: AGPL-3.0
|
|
6
|
+
License-File: LICENSE.md
|
|
7
|
+
Keywords: vtl,sdmx,vtlengine,Validation and Transformation Language
|
|
8
|
+
Author: MeaningfulData
|
|
9
|
+
Author-email: info@meaningfuldata.eu
|
|
10
|
+
Maintainer: Francisco Javier Hernandez del Caño
|
|
11
|
+
Maintainer-email: javier.hernandez@meaningfuldata.eu
|
|
12
|
+
Requires-Python: >=3.9
|
|
13
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Intended Audience :: Information Technology
|
|
16
|
+
Classifier: Intended Audience :: Science/Research
|
|
17
|
+
Classifier: Typing :: Typed
|
|
18
|
+
Provides-Extra: all
|
|
19
|
+
Provides-Extra: s3
|
|
20
|
+
Requires-Dist: antlr4-python3-runtime (>=4.9,<4.10)
|
|
21
|
+
Requires-Dist: duckdb (>=1.4,<1.5)
|
|
22
|
+
Requires-Dist: jsonschema (>=3.2.0,<5.0)
|
|
23
|
+
Requires-Dist: networkx (>=2.8,<3.0)
|
|
24
|
+
Requires-Dist: pandas (>=2.1.4,<3.0)
|
|
25
|
+
Requires-Dist: pysdmx[xml] (>=1.5.2,<2.0)
|
|
26
|
+
Requires-Dist: s3fs (>=2022.11.0) ; extra == "all"
|
|
27
|
+
Requires-Dist: s3fs (>=2022.11.0) ; extra == "s3"
|
|
28
|
+
Requires-Dist: sqlglot (>=22.2.0,<23.0)
|
|
29
|
+
Project-URL: Authors, https://github.com/Meaningful-Data/vtlengine/graphs/contributors
|
|
30
|
+
Project-URL: Documentation, https://docs.vtlengine.meaningfuldata.eu
|
|
31
|
+
Project-URL: IssueTracker, https://github.com/Meaningful-Data/vtlengine/issues
|
|
32
|
+
Project-URL: MeaningfulData, https://www.meaningfuldata.eu/
|
|
33
|
+
Project-URL: Repository, https://github.com/Meaningful-Data/vtlengine
|
|
34
|
+
Description-Content-Type: text/markdown
|
|
35
|
+
|
|
36
|
+
# VTL Engine
|
|
37
|
+
|
|
38
|
+
| | |
|
|
39
|
+
|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
40
|
+
| Testing | [](https://github.com/Meaningful-Data/vtlengine/actions/workflows/testing.yml) |
|
|
41
|
+
| Package | [](https://pypi.org/project/vtlengine/) |
|
|
42
|
+
| License | [](https://github.com/Meaningful-Data/vtlengine/blob/main/LICENSE.md) |
|
|
43
|
+
| Mentioned in | [](https://github.com/SNStatComp/awesome-official-statistics-software) |
|
|
44
|
+
|
|
45
|
+
## Introduction
|
|
46
|
+
|
|
47
|
+
The VTL Engine is a Python library that allows you to validate, format and execute VTL scripts.
|
|
48
|
+
|
|
49
|
+
It is a Python-based library around
|
|
50
|
+
the [VTL Language 2.1](https://sdmx-twg.github.io/vtl/2.1/html/index.html).
|
|
51
|
+
|
|
52
|
+
## Useful Links
|
|
53
|
+
|
|
54
|
+
- [MeaningfulData: who we are](https://www.meaningfuldata.eu)
|
|
55
|
+
- [Documentation](https://docs.vtlengine.meaningfuldata.eu)
|
|
56
|
+
- [Source Code](https://github.com/Meaningful-Data/vtlengine)
|
|
57
|
+
- [Bug Tracker](https://github.com/Meaningful-Data/vtlengine/issues?q=is%3Aopen+is%3Aissue+label%3Abug)
|
|
58
|
+
- [New features Tracker](https://github.com/Meaningful-Data/vtlengine/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement)
|
|
59
|
+
|
|
60
|
+
## Installation
|
|
61
|
+
|
|
62
|
+
### Requirements
|
|
63
|
+
|
|
64
|
+
The VTL Engine requires Python 3.9 or higher.
|
|
65
|
+
|
|
66
|
+
### Install with pip
|
|
67
|
+
|
|
68
|
+
To install the VTL Engine on any Operating System, you can use pip:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
|
|
72
|
+
pip install vtlengine
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
*Note: it is recommended to install the VTL Engine in a virtual environment.*
|
|
77
|
+
|
|
78
|
+
### S3 extra
|
|
79
|
+
|
|
80
|
+
If you want to use the S3 functionality, you can install the VTL Engine with the `s3` extra:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
pip install vtlengine[s3]
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Documentation
|
|
87
|
+
|
|
88
|
+
The documentation for the VTL Engine is available
|
|
89
|
+
at [docs.vtlengine.meaningfuldata.eu](https://docs.vtlengine.meaningfuldata.eu).
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# VTL Engine
|
|
2
|
+
|
|
3
|
+
| | |
|
|
4
|
+
|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
5
|
+
| Testing | [](https://github.com/Meaningful-Data/vtlengine/actions/workflows/testing.yml) |
|
|
6
|
+
| Package | [](https://pypi.org/project/vtlengine/) |
|
|
7
|
+
| License | [](https://github.com/Meaningful-Data/vtlengine/blob/main/LICENSE.md) |
|
|
8
|
+
| Mentioned in | [](https://github.com/SNStatComp/awesome-official-statistics-software) |
|
|
9
|
+
|
|
10
|
+
## Introduction
|
|
11
|
+
|
|
12
|
+
The VTL Engine is a Python library that allows you to validate, format and execute VTL scripts.
|
|
13
|
+
|
|
14
|
+
It is a Python-based library around
|
|
15
|
+
the [VTL Language 2.1](https://sdmx-twg.github.io/vtl/2.1/html/index.html).
|
|
16
|
+
|
|
17
|
+
## Useful Links
|
|
18
|
+
|
|
19
|
+
- [MeaningfulData: who we are](https://www.meaningfuldata.eu)
|
|
20
|
+
- [Documentation](https://docs.vtlengine.meaningfuldata.eu)
|
|
21
|
+
- [Source Code](https://github.com/Meaningful-Data/vtlengine)
|
|
22
|
+
- [Bug Tracker](https://github.com/Meaningful-Data/vtlengine/issues?q=is%3Aopen+is%3Aissue+label%3Abug)
|
|
23
|
+
- [New features Tracker](https://github.com/Meaningful-Data/vtlengine/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement)
|
|
24
|
+
|
|
25
|
+
## Installation
|
|
26
|
+
|
|
27
|
+
### Requirements
|
|
28
|
+
|
|
29
|
+
The VTL Engine requires Python 3.9 or higher.
|
|
30
|
+
|
|
31
|
+
### Install with pip
|
|
32
|
+
|
|
33
|
+
To install the VTL Engine on any Operating System, you can use pip:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
|
|
37
|
+
pip install vtlengine
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
*Note: it is recommended to install the VTL Engine in a virtual environment.*
|
|
42
|
+
|
|
43
|
+
### S3 extra
|
|
44
|
+
|
|
45
|
+
If you want to use the S3 functionality, you can install the VTL Engine with the `s3` extra:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
pip install vtlengine[s3]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Documentation
|
|
52
|
+
|
|
53
|
+
The documentation for the VTL Engine is available
|
|
54
|
+
at [docs.vtlengine.meaningfuldata.eu](https://docs.vtlengine.meaningfuldata.eu).
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "vtlengine"
|
|
3
|
+
version = "1.5.0rc1"
|
|
4
|
+
description = "Run and Validate VTL Scripts"
|
|
5
|
+
license = "AGPL-3.0"
|
|
6
|
+
readme = "README.md"
|
|
7
|
+
requires-python = ">=3.9"
|
|
8
|
+
authors = [
|
|
9
|
+
{name = "MeaningfulData", email = "info@meaningfuldata.eu"},
|
|
10
|
+
]
|
|
11
|
+
maintainers = [
|
|
12
|
+
{name = "Francisco Javier Hernandez del Caño", email = "javier.hernandez@meaningfuldata.eu"},
|
|
13
|
+
{name = "Alberto Hernandez del Caño", email = "alberto.hernandez@meaningfuldata.eu"},
|
|
14
|
+
{name = "Mateo de Lorenzo Argeles", email = "mateo.delorenzo@meaningfuldata.eu"}
|
|
15
|
+
]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 5 - Production/Stable",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"Intended Audience :: Information Technology",
|
|
20
|
+
"Intended Audience :: Science/Research",
|
|
21
|
+
"Typing :: Typed"
|
|
22
|
+
]
|
|
23
|
+
keywords = ['vtl', 'sdmx', 'vtlengine', 'Validation and Transformation Language']
|
|
24
|
+
|
|
25
|
+
dependencies = [
|
|
26
|
+
# PyPi dependencies
|
|
27
|
+
"duckdb>=1.4,<1.5",
|
|
28
|
+
"pysdmx[xml]>=1.5.2,<2.0",
|
|
29
|
+
# APT-supported dependencies
|
|
30
|
+
"jsonschema>=3.2.0,<5.0",
|
|
31
|
+
"sqlglot>=22.2.0,<23.0",
|
|
32
|
+
"antlr4-python3-runtime>=4.9,<4.10",
|
|
33
|
+
"pandas>=2.1.4,<3.0",
|
|
34
|
+
"networkx>=2.8,<3.0"
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
[project.optional-dependencies]
|
|
38
|
+
s3 = ["s3fs>=2022.11.0"]
|
|
39
|
+
all = ["s3fs>=2022.11.0"]
|
|
40
|
+
|
|
41
|
+
[project.urls]
|
|
42
|
+
Repository = 'https://github.com/Meaningful-Data/vtlengine'
|
|
43
|
+
Documentation = 'https://docs.vtlengine.meaningfuldata.eu'
|
|
44
|
+
MeaningfulData = 'https://www.meaningfuldata.eu/'
|
|
45
|
+
IssueTracker = 'https://github.com/Meaningful-Data/vtlengine/issues'
|
|
46
|
+
Authors = 'https://github.com/Meaningful-Data/vtlengine/graphs/contributors'
|
|
47
|
+
|
|
48
|
+
[tool.poetry.dependencies]
|
|
49
|
+
python = ">=3.9,<4.0"
|
|
50
|
+
|
|
51
|
+
[tool.poetry.group.dev.dependencies]
|
|
52
|
+
pytest = ">=8.4,<9.0"
|
|
53
|
+
pytest-cov = ">=7.0.0,<8.0"
|
|
54
|
+
pytest-xdist = ">=3.8.0,<4.0"
|
|
55
|
+
line-profiler-pycharm = ">=1.2.0,<2.0"
|
|
56
|
+
mypy = ">=1.18,<2.0"
|
|
57
|
+
pandas-stubs = ">=2.2.2,<3.0"
|
|
58
|
+
ruff = ">=0.14,<1.0.0"
|
|
59
|
+
types-jsonschema = ">=4.25.1,<5.0"
|
|
60
|
+
|
|
61
|
+
[tool.poetry.group.docs.dependencies]
|
|
62
|
+
sphinx = ">=7.4.7,<8.0"
|
|
63
|
+
sphinx-rtd-theme = ">=3.0.2,<4.0"
|
|
64
|
+
toml = ">=0.10.2,<0.11.0"
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
[tool.ruff]
|
|
69
|
+
line-length = 100
|
|
70
|
+
lint.mccabe.max-complexity = 20
|
|
71
|
+
lint.select = [
|
|
72
|
+
"B", "B9", "C", "C4", "D", "E", "F", "I", "PT", "S", "SIM", "W"
|
|
73
|
+
]
|
|
74
|
+
# TODO: check S608 (duckdb querys)
|
|
75
|
+
lint.ignore = ["B023", "B028", "B904", "C403", "D100", "D101", "D102", "D103", "D104", "D105",
|
|
76
|
+
"D107", "D200", "D201", "D202", "D203", "D205", "D209", "D212", "D213", "D301",
|
|
77
|
+
"D400", "D401", "D404", "D411", "D413", "D415", "D419", "E203", "S608"]
|
|
78
|
+
lint.exclude = ["*/Grammar/*", "*/main.py", "*/dev.py"]
|
|
79
|
+
|
|
80
|
+
[tool.ruff.lint.per-file-ignores]
|
|
81
|
+
"tests/*" = ["S101", "PT006", "PT012", "PT013", "E501", "W605"]
|
|
82
|
+
"src/vtlengine/*" = ["E712"]
|
|
83
|
+
|
|
84
|
+
[tool.mypy]
|
|
85
|
+
files = "src"
|
|
86
|
+
exclude = "src/vtlengine/AST/.*|src/dev.py"
|
|
87
|
+
disallow_untyped_defs = true
|
|
88
|
+
disallow_untyped_calls = true
|
|
89
|
+
ignore_errors = false
|
|
90
|
+
no_implicit_optional = true
|
|
91
|
+
show_column_numbers = true
|
|
92
|
+
strict_equality = true
|
|
93
|
+
strict_optional = true
|
|
94
|
+
strict = true
|
|
95
|
+
enable_error_code = [
|
|
96
|
+
"ignore-without-code",
|
|
97
|
+
"redundant-expr",
|
|
98
|
+
"truthy-bool",
|
|
99
|
+
]
|
|
100
|
+
warn_return_any = false
|
|
101
|
+
|
|
102
|
+
[tool.pytest.ini_options]
|
|
103
|
+
addopts = "--strict-markers"
|
|
104
|
+
markers = [
|
|
105
|
+
"input_path: directory where tests data files are stored"
|
|
106
|
+
]
|
|
107
|
+
|
|
108
|
+
[build-system]
|
|
109
|
+
requires = ["poetry-core"]
|
|
110
|
+
build-backend = "poetry.core.masonry.api"
|