22# Copyright © 2025 Frequenz Energy-as-a-Service GmbH
33
44[build-system ]
5- requires = [
6- " setuptools == 75.8.0" ,
7- " setuptools_scm[toml] == 9.2.2" ,
8- " frequenz-repo-config[lib] == 0.13.6" ,
9- ]
10- build-backend = " setuptools.build_meta"
5+ requires = [" maturin>=1.9.6,<2.0" ]
6+ build-backend = " maturin"
117
128[project ]
139name = " frequenz-microgrid-component-graph"
1410description = " Python bindings for the Frequenz microgrid component graph rust library."
1511readme = " README.md"
1612license = { text = " MIT" }
1713keywords = [" frequenz" , " python" , " lib" , " library" , " microgrid-component-graph" ]
18- # TODO(cookiecutter): Remove and add more classifiers if appropriate
1914classifiers = [
2015 " Development Status :: 3 - Alpha" ,
2116 " Intended Audience :: Developers" ,
@@ -26,8 +21,8 @@ classifiers = [
2621 " Typing :: Typed" ,
2722]
2823requires-python = " >= 3.11, < 4"
29- # TODO(cookiecutter): Remove and add more dependencies if appropriate
3024dependencies = [
25+ " frequenz-client-microgrid @ git+https://github.com/frequenz-floss/frequenz-client-microgrid-python@refs/heads/v0.18.x" ,
3126 " typing-extensions >= 4.14.1, < 5" ,
3227]
3328dynamic = [" version" ]
@@ -36,7 +31,6 @@ dynamic = ["version"]
3631name = " Frequenz Energy-as-a-Service GmbH"
37323833
39- # TODO(cookiecutter): Remove and add more optional dependencies if appropriate
4034[project .optional-dependencies ]
4135dev-flake8 = [
4236 " flake8 == 7.3.0" ,
@@ -82,7 +76,7 @@ dev-pytest = [
8276 " async-solipsism == 0.8" ,
8377]
8478dev = [
85- " frequenz-microgrid-component-graph[dev-mkdocs,dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest]" ,
79+ " frequenz-microgrid-component-graph[dev-mkdocs,dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest]" ,
8680]
8781
8882[project .urls ]
@@ -92,6 +86,11 @@ Issues = "https://github.com/frequenz-floss/frequenz-microgrid-component-graph-p
9286Repository = " https://github.com/frequenz-floss/frequenz-microgrid-component-graph-python"
9387Support = " https://github.com/frequenz-floss/frequenz-microgrid-component-graph-python/discussions/categories/support"
9488
89+ [tool .maturin ]
90+ features = [" pyo3/extension-module" ]
91+ module-name = " frequenz.microgrid_component_graph._component_graph"
92+ python-source = " python"
93+
9594[tool .black ]
9695line-length = 88
9796target-version = [' py311' ]
@@ -101,6 +100,7 @@ include = '\.pyi?$'
101100profile = " black"
102101line_length = 88
103102src_paths = [" benchmarks" , " examples" , " python" , " tests" ]
103+ skip_glob = [" *.pyi" ]
104104
105105[tool .flake8 ]
106106# We give some flexibility to go over 88, there are cases like long URLs or
0 commit comments