11[build-system ]
22requires = [
3- " setuptools >= 65.3.0, < 66" ,
4- " setuptools_scm[toml] >= 7.0.5, < 8" ,
5- " wheel"
3+ " setuptools >= 65.3.0, < 66" ,
4+ " setuptools_scm[toml] >= 7.0.5, < 8" ,
5+ " wheel" ,
66]
77build-backend = " setuptools.build_meta"
88
@@ -11,87 +11,79 @@ name = "frequenz-sdk"
1111description = " Frequenz Python SDK"
1212readme = " README.md"
1313license = { text = " MIT" }
14- keywords = [ " frequenz" , " sdk" , " microgrid" , " actor" ]
14+ keywords = [" frequenz" , " sdk" , " microgrid" , " actor" ]
1515classifiers = [
16- " Development Status :: 3 - Alpha" ,
17- " Intended Audience :: Developers" ,
18- " License :: OSI Approved :: MIT License" ,
19- " Programming Language :: Python :: 3" ,
20- " Programming Language :: Python :: 3 :: Only" ,
21- " Programming Language :: Python :: 3.8" ,
22- " Programming Language :: Python :: 3.9" ,
23- " Programming Language :: Python :: 3.10" ,
24- " Topic :: Software Development :: Libraries" ,
16+ " Development Status :: 3 - Alpha" ,
17+ " Intended Audience :: Developers" ,
18+ " License :: OSI Approved :: MIT License" ,
19+ " Programming Language :: Python :: 3" ,
20+ " Programming Language :: Python :: 3 :: Only" ,
21+ " Programming Language :: Python :: 3.8" ,
22+ " Programming Language :: Python :: 3.9" ,
23+ " Programming Language :: Python :: 3.10" ,
24+ " Topic :: Software Development :: Libraries" ,
2525]
2626requires-python = " >= 3.8, < 4"
2727dependencies = [
28- " frequenz-api-microgrid >= 0.11.0, < 0.12.0" ,
29- " frequenz-channels >= 0.14.0, < 0.15.0" ,
30- " google-api-python-client >= 2.71, < 3" ,
31- " grpcio >= 1.51.1, < 2" ,
32- " grpcio-tools >= 1.51.1, < 2" ,
33- " networkx >= 2.8, < 4" ,
34- " numpy >= 1.24.2, < 2" ,
35- " protobuf >= 4.21.6, < 5" ,
36- " pydantic >= 1.9" ,
37- " toml >= 0.10" ,
38- " tqdm >= 4.38.0, < 5" ,
39- " typing_extensions >= 4.4.0, < 5" ,
40- " watchfiles >= 0.15.0" ,
28+ " frequenz-api-microgrid >= 0.11.0, < 0.12.0" ,
29+ " frequenz-channels >= 0.14.0, < 0.15.0" ,
30+ " google-api-python-client >= 2.71, < 3" ,
31+ " grpcio >= 1.51.1, < 2" ,
32+ " grpcio-tools >= 1.51.1, < 2" ,
33+ " networkx >= 2.8, < 4" ,
34+ " numpy >= 1.24.2, < 2" ,
35+ " protobuf >= 4.21.6, < 5" ,
36+ " pydantic >= 1.9" ,
37+ " toml >= 0.10" ,
38+ " tqdm >= 4.38.0, < 5" ,
39+ " typing_extensions >= 4.4.0, < 5" ,
40+ " watchfiles >= 0.15.0" ,
4141]
42- dynamic = [ " version" ]
42+ dynamic = [" version" ]
4343
4444[[project .authors ]]
45- name =" Frequenz Energy-as-a-Service GmbH"
45+ name = " Frequenz Energy-as-a-Service GmbH"
46464747
4848[project .optional-dependencies ]
4949docs-gen = [
50- " mike == 1.1.2" ,
51- " mkdocs-gen-files == 0.5.0" ,
52- " mkdocs-literate-nav == 0.6.0" ,
53- " mkdocs-material == 9.1.14" ,
54- " mkdocs-section-index == 0.3.5" ,
55- " mkdocstrings[python] == 0.21.2" ,
50+ " mike == 1.1.2" ,
51+ " mkdocs-gen-files == 0.5.0" ,
52+ " mkdocs-literate-nav == 0.6.0" ,
53+ " mkdocs-material == 9.1.14" ,
54+ " mkdocs-section-index == 0.3.5" ,
55+ " mkdocstrings[python] == 0.21.2" ,
5656]
5757docs-lint = [
58- " pydocstyle == 6.3.0" ,
59- " darglint == 1.8.1" ,
60- " tomli == 2.0.1" , # Needed by pydocstyle to read pyproject.toml
61- ]
62- format = [
63- " black == 23.3.0" ,
64- " isort == 5.12.0" ,
65- ]
66- nox = [
67- " nox == 2023.4.22" ,
68- " toml == 0.10.2" ,
58+ " pydocstyle == 6.3.0" ,
59+ " darglint == 1.8.1" ,
60+ " tomli == 2.0.1" , # Needed by pydocstyle to read pyproject.toml
6961]
62+ format = [" black == 23.3.0" , " isort == 5.12.0" ]
63+ nox = [" nox == 2023.4.22" , " toml == 0.10.2" ]
7064pytest = [
71- " pytest == 7.3.1" ,
72- " pytest-cov == 4.0.0" ,
73- " pytest-mock == 3.10.0" ,
74- " pytest-asyncio == 0.21.0" ,
75- " time-machine == 2.9.0" ,
76- " async-solipsism == 0.5" ,
77- # For checking docstring code examples
78- " sybil == 5.0.2" ,
79- " pylint == 2.17.4" ,
65+ " pytest == 7.3.1" ,
66+ " pytest-cov == 4.0.0" ,
67+ " pytest-mock == 3.10.0" ,
68+ " pytest-asyncio == 0.21.0" ,
69+ " time-machine == 2.9.0" ,
70+ " async-solipsism == 0.5" ,
71+ # For checking docstring code examples
72+ " sybil == 5.0.2" ,
73+ " pylint == 2.17.4" ,
8074]
8175mypy = [
82- " mypy == 1.3.0" ,
83- " grpc-stubs == 1.24.12" , # This dependency introduces breaking changes in patch releases
84- # For checking the noxfile, docs/ script, and tests
85- " frequenz-sdk[docs-gen,nox,pytest]" ,
76+ " mypy == 1.3.0" ,
77+ " grpc-stubs == 1.24.12" , # This dependency introduces breaking changes in patch releases
78+ # For checking the noxfile, docs/ script, and tests
79+ " frequenz-sdk[docs-gen,nox,pytest]" ,
8680]
8781pylint = [
88- " pylint == 2.17.4" ,
89- # For checking the noxfile, docs/ script, and tests
90- " frequenz-sdk[docs-gen,nox,pytest]" ,
91- ]
92- dev = [
93- " frequenz-sdk[docs-gen,docs-lint,format,nox,pytest,mypy,pylint]" ,
82+ " pylint == 2.17.4" ,
83+ # For checking the noxfile, docs/ script, and tests
84+ " frequenz-sdk[docs-gen,nox,pytest]" ,
9485]
86+ dev = [" frequenz-sdk[docs-gen,docs-lint,format,nox,pytest,mypy,pylint]" ]
9587
9688[project .urls ]
9789Changelog = " https://github.com/frequenz-floss/frequenz-sdk-python/releases"
@@ -111,21 +103,21 @@ target-version = ['py38']
111103include = ' \.pyi?$'
112104
113105[tool .pylint .similarities ]
114- ignore-comments = [' yes' ]
115- ignore-docstrings = [' yes' ]
116- ignore-imports = [' no' ]
117- min-similarity-lines = 40
106+ ignore-comments = [' yes' ]
107+ ignore-docstrings = [' yes' ]
108+ ignore-imports = [' no' ]
109+ min-similarity-lines = 40
118110
119111[tool .pylint .messages_control ]
120112disable = [
121- " too-few-public-methods" ,
122- # disabled because it conflicts with isort
123- " wrong-import-order" ,
124- " ungrouped-imports"
113+ " too-few-public-methods" ,
114+ # disabled because it conflicts with isort
115+ " wrong-import-order" ,
116+ " ungrouped-imports" ,
125117]
126118
127119[tool .pylint .design ]
128- max-attributes = 12
120+ max-attributes = 12
129121
130122[tool .isort ]
131123profile = " black"
@@ -134,21 +126,18 @@ src_paths = ["src", "examples", "tests"]
134126
135127[tool .pytest .ini_options ]
136128asyncio_mode = " auto"
137- required_plugins = [ " pytest-asyncio" , " pytest-mock" ]
129+ required_plugins = [" pytest-asyncio" , " pytest-mock" ]
138130
139131[[tool .mypy .overrides ]]
140132module = [
141- " grpc.aio" ,
142- " grpc.aio.*" ,
143- # There is a stubs package available, but it's not working:
144- # https://github.com/eggplants/networkx-stubs/issues/1
145- " networkx" ,
133+ " grpc.aio" ,
134+ " grpc.aio.*" ,
135+ # There is a stubs package available, but it's not working:
136+ # https://github.com/eggplants/networkx-stubs/issues/1
137+ " networkx" ,
146138]
147139ignore_missing_imports = true
148140
149141[[tool .mypy .overrides ]]
150- module = [
151- " async_solipsism" ,
152- " async_solipsism.*" ,
153- ]
142+ module = [" async_solipsism" , " async_solipsism.*" ]
154143ignore_missing_imports = true
0 commit comments