-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathpyproject.toml
More file actions
108 lines (94 loc) · 2.72 KB
/
Copy pathpyproject.toml
File metadata and controls
108 lines (94 loc) · 2.72 KB
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
[build-system]
requires = ["hatchling", "hatch-vcs"]
build-backend = "hatchling.build"
[project]
name = "flexmeasures-client"
description = "Async client to connect to the FlexMeasures API"
readme = "README.rst"
requires-python = ">=3.10, <3.13"
license = "Apache-2.0"
license-files = ["LICENSE"]
authors = [
{name = "Flexmeasures", email = "info@seita.nl"}
]
keywords = ["flexmeasures", "energy", "flexibility", "scheduling", "smart grid"]
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
dynamic = ["version"]
dependencies = [
"aiohttp>=3.13.3",
"pandas>=2.1.4",
"async-timeout>=5.0.1",
"packaging>=26.0",
# Below: minimum requirements solely here for security reasons
"urllib3>=2.7.0", # https://github.com/FlexMeasures/flexmeasures-client/security/dependabot/16
]
[project.urls]
Homepage = "https://github.com/FlexMeasures/flexmeasures-client"
Documentation = "https://flexmeasures-client.readthedocs.io/"
"Source code" = "https://github.com/FlexMeasures/flexmeasures-client"
[project.optional-dependencies]
s2 = [
"requests>=2.32.5",
"s2-python>=0.8.1",
"semver>=3.0.4",
"tzdata>=2025.3",
]
[dependency-groups]
test = [
"aioresponses>=0.7.8",
"pytest>=9.0.2",
"pytest-asyncio>=1.3.0",
"pytest-cov>=7.0.0",
"pytest-mock>=3.15.1",
]
dev = [
"black>=25.1.0",
"flake8>=7.3.0",
"isort>=5.12.0",
"mypy>=0.902",
"poethepoet>=0.41.0",
"pre-commit>=4.5.1",
"types-pytz>=2025.2.0.20251108",
"types-requests>=2.32.4.20260107",
]
docs = [
"sphinx>=3.2.1",
]
[tool.hatch.build.targets.wheel]
packages = ["src/flexmeasures_client"]
[tool.hatch.version]
source = "vcs"
[tool.poe.tasks.test]
help = "Run the full test suite."
cmd = "pytest"
[tool.poe.tasks.test-no-s2]
help = "Run the test suite (excluding S2) and generate coverage report."
cmd = "pytest --ignore=tests/s2 --cov --cov-report="
[tool.poe.tasks.test-s2]
help = "Run S2 tests."
cmd = "pytest tests/s2"
[tool.poe.tasks.type-check]
help = "Run mypy on files with type hints."
shell = """
files=$(find src -name \\*.py | xargs grep -l "from typing import")
mypy --follow-imports skip --ignore-missing-imports $files
"""
[tool.poe.tasks.lint]
help = "Run pre-commit hooks on all files."
cmd = "pre-commit run --all-files"
[tool.pytest]
# https://github.com/zupo/awesome-pytest-speedup?tab=readme-ov-file
testpaths = ["tests"]
addopts = ["--strict-markers", "--import-mode=importlib"]
[tool.black]
line-length = 88
[tool.isort]
profile = "black"
known_first_party = ["flexmeasures_client"]