-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
62 lines (55 loc) · 2.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
# Reference: https://python-poetry.org/docs/pyproject/
[tool.poetry]
name = "refscan"
version = "0.0.0"
description = "Command-line program that scans the NMDC MongoDB database for referential integrity violations"
authors = []
readme = "README.md"
repository = "https://github.com/microbiomedata/refscan"
homepage = "https://github.com/microbiomedata/refscan"
documentation = "https://github.com/microbiomedata/refscan"
keywords = ["mongodb", "mongo", "relationships", "reference", "database", "data", "referential integrity", "scan"]
[tool.poetry.dependencies]
python = "^3.9"
# We use `linkml-runtime` to facilitate using `nmdc-schema`.
# Docs: https://linkml.io/linkml/developers/schemaview.html#linkml_runtime.utils.schemaview.SchemaView
linkml-runtime = "^1.7.5"
# We use `pymongo` to communicate with MongoDB servers.
# Docs: (https://pymongo.readthedocs.io/en/stable/
pymongo = "^4.7.1"
# We use `rich` to format console output.
# Docs: https://rich.readthedocs.io/en/stable/index.html
rich = "^13.7.1"
# We use `typer` as a CLI framework.
# Docs: https://typer.tiangolo.com/
typer = "^0.12.3"
[tool.poetry.group.dev.dependencies]
# We use `black` for code formatting.
# Usage: $ poetry run black --line-length 120 .
# Docs: https://black.readthedocs.io/en/stable/
black = "^24.4.2"
# We use `pyinstrument` for performance profiling.
# Usage: $ pyinstrument --from-path refscan --help
# Docs: https://pyinstrument.readthedocs.io/en/latest/guide.html#profile-a-python-cli-command
pyinstrument = "^4.6.2"
# We use `pytest` to run tests.
# Usage: $ poetry run pytest
# Docs: https://docs.pytest.org/en/stable/contents.html
pytest = "^8.2.2"
pytest-cov = "^5.0.0"
[tool.poetry.scripts]
# Reference: https://python-poetry.org/docs/pyproject#scripts
refscan = "refscan.refscan:app"
refgraph = "refscan.refgraph:app"
[tool.pytest.ini_options]
# Make it so that, when someone runs `$ poetry run pytest`, in addition to running the tests, it
# also (via the `pytest-cov` plugin) measures test coverage of the source code directory.
# Reference: https://pytest-cov.readthedocs.io/en/latest/config.html#configuration
addopts = "--cov=refscan"
[tool.black]
# Make it so that, when someone runs `$ poetry run black`, these default CLI options are used.
# Reference: https://black.readthedocs.io/en/stable/usage_and_configuration/the_basics.html#configuration-format
line-length = 120
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"