-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
108 lines (97 loc) · 2.35 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
[project]
name = "ionbeam"
dynamic = ["version"]
description = "A streaming library for IoT data."
readme = { file = "README.md", content-type = "text/markdown" }
authors = [{ name = "Tom Hodson (ECMWF)", email = "thomas.hodson@ecmwf.int" }]
requires-python = ">=3.10"
license = { text = "BSD-3-Clause" }
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: The 3-Clause BSD License",
"Operating System :: OS Independent"
]
dependencies = [
"pandas",
"numexpr",
"requests",
"oauthlib",
"requests-oauthlib",
"pyyaml",
"munch",
"Levenshtein",
"tqdm",
"argparse",
"watchdog",
"shapely",
"pyyaml-include >=1.4, <2.0", # For including files in yaml. Todo: refactor code to support version 2
"bs4", # For sensor.community
"lxml",
"pika",
"rich",
"pe", # For parsing fdb schema files wit with a PEF grammar
"sqlalchemy", # For managing the SQL database schema
"sqlalchemy-utils",
"geoalchemy2",
"jinja2",
"psycopg2-binary",
"wurlitzer", # For printing C++ output in the console
"cachetools",
"responses",
# ECMWF dependencies
"pyodc @ git+https://github.com/TomHodson/pyodc.git@develop",
"pyaviso @ git+https://github.com/ecmwf/aviso.git@develop",
"pyfdb @ git+https://github.com/ecmwf/pyfdb.git@develop",
"findlibs",
]
[project.optional-dependencies]
dev = [
"pytest",
"black",
"ruff",
"flake8",
"pre-commit",
"isort",
"responses",
]
typing = [
"pandas-stubs",
"types-oauthlib",
"types-requests",
"munch-stubs",
"types-requests"
]
docs = [
"sphinx",
"sphinx-rtd-theme",
"myst-parser",
"sphinx-autobuild"
]
[tool.setuptools.packages.find]
where = ["src"]
[build-system]
requires = ["setuptools", "wheel", "setuptools_scm"]
build-backend = "setuptools.build_meta"
[tool.setuptools_scm]
version_scheme = "guess-next-dev"
local_scheme = "node-and-date"
[tool.pytest.ini_options]
markers = [
"network", # For slow tests that interface with live APIs, not good for CI
]
addopts = [
"-m not network", # do not run networks tests by default
]
[tool.black]
line-length = 120
[tool.isort]
profile = "black"
line_length = 120
[tool.ruff]
line-length = 120
[tool.mypy]
strict = false
files = [
"src/ionbeam/sources/cima",
"src/ionbeam/sources/meteotracker",
]