Dependencies¶
NC has dependencies in multiple different groups
Mandatory productive
Optional productive (aka. “extras”)
Mandatory dev dependencies
Optional dev dependencies
Mandatory Productive Dependencies¶
These dependencies are mandatory, always installed, and are required for
productive usage of NC, for example exasol-saas-api.
In file pyproject.toml these are in group [project], dependencies.
Optional Productive Dependencies (aka. “extras”)¶
These dependencies are optional, but required for specific productive
scenarios, for example sqlalchemy.
In file pyproject.toml these are in group
[project.optional-dependencies].
Mandatory Dev Dependencies¶
These dependencies are only required during development, for example
pytest. They are installed when using poetry install but not
contained in the package built by this project and published on pypi.
In file pyproject.toml these are in group
[tool.poetry.group.dev.dependencies].
Optional Dev Dependencies¶
These dependencies are only required for specific tasks during development, e.g. when updating performance measurements.
They are installed when using poetry install --with <dep>, see also
Poetry docs.
Currently there is only one such group, called performance. In file
pyproject.toml the group is defined like
[tool.poetry.group.performance]
optional = true
[tool.poetry.group.performance.dependencies]
pytest-benchmark = { version = ">=5.1.0, <6", extras = ["histogram"] }
# end of optional dev dependencies
Pytest Benchmark is used for measuring the performance when accessing the Secure Configuration Storage. It is added as optional dev dependency to avoid interferences as reported in project Pyexasol.