-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathpyproject.toml
113 lines (99 loc) · 3.79 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
[build-system]
requires = ["poetry-core>=1.0.0,<2.0", "poetry-dynamic-versioning>=1.0.0,<2.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "sds-data-manager"
version = "5.0.0"
description = "IMAP Science Operations Center AWS data manager"
authors = ["IMAP SDS Developers <imap.sdc@lists.lasp.colorado.edu>"]
readme = "README.md"
license = "MIT"
keywords = ["IMAP", "SDC", "SOC", "SDS", "Science Operations"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Topic :: Software Development",
"Topic :: Scientific/Engineering",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX",
"Operating System :: Unix",
"Operating System :: MacOS",
]
[tool.poetry.dependencies]
python = ">=3.9,<4"
# Optional dependencies - install with `poetry install -E docs`
sphinx = {version="^7.1.0", optional=true}
myst-parser = {version="^2.0.0", optional=true}
pydata-sphinx-theme = {version="^0.13.3", optional=true}
[tool.poetry.group.cdk-install.dependencies]
# 2.66+ required for aws-cdk.aws-lambda-python-alpha
aws-cdk-lib = ">=2.141.0,<3.0.0"
"aws-cdk.aws-lambda-python-alpha" = "^2.141.0a0"
constructs = ">=10.0.0,<11.0.0"
imap-data-access = ">=0.11.0"
[tool.poetry.group.dev.dependencies]
ruff = "==0.2.1"
pre-commit = "^3.3.3"
[tool.poetry.group.tests.dependencies]
# Installed by default, can be installed without these dependencies using `poetry install --without tests`
pytest = "==6.2.5"
pytest-cov = "^4.0.0"
moto = "^4.1.3"
boto3 = "^1.26.78"
SQLAlchemy = "<=3.0.0"
[tool.poetry.group.lambda-dev]
# Not installed by default, can be installed using `poetry install --with lambda-dev`. If you only want this group, you can use `poetry install --only lambda-dev
optional = true
[tool.poetry.group.lambda-dev.dependencies]
requests = "^2.28.2"
psycopg = "^3.1"
psycopg2-binary = "^2.9.9"
SQLAlchemy = "<=3.0.0"
imap-data-access = ">=0.13.0"
# Used for installing with pip
[tool.poetry.extras]
doc = ["myst-parser", "pydata-sphinx-theme", "sphinx"]
[project.urls]
homepage = "https://github.com/IMAP-Science-Operations-Center"
repository = "https://github.com/IMAP-Science-Operations-Center/sds-data-manager"
[tool.pytest.ini_options]
testpaths = [
"tests",
]
addopts = "-ra"
markers = [
"network: Test that requires network access",
]
filterwarnings = [
"ignore::DeprecationWarning:importlib*",
"ignore::DeprecationWarning:jsii*",
"ignore:datetime.datetime.utcnow:DeprecationWarning:botocore",
]
norecursedirs = ["tests/test-data"]
[tool.ruff]
target-version = "py39"
lint.select = ["B", "D", "E", "F", "I", "N", "S", "W", "PL", "PT", "UP", "RUF"]
# D104: Missing docstring in public package
# D203: 1 blank line required before class docstring
# D213: Multi-line docstring summary should start at the second line
# D300: Use triple single quotes
# D413: Missing blank line after last section
# S101: Use of assert detected
# S104: Possible binding to all interfaces
# PLR0913: Too many arguments in function definition
# PLR2004: Magic value in comparison
# RUF200: pyproject missing field (poetry doesn't follow the spec)
lint.ignore = ["D104", "D203", "D213", "D300", "D413", "S101", "S104", "PLR0913", "PLR2004", "RUF200"]
[tool.ruff.lint.per-file-ignores]
# TODO: Too many statements, this could be refactored to separate
# it into a few smaller pieces
"sds_data_manager/utils/stackbuilder.py" = ["PLR0915"]
# subprocess calls within these modules are expected
"tests/lambda_endpoints/conftest.py" = ["S"]
"tests/infrastructure/test_website_cloudfront_function.py" = ["S"]