diff --git a/.github/workflows/_core.yaml b/.github/workflows/_core.yaml index fea45ab8..e826ea68 100644 --- a/.github/workflows/_core.yaml +++ b/.github/workflows/_core.yaml @@ -88,8 +88,8 @@ jobs: run: bash ./scripts/check_indent_rdf.sh - name: check licences run: | - hash -r - poetry run reuse lint + hash -r # this this mandatory for reuse... + poetry run scons license - name: poetry build pycgmes run: | diff --git a/README.md b/README.md index b48e304d..44b2d31a 100644 --- a/README.md +++ b/README.md @@ -4,52 +4,130 @@ SPDX-FileCopyrightText: 2023 Alliander SPDX-License-Identifier: Apache-2.0 --> -# cgmes-python +# PyCGMES -- [cgmes-python](#cgmes-python) +<<<<<<< HEAD +- [PyCGMES](#pycgmes) + - [About CGMES](#about-cgmes) - [Library usage](#library-usage) - [Custom attributes](#custom-attributes) - - [Apparent class](#apparent-class) - - [Namespace](#namespace) - - [Content](#content) + - [Add to an existing profile](#add-to-an-existing-profile) + - [Create a new profile](#create-a-new-profile) + - [Implementation details](#implementation-details) + - [Apparent class](#apparent-class) + - [Namespace](#namespace) + - [Class/Resource Namespace](#classresource-namespace) + - [Attribute namespace](#attribute-namespace) + - [Content of this repository](#content-of-this-repository) - [Schemas v3](#schemas-v3) - - [Shacl files](#shacl-files) + - [SHACL files](#shacl-files) - [V3 source zip](#v3-source-zip) - [Dataclasses](#dataclasses) - [Library build, CI, CD...](#library-build-ci-cd) - [CI](#ci) - [CD](#cd) - [License](#license) +>>>>>>> 4384d02 (update docs with CGMES info) -Python dataclasses for CGMES 3 + rdf schema description + SHACL files. +Python dataclasses for CGMES 3 + RDF schema description + SHACL (validation) files. + +## About CGMES + +The Common Grid Model Exchange Specification, or CGMES, is provided by ENTSO-E (the European Network of TSOs for +Electricity) to facilitate the exchange of grid data between parties. It is based on CIM, the Common Information Model +for electric utilities, provided by the IEC (see also +[CIM on Wikipedia](https://en.wikipedia.org/wiki/Common_Information_Model_(electricity))). + +CIM defines the vocabulary for electricity grids, meaning the names we use for different components and the way they +relate to each other. CGMES takes a subset of this vocabulary and provides RDF schema and SHACL validation files. + +Further reading and all relevant CGMES (source) files are found on +[the CGMES page of the ENTSO-E website](https://www.entsoe.eu/data/cim/cim-for-grid-models-exchange/). ## Library usage -From Pypi.org, 2 packages are available: +From Pypi.org, 2 packages are available (both from this repository): -- https://pypi.org/project/pycgmes/ -- https://pypi.org/project/pycgmes-shacl/ +- [https://pypi.org/project/pycgmes/](https://pypi.org/project/pycgmes/) +- [https://pypi.org/project/pycgmes-shacl/](https://pypi.org/project/pycgmes-shacl/) They can easily be installed via pip: `pip install pycgmes` or `pip install pycgmes-shacl`. ## Custom attributes -### Apparent class +You might want to add extra attributes. For instance, the color of a cable (ACLineSegment). This is possible in 2 ways: + +- Adding the attribute to a custom class in an existing profile. +- Define a new profile including a custom class where the attribute is defined. + +You can look at the [examples](./examples/custom_attributes.py) + +### Add to an existing profile -If you need to add your own attributes (example: cable colour), you can do that by subclassing the relevant class. +If you need to add your own attributes (example: cable colour), you can do that by subclassing the relevant class, and +add one or more new atributes there. If this is a leaf node (for instance `ACLineSegment`), it "just works". If you want to add an extra attribute to a class higher in the hierarchy (for instance `Equipment`) there is a lot more work to do. -By default, an attribute is fully qualified. `bch` in `ACLineSegment` will appear as `ACLineSegment.bch` in the serialisation. -For a custom attribute, you might not want to see `ACLineSegmentCustom.bch`. To prevent this, you can override the `apparent_name` -of your custom class: +```python +@dataclass(config=DataclassConfig) +class CustomBay(Bay): + colour: str = Field( + default="Red", + in_profiles=[ + Profile.EQ, + ], + ) +``` + +### Create a new profile + +This approach is cleaner and more standard compliant: the official CGMES profiles stay untouched, while a new additional profile contains your customisations. + +You can do this by extending the `BaseProfile`` Enum in [profile.py](./pycgmes/utils/profile.py). + +While in Python it is not possible to extend or compose Enums which already have fields, you can create your own: + +```python +from pycgmes.utils.profile import BaseProfile + +class CustomProfile(BaseProfile): + CUS="Tom" + FRO="Mage" +``` + +And use it everywhere you would use a profile: + +```python +from pycgmes.utils.dataclassconfig import DataclassConfig + +@dataclass(config=DataclassConfig) +class CustomBayAttr(Bay): + colour: str = Field( + default="Red", + in_profiles=[ + CustomProfile.CUS, + ], + ) + +# And for instance: +custom_attrs = CustomBayAttr(colour="purple").cgmes_attributes_in_profile(CustomProfile.CUS) +``` + +### Implementation details + +#### Apparent class + +By default, an attribute is fully qualified. A standard `attribute` in `ACLineSegment` will appear as `ACLineSegment.attribute` in the serialisation. +In the case of a custom attribute defined via a sub class, the result would be: `ACLineSegmentCustom.customAttribute`. To preserve the original class name (i.e. serialise your attribute as `ACLineSegment.customAttribute`), you need to override the `apparent_name` of your custom class: ```python from pydantic.dataclasses import dataclass -from pycgmes.resources import ACLineSegment -from pycgmes.resources.Base import DataclassConfig +from pycgmes.resources.ACLineSegment import ACLineSegment +from pycgmes.utils.dataclassconfig import DataclassConfig + @dataclass(config=DataclassConfig) class ACLineSegmentCustom(ACLineSegment): @@ -58,11 +136,23 @@ class ACLineSegmentCustom(ACLineSegment): return "ACLineSegment" ``` -### Namespace +#### Namespace + +##### Class/Resource Namespace -In the serialisation, the namespace of all attributes is `cim` (`"http://iec.ch/TC57/2013/CIM-schema-cim16#"`) by default. -The serialisation is not done by PyCGMES (yet), but if you want a custom namespace for an attribute, -you can give a hint to the serialiser by adding some metadata to your custom attributes: +The default class (or resource) namespace is `http://iec.ch/TC57/CIM100#`. + +You can override it when you create a custom resource by just redefining the property `namespace`: + +##### Attribute namespace + +In the serialisation, the namespace of all attributes is `http://iec.ch/TC57/CIM100#` by default. + +The namespace of an attribute is the first value found: + +- namespace defined in the Field (see `colour` below - it would be `custom`) +- namespace of the class (see `size` below - it would be `custom ns class`) +- namespace of the first parent defining one. The top parent (`Base`) defined `cim`. ```python from pydantic.dataclasses import dataclass @@ -71,17 +161,28 @@ from pydantic import Field from pycgmes.resources import ACLineSegment from pycgmes.resources.Base import DataclassConfig, Profile + @dataclass(config=DataclassConfig) class ACLineSegmentCustom(ACLineSegment): - colour: str = Field( default="Red", in_profiles=[ - Profile.EQ, + Profile.EQ, # Do not do this, see chapter "create a new profile" ], namespace="custom", ) + size: str = Field( + default="Big", + in_profiles=[ + Profile.EQ, # Do not do this, see chapter "create a new profile" + ], + ) + + @property + def namesapce(self) -> str: + return "custom ns class" + @classmethod def apparent_name(cls): return "ACLineSegment" @@ -89,29 +190,31 @@ class ACLineSegmentCustom(ACLineSegment): It will be given when `cgmes_attributes_in_profile()` is called. -## Content +## Content of this repository ### Schemas v3 -[schemas](./schemas/) are rdf definitions of CGMES. They are used once, to generate dataclasses, and +[schemas](./schemas) are rdf definitions of CGMES. They are used once, to generate dataclasses, and can then happily be forgotten. They are available on the [ENTSO-E site](https://www.entsoe.eu/data/cim/cim-conformity-and-interoperability/). -Look for CGMES Conformity Assessment Scheme v3 then [Application Profiles v3.0.1](https://www.entsoe.eu/Documents/CIM_documents/Grid_Model_CIM/IEC61970-600-2_CGMES_3_0_1_ApplicationProfiles.zip) +Look for CGMES Conformity Assessment Scheme v3 +then [Application Profiles v3.0.1](https://www.entsoe.eu/Documents/CIM_documents/Grid_Model_CIM/IEC61970-600-2_CGMES_3_0_1_ApplicationProfiles.zip) Older versions could be found on the [ENTSO-E site](https://www.entsoe.eu/data/cim/cim-for-grid-models-exchange/). -### Shacl files +### SHACL files -[Shapes constraint Language](https://en.wikipedia.org/wiki/SHACL) is used for validation of the actual content of the -CGMES files, not just XML validation. They can be found in [shacl](./pycgmes/shacl). This is the new validation standard. OCL -is referenced, specially with older versions, but Entsoe is moving away from it. +[Shapes Constraint Language](https://en.wikipedia.org/wiki/SHACL) is used for validation of the actual content of the +CGMES files, not just XML validation. They can be found in [shacl](./pycgmes/shacl). This is the new validation +standard. OCL +is referenced, specially with older versions, but ENTSO-E is moving away from it. To use them, there is another package `pycmges-shacl`, built from this repo as well. ### V3 source zip -From Entsoe, in [data](./data/). This is one small-ish zip file, containing a bit more than just the shacl and rdfs +From ENTSO-E, in [data](./data). This is one small-ish zip file, containing a bit more than just the SHACL and RDFS files (those extracted and mentioned above) but is usually not needed. ### Dataclasses diff --git a/Roadmap.md b/Roadmap.md index b9e0546f..9ffc2fe0 100644 --- a/Roadmap.md +++ b/Roadmap.md @@ -6,9 +6,18 @@ SPDX-License-Identifier: Apache-2.0 # Roadmap -Those are the current plans to develop PyCGMES +Those are the current plans to develop PyCGMES: -- open source -- manage tagging/versioning (each release should have a git tag) -- build export in -- handle actual resources instead of just references via mRIDs +- infrastructure: + - ~~open source~~ + - manage tagging/versioning (each release should have a git tag and release) + - add build badges in the readme +- Documentation: + - add (and publish) readthedoc.io doc + - ~~Add generic readme introduction~~ +- Core update: + - Look into handling profiles as strings instead of ENUM + - build export in + - reference actual resources instead of just references via mRIDs + - ~~manage custom profiles~~ + - support pydantic v1 & v2 diff --git a/SConstruct.py b/SConstruct.py index cf1115a0..cc0aff19 100644 --- a/SConstruct.py +++ b/SConstruct.py @@ -2,32 +2,27 @@ # # SPDX-License-Identifier: Apache-2.0 -import os import subprocess # nosec import sys +from typing import Mapping from SCons.Script import COMMAND_LINE_TARGETS _CHECK_ONLY = "check" in COMMAND_LINE_TARGETS _SUBJECT = "pycgmes" _TEST_SUBJECT = "tests" -# Full path to an environment bin directory. -# Not needed if an environment is activated or not used (eg. Jenkins). -_BIN = os.environ.get("PY_VENV", "") # Remember if a target has been found, to warn if not. _target_found: bool = False -def _exec(command: str, absolute: bool = False) -> int: +def _exec(command: str, env: Mapping | None = None) -> int: global _target_found _target_found = True - if not absolute: - command = f"{_BIN}{command}" print(f">>> {command}") - exit_code = subprocess.call(command, shell=True) + exit_code = subprocess.call(command, shell=True, env=env) if exit_code != 0: print(f"Exiting with {exit_code}") sys.exit(exit_code) @@ -44,12 +39,12 @@ def _exec(command: str, absolute: bool = False) -> int: COMMAND_LINE_TARGETS += ["black", "ruff"] if "quality" in COMMAND_LINE_TARGETS: - COMMAND_LINE_TARGETS += ["ruff", "lock", "pylint", "mypy", "bandit", "coverage"] + COMMAND_LINE_TARGETS += ["ruff", "lock", "pylint", "mypy", "test", "coverage", "license"] # Formatting targets, which might change files. Let's run them *before* the linters and friends. # This is why ruff is the first of the quality target, as it fixes things as well. if "black" in COMMAND_LINE_TARGETS: - cmd = f"black SConstruct.py {_SUBJECT} {_TEST_SUBJECT} " + cmd = f"black SConstruct.py {_SUBJECT} {_TEST_SUBJECT} examples" if _CHECK_ONLY: cmd += " --check" _exec(cmd) @@ -70,7 +65,7 @@ def _exec(command: str, absolute: bool = False) -> int: if "lock" in COMMAND_LINE_TARGETS: - _exec("poetry lock --check") + _exec("poetry check --lock") if "pylint" in COMMAND_LINE_TARGETS or "lint" in COMMAND_LINE_TARGETS: _exec(f"pylint --rcfile=pyproject.toml {_SUBJECT}") @@ -86,11 +81,20 @@ def _exec(command: str, absolute: bool = False) -> int: _exec(f"bandit --recursive --configfile pyproject.toml .") if "test" in COMMAND_LINE_TARGETS or "tests" in COMMAND_LINE_TARGETS: - _exec(f"python -m pytest {_TEST_SUBJECT}") + # Running tests via coverage to only report when asking for coverage + _exec(f"coverage run --module pytest {_TEST_SUBJECT}") if "coverage" in COMMAND_LINE_TARGETS: - _exec(f"coverage run -m pytest {_TEST_SUBJECT}") - _exec("coverage report -m") + if "test" in COMMAND_LINE_TARGETS or "tests" in COMMAND_LINE_TARGETS: + print("Reusing test output from the tests just run.") + else: + print("Need to run the tests first.") + _exec(f"coverage run --module pytest {_TEST_SUBJECT}") + + _exec("coverage report --show-missing") + +if "license" in COMMAND_LINE_TARGETS or "licence" in COMMAND_LINE_TARGETS: + _exec("reuse lint") if not _target_found: print(f"No valid target in {COMMAND_LINE_TARGETS}. Look at SConstruct.py for what is allowed.") diff --git a/examples/custom_attributes.py b/examples/custom_attributes.py new file mode 100644 index 00000000..bdb0bfe4 --- /dev/null +++ b/examples/custom_attributes.py @@ -0,0 +1,55 @@ +# SPDX-FileCopyrightText: 2023 Alliander +# +# SPDX-License-Identifier: Apache-2.0 + +import json +from functools import cached_property + +from pydantic import Field +from pydantic.dataclasses import dataclass + +from pycgmes.resources.ACLineSegment import ACLineSegment +from pycgmes.utils.profile import BaseProfile, Profile + + +class CustomProfile(BaseProfile): + MYOWN = 100 + + +@dataclass +class CustomAttribute(ACLineSegment): + colour: str = Field( + default="Red", + in_profiles=[ + CustomProfile.MYOWN, + ], + namespace="custom for colour", + ) + + structure: str = Field( + default="chewy", + in_profiles=[ + CustomProfile.MYOWN, + ], + # No namespace defined, it will use the class namespace. + ) + + @classmethod + def apparent_name(cls): + return cls.__base__.__name__ + + @cached_property + def namespace(self) -> str: + return "custom from class" + + +if __name__ == "__main__": + my_resource = CustomAttribute(colour="red") + + print("Attributes in profile MYOWN:") + print( + json.dumps( + {qualname: attr for qualname, attr in my_resource.cgmes_attributes_in_profile(CustomProfile.MYOWN).items()}, + indent=2, + ) + ) diff --git a/poetry.lock b/poetry.lock index 5e9bc240..fc993a47 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2,22 +2,17 @@ [[package]] name = "astroid" -version = "2.15.6" +version = "3.0.0" description = "An abstract syntax tree for Python with inference support." optional = false -python-versions = ">=3.7.2" +python-versions = ">=3.8.0" files = [ - {file = "astroid-2.15.6-py3-none-any.whl", hash = "sha256:389656ca57b6108f939cf5d2f9a2a825a3be50ba9d589670f393236e0a03b91c"}, - {file = "astroid-2.15.6.tar.gz", hash = "sha256:903f024859b7c7687d7a7f3a3f73b17301f8e42dfd9cc9df9d4418172d3e2dbd"}, + {file = "astroid-3.0.0-py3-none-any.whl", hash = "sha256:f2510e7fdcd6cfda4ec50014726d4857abf79acfc010084ce8c26091913f1b25"}, + {file = "astroid-3.0.0.tar.gz", hash = "sha256:1defdbca052635dd29657ea674edfc45e4b5be9cd53630c5b084fcfed94344a8"}, ] [package.dependencies] -lazy-object-proxy = ">=1.4.0" typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} -wrapt = [ - {version = ">=1.11,<2", markers = "python_version < \"3.11\""}, - {version = ">=1.14,<2", markers = "python_version >= \"3.11\""}, -] [[package]] name = "attrs" @@ -77,33 +72,33 @@ chardet = ">=3.0.2" [[package]] name = "black" -version = "23.7.0" +version = "23.9.1" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" files = [ - {file = "black-23.7.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:5c4bc552ab52f6c1c506ccae05681fab58c3f72d59ae6e6639e8885e94fe2587"}, - {file = "black-23.7.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:552513d5cd5694590d7ef6f46e1767a4df9af168d449ff767b13b084c020e63f"}, - {file = "black-23.7.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:86cee259349b4448adb4ef9b204bb4467aae74a386bce85d56ba4f5dc0da27be"}, - {file = "black-23.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:501387a9edcb75d7ae8a4412bb8749900386eaef258f1aefab18adddea1936bc"}, - {file = "black-23.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:fb074d8b213749fa1d077d630db0d5f8cc3b2ae63587ad4116e8a436e9bbe995"}, - {file = "black-23.7.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:b5b0ee6d96b345a8b420100b7d71ebfdd19fab5e8301aff48ec270042cd40ac2"}, - {file = "black-23.7.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:893695a76b140881531062d48476ebe4a48f5d1e9388177e175d76234ca247cd"}, - {file = "black-23.7.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:c333286dc3ddca6fdff74670b911cccedacb4ef0a60b34e491b8a67c833b343a"}, - {file = "black-23.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:831d8f54c3a8c8cf55f64d0422ee875eecac26f5f649fb6c1df65316b67c8926"}, - {file = "black-23.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:7f3bf2dec7d541b4619b8ce526bda74a6b0bffc480a163fed32eb8b3c9aed8ad"}, - {file = "black-23.7.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:f9062af71c59c004cd519e2fb8f5d25d39e46d3af011b41ab43b9c74e27e236f"}, - {file = "black-23.7.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:01ede61aac8c154b55f35301fac3e730baf0c9cf8120f65a9cd61a81cfb4a0c3"}, - {file = "black-23.7.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:327a8c2550ddc573b51e2c352adb88143464bb9d92c10416feb86b0f5aee5ff6"}, - {file = "black-23.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d1c6022b86f83b632d06f2b02774134def5d4d4f1dac8bef16d90cda18ba28a"}, - {file = "black-23.7.0-cp38-cp38-win_amd64.whl", hash = "sha256:27eb7a0c71604d5de083757fbdb245b1a4fae60e9596514c6ec497eb63f95320"}, - {file = "black-23.7.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:8417dbd2f57b5701492cd46edcecc4f9208dc75529bcf76c514864e48da867d9"}, - {file = "black-23.7.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:47e56d83aad53ca140da0af87678fb38e44fd6bc0af71eebab2d1f59b1acf1d3"}, - {file = "black-23.7.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:25cc308838fe71f7065df53aedd20327969d05671bac95b38fdf37ebe70ac087"}, - {file = "black-23.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:642496b675095d423f9b8448243336f8ec71c9d4d57ec17bf795b67f08132a91"}, - {file = "black-23.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:ad0014efc7acf0bd745792bd0d8857413652979200ab924fbf239062adc12491"}, - {file = "black-23.7.0-py3-none-any.whl", hash = "sha256:9fd59d418c60c0348505f2ddf9609c1e1de8e7493eab96198fc89d9f865e7a96"}, - {file = "black-23.7.0.tar.gz", hash = "sha256:022a582720b0d9480ed82576c920a8c1dde97cc38ff11d8d8859b3bd6ca9eedb"}, + {file = "black-23.9.1-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:d6bc09188020c9ac2555a498949401ab35bb6bf76d4e0f8ee251694664df6301"}, + {file = "black-23.9.1-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:13ef033794029b85dfea8032c9d3b92b42b526f1ff4bf13b2182ce4e917f5100"}, + {file = "black-23.9.1-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:75a2dc41b183d4872d3a500d2b9c9016e67ed95738a3624f4751a0cb4818fe71"}, + {file = "black-23.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13a2e4a93bb8ca74a749b6974925c27219bb3df4d42fc45e948a5d9feb5122b7"}, + {file = "black-23.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:adc3e4442eef57f99b5590b245a328aad19c99552e0bdc7f0b04db6656debd80"}, + {file = "black-23.9.1-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:8431445bf62d2a914b541da7ab3e2b4f3bc052d2ccbf157ebad18ea126efb91f"}, + {file = "black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:8fc1ddcf83f996247505db6b715294eba56ea9372e107fd54963c7553f2b6dfe"}, + {file = "black-23.9.1-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:7d30ec46de88091e4316b17ae58bbbfc12b2de05e069030f6b747dfc649ad186"}, + {file = "black-23.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:031e8c69f3d3b09e1aa471a926a1eeb0b9071f80b17689a655f7885ac9325a6f"}, + {file = "black-23.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:538efb451cd50f43aba394e9ec7ad55a37598faae3348d723b59ea8e91616300"}, + {file = "black-23.9.1-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:638619a559280de0c2aa4d76f504891c9860bb8fa214267358f0a20f27c12948"}, + {file = "black-23.9.1-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:a732b82747235e0542c03bf352c126052c0fbc458d8a239a94701175b17d4855"}, + {file = "black-23.9.1-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:cf3a4d00e4cdb6734b64bf23cd4341421e8953615cba6b3670453737a72ec204"}, + {file = "black-23.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf99f3de8b3273a8317681d8194ea222f10e0133a24a7548c73ce44ea1679377"}, + {file = "black-23.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:14f04c990259576acd093871e7e9b14918eb28f1866f91968ff5524293f9c573"}, + {file = "black-23.9.1-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:c619f063c2d68f19b2d7270f4cf3192cb81c9ec5bc5ba02df91471d0b88c4c5c"}, + {file = "black-23.9.1-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:6a3b50e4b93f43b34a9d3ef00d9b6728b4a722c997c99ab09102fd5efdb88325"}, + {file = "black-23.9.1-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:c46767e8df1b7beefb0899c4a95fb43058fa8500b6db144f4ff3ca38eb2f6393"}, + {file = "black-23.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50254ebfa56aa46a9fdd5d651f9637485068a1adf42270148cd101cdf56e0ad9"}, + {file = "black-23.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:403397c033adbc45c2bd41747da1f7fc7eaa44efbee256b53842470d4ac5a70f"}, + {file = "black-23.9.1-py3-none-any.whl", hash = "sha256:6ccd59584cc834b6d127628713e4b6b968e5f79572da66284532525a042549f9"}, + {file = "black-23.9.1.tar.gz", hash = "sha256:24b6b3ff5c6d9ea08a8888f6977eae858e1f340d7260cf56d70a49823236b62d"}, ] [package.dependencies] @@ -113,6 +108,7 @@ packaging = ">=22.0" pathspec = ">=0.9.0" platformdirs = ">=2" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] @@ -188,75 +184,63 @@ files = [ [[package]] name = "cffi" -version = "1.15.1" +version = "1.16.0" description = "Foreign Function Interface for Python calling C code." optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, - {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, - {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, - {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, - {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, - {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, - {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, - {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, - {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, - {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, - {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, - {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, - {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, - {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, - {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, - {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, - {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, - {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, - {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, + {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, + {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, + {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, + {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, + {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, + {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, + {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, + {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, + {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, + {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, + {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, + {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, + {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, ] [package.dependencies] @@ -275,86 +259,101 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.2.0" +version = "3.3.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, - {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, + {file = "charset-normalizer-3.3.0.tar.gz", hash = "sha256:63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:effe5406c9bd748a871dbcaf3ac69167c38d72db8c9baf3ff954c344f31c4cbe"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4162918ef3098851fcd8a628bf9b6a98d10c380725df9e04caf5ca6dd48c847a"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0570d21da019941634a531444364f2482e8db0b3425fcd5ac0c36565a64142c8"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5707a746c6083a3a74b46b3a631d78d129edab06195a92a8ece755aac25a3f3d"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:278c296c6f96fa686d74eb449ea1697f3c03dc28b75f873b65b5201806346a69"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a4b71f4d1765639372a3b32d2638197f5cd5221b19531f9245fcc9ee62d38f56"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5969baeaea61c97efa706b9b107dcba02784b1601c74ac84f2a532ea079403e"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3f93dab657839dfa61025056606600a11d0b696d79386f974e459a3fbc568ec"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:db756e48f9c5c607b5e33dd36b1d5872d0422e960145b08ab0ec7fd420e9d649"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:232ac332403e37e4a03d209a3f92ed9071f7d3dbda70e2a5e9cff1c4ba9f0678"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e5c1502d4ace69a179305abb3f0bb6141cbe4714bc9b31d427329a95acfc8bdd"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:2502dd2a736c879c0f0d3e2161e74d9907231e25d35794584b1ca5284e43f596"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23e8565ab7ff33218530bc817922fae827420f143479b753104ab801145b1d5b"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-win32.whl", hash = "sha256:1872d01ac8c618a8da634e232f24793883d6e456a66593135aeafe3784b0848d"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:557b21a44ceac6c6b9773bc65aa1b4cc3e248a5ad2f5b914b91579a32e22204d"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d7eff0f27edc5afa9e405f7165f85a6d782d308f3b6b9d96016c010597958e63"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a685067d05e46641d5d1623d7c7fdf15a357546cbb2f71b0ebde91b175ffc3e"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0d3d5b7db9ed8a2b11a774db2bbea7ba1884430a205dbd54a32d61d7c2a190fa"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2935ffc78db9645cb2086c2f8f4cfd23d9b73cc0dc80334bc30aac6f03f68f8c"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fe359b2e3a7729010060fbca442ca225280c16e923b37db0e955ac2a2b72a05"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:380c4bde80bce25c6e4f77b19386f5ec9db230df9f2f2ac1e5ad7af2caa70459"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0d1e3732768fecb052d90d62b220af62ead5748ac51ef61e7b32c266cac9293"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b2919306936ac6efb3aed1fbf81039f7087ddadb3160882a57ee2ff74fd2382"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f8888e31e3a85943743f8fc15e71536bda1c81d5aa36d014a3c0c44481d7db6e"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:82eb849f085624f6a607538ee7b83a6d8126df6d2f7d3b319cb837b289123078"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7b8b8bf1189b3ba9b8de5c8db4d541b406611a71a955bbbd7385bbc45fcb786c"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5adf257bd58c1b8632046bbe43ee38c04e1038e9d37de9c57a94d6bd6ce5da34"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c350354efb159b8767a6244c166f66e67506e06c8924ed74669b2c70bc8735b1"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-win32.whl", hash = "sha256:02af06682e3590ab952599fbadac535ede5d60d78848e555aa58d0c0abbde786"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86d1f65ac145e2c9ed71d8ffb1905e9bba3a91ae29ba55b4c46ae6fc31d7c0d4"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3b447982ad46348c02cb90d230b75ac34e9886273df3a93eec0539308a6296d7"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:abf0d9f45ea5fb95051c8bfe43cb40cda383772f7e5023a83cc481ca2604d74e"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b09719a17a2301178fac4470d54b1680b18a5048b481cb8890e1ef820cb80455"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3d9b48ee6e3967b7901c052b670c7dda6deb812c309439adaffdec55c6d7b78"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:edfe077ab09442d4ef3c52cb1f9dab89bff02f4524afc0acf2d46be17dc479f5"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3debd1150027933210c2fc321527c2299118aa929c2f5a0a80ab6953e3bd1908"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86f63face3a527284f7bb8a9d4f78988e3c06823f7bea2bd6f0e0e9298ca0403"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:24817cb02cbef7cd499f7c9a2735286b4782bd47a5b3516a0e84c50eab44b98e"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c71f16da1ed8949774ef79f4a0260d28b83b3a50c6576f8f4f0288d109777989"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9cf3126b85822c4e53aa28c7ec9869b924d6fcfb76e77a45c44b83d91afd74f9"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:b3b2316b25644b23b54a6f6401074cebcecd1244c0b8e80111c9a3f1c8e83d65"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:03680bb39035fbcffe828eae9c3f8afc0428c91d38e7d61aa992ef7a59fb120e"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4cc152c5dd831641e995764f9f0b6589519f6f5123258ccaca8c6d34572fefa8"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-win32.whl", hash = "sha256:b8f3307af845803fb0b060ab76cf6dd3a13adc15b6b451f54281d25911eb92df"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8eaf82f0eccd1505cf39a45a6bd0a8cf1c70dcfc30dba338207a969d91b965c0"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dc45229747b67ffc441b3de2f3ae5e62877a282ea828a5bdb67883c4ee4a8810"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4a0033ce9a76e391542c182f0d48d084855b5fcba5010f707c8e8c34663d77"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ada214c6fa40f8d800e575de6b91a40d0548139e5dc457d2ebb61470abf50186"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1121de0e9d6e6ca08289583d7491e7fcb18a439305b34a30b20d8215922d43c"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1063da2c85b95f2d1a430f1c33b55c9c17ffaf5e612e10aeaad641c55a9e2b9d"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70f1d09c0d7748b73290b29219e854b3207aea922f839437870d8cc2168e31cc"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:250c9eb0f4600361dd80d46112213dff2286231d92d3e52af1e5a6083d10cad9"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:750b446b2ffce1739e8578576092179160f6d26bd5e23eb1789c4d64d5af7dc7"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:fc52b79d83a3fe3a360902d3f5d79073a993597d48114c29485e9431092905d8"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:588245972aca710b5b68802c8cad9edaa98589b1b42ad2b53accd6910dad3545"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e39c7eb31e3f5b1f88caff88bcff1b7f8334975b46f6ac6e9fc725d829bc35d4"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-win32.whl", hash = "sha256:abecce40dfebbfa6abf8e324e1860092eeca6f7375c8c4e655a8afb61af58f2c"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:24a91a981f185721542a0b7c92e9054b7ab4fea0508a795846bc5b0abf8118d4"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:67b8cc9574bb518ec76dc8e705d4c39ae78bb96237cb533edac149352c1f39fe"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac71b2977fb90c35d41c9453116e283fac47bb9096ad917b8819ca8b943abecd"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3ae38d325b512f63f8da31f826e6cb6c367336f95e418137286ba362925c877e"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:542da1178c1c6af8873e143910e2269add130a299c9106eef2594e15dae5e482"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30a85aed0b864ac88309b7d94be09f6046c834ef60762a8833b660139cfbad13"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aae32c93e0f64469f74ccc730a7cb21c7610af3a775157e50bbd38f816536b38"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b26ddf78d57f1d143bdf32e820fd8935d36abe8a25eb9ec0b5a71c82eb3895"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f5d10bae5d78e4551b7be7a9b29643a95aded9d0f602aa2ba584f0388e7a557"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:249c6470a2b60935bafd1d1d13cd613f8cd8388d53461c67397ee6a0f5dce741"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c5a74c359b2d47d26cdbbc7845e9662d6b08a1e915eb015d044729e92e7050b7"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:b5bcf60a228acae568e9911f410f9d9e0d43197d030ae5799e20dca8df588287"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:187d18082694a29005ba2944c882344b6748d5be69e3a89bf3cc9d878e548d5a"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:81bf654678e575403736b85ba3a7867e31c2c30a69bc57fe88e3ace52fb17b89"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-win32.whl", hash = "sha256:85a32721ddde63c9df9ebb0d2045b9691d9750cb139c161c80e500d210f5e26e"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:468d2a840567b13a590e67dd276c570f8de00ed767ecc611994c301d0f8c014f"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e0fc42822278451bc13a2e8626cf2218ba570f27856b536e00cfa53099724828"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:09c77f964f351a7369cc343911e0df63e762e42bac24cd7d18525961c81754f4"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12ebea541c44fdc88ccb794a13fe861cc5e35d64ed689513a5c03d05b53b7c82"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:805dfea4ca10411a5296bcc75638017215a93ffb584c9e344731eef0dcfb026a"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:96c2b49eb6a72c0e4991d62406e365d87067ca14c1a729a870d22354e6f68115"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aaf7b34c5bc56b38c931a54f7952f1ff0ae77a2e82496583b247f7c969eb1479"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:619d1c96099be5823db34fe89e2582b336b5b074a7f47f819d6b3a57ff7bdb86"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0ac5e7015a5920cfce654c06618ec40c33e12801711da6b4258af59a8eff00a"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:93aa7eef6ee71c629b51ef873991d6911b906d7312c6e8e99790c0f33c576f89"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7966951325782121e67c81299a031f4c115615e68046f79b85856b86ebffc4cd"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:02673e456dc5ab13659f85196c534dc596d4ef260e4d86e856c3b2773ce09843"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:c2af80fb58f0f24b3f3adcb9148e6203fa67dd3f61c4af146ecad033024dde43"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:153e7b6e724761741e0974fc4dcd406d35ba70b92bfe3fedcb497226c93b9da7"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-win32.whl", hash = "sha256:d47ecf253780c90ee181d4d871cd655a789da937454045b17b5798da9393901a"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:d97d85fa63f315a8bdaba2af9a6a686e0eceab77b3089af45133252618e70884"}, + {file = "charset_normalizer-3.3.0-py3-none-any.whl", hash = "sha256:e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2"}, ] [[package]] @@ -455,65 +454,136 @@ mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.2.0)", "types-Pill test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] test-no-images = ["pytest", "pytest-cov", "wurlitzer"] +[[package]] +name = "contourpy" +version = "1.1.1" +description = "Python library for calculating contours of 2D quadrilateral grids" +optional = false +python-versions = ">=3.8" +files = [ + {file = "contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b"}, + {file = "contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d"}, + {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a66045af6cf00e19d02191ab578a50cb93b2028c3eefed999793698e9ea768ae"}, + {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ebf42695f75ee1a952f98ce9775c873e4971732a87334b099dde90b6af6a916"}, + {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6aec19457617ef468ff091669cca01fa7ea557b12b59a7908b9474bb9674cf0"}, + {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:462c59914dc6d81e0b11f37e560b8a7c2dbab6aca4f38be31519d442d6cde1a1"}, + {file = "contourpy-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6d0a8efc258659edc5299f9ef32d8d81de8b53b45d67bf4bfa3067f31366764d"}, + {file = "contourpy-1.1.1-cp310-cp310-win32.whl", hash = "sha256:d6ab42f223e58b7dac1bb0af32194a7b9311065583cc75ff59dcf301afd8a431"}, + {file = "contourpy-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:549174b0713d49871c6dee90a4b499d3f12f5e5f69641cd23c50a4542e2ca1eb"}, + {file = "contourpy-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:407d864db716a067cc696d61fa1ef6637fedf03606e8417fe2aeed20a061e6b2"}, + {file = "contourpy-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe80c017973e6a4c367e037cb31601044dd55e6bfacd57370674867d15a899b"}, + {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e30aaf2b8a2bac57eb7e1650df1b3a4130e8d0c66fc2f861039d507a11760e1b"}, + {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3de23ca4f381c3770dee6d10ead6fff524d540c0f662e763ad1530bde5112532"}, + {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:566f0e41df06dfef2431defcfaa155f0acfa1ca4acbf8fd80895b1e7e2ada40e"}, + {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04c2f0adaf255bf756cf08ebef1be132d3c7a06fe6f9877d55640c5e60c72c5"}, + {file = "contourpy-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d0c188ae66b772d9d61d43c6030500344c13e3f73a00d1dc241da896f379bb62"}, + {file = "contourpy-1.1.1-cp311-cp311-win32.whl", hash = "sha256:0683e1ae20dc038075d92e0e0148f09ffcefab120e57f6b4c9c0f477ec171f33"}, + {file = "contourpy-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:8636cd2fc5da0fb102a2504fa2c4bea3cbc149533b345d72cdf0e7a924decc45"}, + {file = "contourpy-1.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:560f1d68a33e89c62da5da4077ba98137a5e4d3a271b29f2f195d0fba2adcb6a"}, + {file = "contourpy-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24216552104ae8f3b34120ef84825400b16eb6133af2e27a190fdc13529f023e"}, + {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56de98a2fb23025882a18b60c7f0ea2d2d70bbbcfcf878f9067234b1c4818442"}, + {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:07d6f11dfaf80a84c97f1a5ba50d129d9303c5b4206f776e94037332e298dda8"}, + {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1eaac5257a8f8a047248d60e8f9315c6cff58f7803971170d952555ef6344a7"}, + {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19557fa407e70f20bfaba7d55b4d97b14f9480856c4fb65812e8a05fe1c6f9bf"}, + {file = "contourpy-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:081f3c0880712e40effc5f4c3b08feca6d064cb8cfbb372ca548105b86fd6c3d"}, + {file = "contourpy-1.1.1-cp312-cp312-win32.whl", hash = "sha256:059c3d2a94b930f4dafe8105bcdc1b21de99b30b51b5bce74c753686de858cb6"}, + {file = "contourpy-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f44d78b61740e4e8c71db1cf1fd56d9050a4747681c59ec1094750a658ceb970"}, + {file = "contourpy-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70e5a10f8093d228bb2b552beeb318b8928b8a94763ef03b858ef3612b29395d"}, + {file = "contourpy-1.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8394e652925a18ef0091115e3cc191fef350ab6dc3cc417f06da66bf98071ae9"}, + {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5bd5680f844c3ff0008523a71949a3ff5e4953eb7701b28760805bc9bcff217"}, + {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66544f853bfa85c0d07a68f6c648b2ec81dafd30f272565c37ab47a33b220684"}, + {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0c02b75acfea5cab07585d25069207e478d12309557f90a61b5a3b4f77f46ce"}, + {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41339b24471c58dc1499e56783fedc1afa4bb018bcd035cfb0ee2ad2a7501ef8"}, + {file = "contourpy-1.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f29fb0b3f1217dfe9362ec55440d0743fe868497359f2cf93293f4b2701b8251"}, + {file = "contourpy-1.1.1-cp38-cp38-win32.whl", hash = "sha256:f9dc7f933975367251c1b34da882c4f0e0b2e24bb35dc906d2f598a40b72bfc7"}, + {file = "contourpy-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:498e53573e8b94b1caeb9e62d7c2d053c263ebb6aa259c81050766beb50ff8d9"}, + {file = "contourpy-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ba42e3810999a0ddd0439e6e5dbf6d034055cdc72b7c5c839f37a7c274cb4eba"}, + {file = "contourpy-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c06e4c6e234fcc65435223c7b2a90f286b7f1b2733058bdf1345d218cc59e34"}, + {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca6fab080484e419528e98624fb5c4282148b847e3602dc8dbe0cb0669469887"}, + {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93df44ab351119d14cd1e6b52a5063d3336f0754b72736cc63db59307dabb718"}, + {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eafbef886566dc1047d7b3d4b14db0d5b7deb99638d8e1be4e23a7c7ac59ff0f"}, + {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efe0fab26d598e1ec07d72cf03eaeeba8e42b4ecf6b9ccb5a356fde60ff08b85"}, + {file = "contourpy-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f08e469821a5e4751c97fcd34bcb586bc243c39c2e39321822060ba902eac49e"}, + {file = "contourpy-1.1.1-cp39-cp39-win32.whl", hash = "sha256:bfc8a5e9238232a45ebc5cb3bfee71f1167064c8d382cadd6076f0d51cff1da0"}, + {file = "contourpy-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:c84fdf3da00c2827d634de4fcf17e3e067490c4aea82833625c4c8e6cdea0887"}, + {file = "contourpy-1.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:229a25f68046c5cf8067d6d6351c8b99e40da11b04d8416bf8d2b1d75922521e"}, + {file = "contourpy-1.1.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a10dab5ea1bd4401c9483450b5b0ba5416be799bbd50fc7a6cc5e2a15e03e8a3"}, + {file = "contourpy-1.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4f9147051cb8fdb29a51dc2482d792b3b23e50f8f57e3720ca2e3d438b7adf23"}, + {file = "contourpy-1.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a75cc163a5f4531a256f2c523bd80db509a49fc23721b36dd1ef2f60ff41c3cb"}, + {file = "contourpy-1.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b53d5769aa1f2d4ea407c65f2d1d08002952fac1d9e9d307aa2e1023554a163"}, + {file = "contourpy-1.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11b836b7dbfb74e049c302bbf74b4b8f6cb9d0b6ca1bf86cfa8ba144aedadd9c"}, + {file = "contourpy-1.1.1.tar.gz", hash = "sha256:96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab"}, +] + +[package.dependencies] +numpy = {version = ">=1.16,<2.0", markers = "python_version <= \"3.11\""} + +[package.extras] +bokeh = ["bokeh", "selenium"] +docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] +mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.4.1)", "types-Pillow"] +test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] +test-no-images = ["pytest", "pytest-cov", "wurlitzer"] + [[package]] name = "coverage" -version = "7.3.0" +version = "7.3.2" description = "Code coverage measurement for Python" optional = false python-versions = ">=3.8" files = [ - {file = "coverage-7.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:db76a1bcb51f02b2007adacbed4c88b6dee75342c37b05d1822815eed19edee5"}, - {file = "coverage-7.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c02cfa6c36144ab334d556989406837336c1d05215a9bdf44c0bc1d1ac1cb637"}, - {file = "coverage-7.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:477c9430ad5d1b80b07f3c12f7120eef40bfbf849e9e7859e53b9c93b922d2af"}, - {file = "coverage-7.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce2ee86ca75f9f96072295c5ebb4ef2a43cecf2870b0ca5e7a1cbdd929cf67e1"}, - {file = "coverage-7.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68d8a0426b49c053013e631c0cdc09b952d857efa8f68121746b339912d27a12"}, - {file = "coverage-7.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b3eb0c93e2ea6445b2173da48cb548364f8f65bf68f3d090404080d338e3a689"}, - {file = "coverage-7.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:90b6e2f0f66750c5a1178ffa9370dec6c508a8ca5265c42fbad3ccac210a7977"}, - {file = "coverage-7.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:96d7d761aea65b291a98c84e1250cd57b5b51726821a6f2f8df65db89363be51"}, - {file = "coverage-7.3.0-cp310-cp310-win32.whl", hash = "sha256:63c5b8ecbc3b3d5eb3a9d873dec60afc0cd5ff9d9f1c75981d8c31cfe4df8527"}, - {file = "coverage-7.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:97c44f4ee13bce914272589b6b41165bbb650e48fdb7bd5493a38bde8de730a1"}, - {file = "coverage-7.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:74c160285f2dfe0acf0f72d425f3e970b21b6de04157fc65adc9fd07ee44177f"}, - {file = "coverage-7.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b543302a3707245d454fc49b8ecd2c2d5982b50eb63f3535244fd79a4be0c99d"}, - {file = "coverage-7.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad0f87826c4ebd3ef484502e79b39614e9c03a5d1510cfb623f4a4a051edc6fd"}, - {file = "coverage-7.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:13c6cbbd5f31211d8fdb477f0f7b03438591bdd077054076eec362cf2207b4a7"}, - {file = "coverage-7.3.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fac440c43e9b479d1241fe9d768645e7ccec3fb65dc3a5f6e90675e75c3f3e3a"}, - {file = "coverage-7.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:3c9834d5e3df9d2aba0275c9f67989c590e05732439b3318fa37a725dff51e74"}, - {file = "coverage-7.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4c8e31cf29b60859876474034a83f59a14381af50cbe8a9dbaadbf70adc4b214"}, - {file = "coverage-7.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7a9baf8e230f9621f8e1d00c580394a0aa328fdac0df2b3f8384387c44083c0f"}, - {file = "coverage-7.3.0-cp311-cp311-win32.whl", hash = "sha256:ccc51713b5581e12f93ccb9c5e39e8b5d4b16776d584c0f5e9e4e63381356482"}, - {file = "coverage-7.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:887665f00ea4e488501ba755a0e3c2cfd6278e846ada3185f42d391ef95e7e70"}, - {file = "coverage-7.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d000a739f9feed900381605a12a61f7aaced6beae832719ae0d15058a1e81c1b"}, - {file = "coverage-7.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:59777652e245bb1e300e620ce2bef0d341945842e4eb888c23a7f1d9e143c446"}, - {file = "coverage-7.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9737bc49a9255d78da085fa04f628a310c2332b187cd49b958b0e494c125071"}, - {file = "coverage-7.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5247bab12f84a1d608213b96b8af0cbb30d090d705b6663ad794c2f2a5e5b9fe"}, - {file = "coverage-7.3.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2ac9a1de294773b9fa77447ab7e529cf4fe3910f6a0832816e5f3d538cfea9a"}, - {file = "coverage-7.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:85b7335c22455ec12444cec0d600533a238d6439d8d709d545158c1208483873"}, - {file = "coverage-7.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:36ce5d43a072a036f287029a55b5c6a0e9bd73db58961a273b6dc11a2c6eb9c2"}, - {file = "coverage-7.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:211a4576e984f96d9fce61766ffaed0115d5dab1419e4f63d6992b480c2bd60b"}, - {file = "coverage-7.3.0-cp312-cp312-win32.whl", hash = "sha256:56afbf41fa4a7b27f6635bc4289050ac3ab7951b8a821bca46f5b024500e6321"}, - {file = "coverage-7.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:7f297e0c1ae55300ff688568b04ff26b01c13dfbf4c9d2b7d0cb688ac60df479"}, - {file = "coverage-7.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac0dec90e7de0087d3d95fa0533e1d2d722dcc008bc7b60e1143402a04c117c1"}, - {file = "coverage-7.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:438856d3f8f1e27f8e79b5410ae56650732a0dcfa94e756df88c7e2d24851fcd"}, - {file = "coverage-7.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1084393c6bda8875c05e04fce5cfe1301a425f758eb012f010eab586f1f3905e"}, - {file = "coverage-7.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49ab200acf891e3dde19e5aa4b0f35d12d8b4bd805dc0be8792270c71bd56c54"}, - {file = "coverage-7.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a67e6bbe756ed458646e1ef2b0778591ed4d1fcd4b146fc3ba2feb1a7afd4254"}, - {file = "coverage-7.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8f39c49faf5344af36042b293ce05c0d9004270d811c7080610b3e713251c9b0"}, - {file = "coverage-7.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:7df91fb24c2edaabec4e0eee512ff3bc6ec20eb8dccac2e77001c1fe516c0c84"}, - {file = "coverage-7.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:34f9f0763d5fa3035a315b69b428fe9c34d4fc2f615262d6be3d3bf3882fb985"}, - {file = "coverage-7.3.0-cp38-cp38-win32.whl", hash = "sha256:bac329371d4c0d456e8d5f38a9b0816b446581b5f278474e416ea0c68c47dcd9"}, - {file = "coverage-7.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:b859128a093f135b556b4765658d5d2e758e1fae3e7cc2f8c10f26fe7005e543"}, - {file = "coverage-7.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed8d310afe013db1eedd37176d0839dc66c96bcfcce8f6607a73ffea2d6ba"}, - {file = "coverage-7.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61260ec93f99f2c2d93d264b564ba912bec502f679793c56f678ba5251f0393"}, - {file = "coverage-7.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97af9554a799bd7c58c0179cc8dbf14aa7ab50e1fd5fa73f90b9b7215874ba28"}, - {file = "coverage-7.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3558e5b574d62f9c46b76120a5c7c16c4612dc2644c3d48a9f4064a705eaee95"}, - {file = "coverage-7.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37d5576d35fcb765fca05654f66aa71e2808d4237d026e64ac8b397ffa66a56a"}, - {file = "coverage-7.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:07ea61bcb179f8f05ffd804d2732b09d23a1238642bf7e51dad62082b5019b34"}, - {file = "coverage-7.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:80501d1b2270d7e8daf1b64b895745c3e234289e00d5f0e30923e706f110334e"}, - {file = "coverage-7.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4eddd3153d02204f22aef0825409091a91bf2a20bce06fe0f638f5c19a85de54"}, - {file = "coverage-7.3.0-cp39-cp39-win32.whl", hash = "sha256:2d22172f938455c156e9af2612650f26cceea47dc86ca048fa4e0b2d21646ad3"}, - {file = "coverage-7.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:60f64e2007c9144375dd0f480a54d6070f00bb1a28f65c408370544091c9bc9e"}, - {file = "coverage-7.3.0-pp38.pp39.pp310-none-any.whl", hash = "sha256:5492a6ce3bdb15c6ad66cb68a0244854d9917478877a25671d70378bdc8562d0"}, - {file = "coverage-7.3.0.tar.gz", hash = "sha256:49dbb19cdcafc130f597d9e04a29d0a032ceedf729e41b181f51cd170e6ee865"}, + {file = "coverage-7.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d872145f3a3231a5f20fd48500274d7df222e291d90baa2026cc5152b7ce86bf"}, + {file = "coverage-7.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:310b3bb9c91ea66d59c53fa4989f57d2436e08f18fb2f421a1b0b6b8cc7fffda"}, + {file = "coverage-7.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f47d39359e2c3779c5331fc740cf4bce6d9d680a7b4b4ead97056a0ae07cb49a"}, + {file = "coverage-7.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa72dbaf2c2068404b9870d93436e6d23addd8bbe9295f49cbca83f6e278179c"}, + {file = "coverage-7.3.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:beaa5c1b4777f03fc63dfd2a6bd820f73f036bfb10e925fce067b00a340d0f3f"}, + {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:dbc1b46b92186cc8074fee9d9fbb97a9dd06c6cbbef391c2f59d80eabdf0faa6"}, + {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:315a989e861031334d7bee1f9113c8770472db2ac484e5b8c3173428360a9148"}, + {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d1bc430677773397f64a5c88cb522ea43175ff16f8bfcc89d467d974cb2274f9"}, + {file = "coverage-7.3.2-cp310-cp310-win32.whl", hash = "sha256:a889ae02f43aa45032afe364c8ae84ad3c54828c2faa44f3bfcafecb5c96b02f"}, + {file = "coverage-7.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c0ba320de3fb8c6ec16e0be17ee1d3d69adcda99406c43c0409cb5c41788a611"}, + {file = "coverage-7.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ac8c802fa29843a72d32ec56d0ca792ad15a302b28ca6203389afe21f8fa062c"}, + {file = "coverage-7.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:89a937174104339e3a3ffcf9f446c00e3a806c28b1841c63edb2b369310fd074"}, + {file = "coverage-7.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e267e9e2b574a176ddb983399dec325a80dbe161f1a32715c780b5d14b5f583a"}, + {file = "coverage-7.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2443cbda35df0d35dcfb9bf8f3c02c57c1d6111169e3c85fc1fcc05e0c9f39a3"}, + {file = "coverage-7.3.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4175e10cc8dda0265653e8714b3174430b07c1dca8957f4966cbd6c2b1b8065a"}, + {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1"}, + {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:5c913b556a116b8d5f6ef834038ba983834d887d82187c8f73dec21049abd65c"}, + {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1981f785239e4e39e6444c63a98da3a1db8e971cb9ceb50a945ba6296b43f312"}, + {file = "coverage-7.3.2-cp311-cp311-win32.whl", hash = "sha256:43668cabd5ca8258f5954f27a3aaf78757e6acf13c17604d89648ecc0cc66640"}, + {file = "coverage-7.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10c39c0452bf6e694511c901426d6b5ac005acc0f78ff265dbe36bf81f808a2"}, + {file = "coverage-7.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4cbae1051ab791debecc4a5dcc4a1ff45fc27b91b9aee165c8a27514dd160836"}, + {file = "coverage-7.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63"}, + {file = "coverage-7.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c7bba973ebee5e56fe9251300c00f1579652587a9f4a5ed8404b15a0471f216"}, + {file = "coverage-7.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe494faa90ce6381770746077243231e0b83ff3f17069d748f645617cefe19d4"}, + {file = "coverage-7.3.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6e9589bd04d0461a417562649522575d8752904d35c12907d8c9dfeba588faf"}, + {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d51ac2a26f71da1b57f2dc81d0e108b6ab177e7d30e774db90675467c847bbdf"}, + {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:99b89d9f76070237975b315b3d5f4d6956ae354a4c92ac2388a5695516e47c84"}, + {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fa28e909776dc69efb6ed975a63691bc8172b64ff357e663a1bb06ff3c9b589a"}, + {file = "coverage-7.3.2-cp312-cp312-win32.whl", hash = "sha256:289fe43bf45a575e3ab10b26d7b6f2ddb9ee2dba447499f5401cfb5ecb8196bb"}, + {file = "coverage-7.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:7dbc3ed60e8659bc59b6b304b43ff9c3ed858da2839c78b804973f613d3e92ed"}, + {file = "coverage-7.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f94b734214ea6a36fe16e96a70d941af80ff3bfd716c141300d95ebc85339738"}, + {file = "coverage-7.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:af3d828d2c1cbae52d34bdbb22fcd94d1ce715d95f1a012354a75e5913f1bda2"}, + {file = "coverage-7.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:630b13e3036e13c7adc480ca42fa7afc2a5d938081d28e20903cf7fd687872e2"}, + {file = "coverage-7.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9eacf273e885b02a0273bb3a2170f30e2d53a6d53b72dbe02d6701b5296101c"}, + {file = "coverage-7.3.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8f17966e861ff97305e0801134e69db33b143bbfb36436efb9cfff6ec7b2fd9"}, + {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b4275802d16882cf9c8b3d057a0839acb07ee9379fa2749eca54efbce1535b82"}, + {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:72c0cfa5250f483181e677ebc97133ea1ab3eb68645e494775deb6a7f6f83901"}, + {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:cb536f0dcd14149425996821a168f6e269d7dcd2c273a8bff8201e79f5104e76"}, + {file = "coverage-7.3.2-cp38-cp38-win32.whl", hash = "sha256:307adb8bd3abe389a471e649038a71b4eb13bfd6b7dd9a129fa856f5c695cf92"}, + {file = "coverage-7.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:88ed2c30a49ea81ea3b7f172e0269c182a44c236eb394718f976239892c0a27a"}, + {file = "coverage-7.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b631c92dfe601adf8f5ebc7fc13ced6bb6e9609b19d9a8cd59fa47c4186ad1ce"}, + {file = "coverage-7.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d3d9df4051c4a7d13036524b66ecf7a7537d14c18a384043f30a303b146164e9"}, + {file = "coverage-7.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f7363d3b6a1119ef05015959ca24a9afc0ea8a02c687fe7e2d557705375c01f"}, + {file = "coverage-7.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f11cc3c967a09d3695d2a6f03fb3e6236622b93be7a4b5dc09166a861be6d25"}, + {file = "coverage-7.3.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9"}, + {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3a4006916aa6fee7cd38db3bfc95aa9c54ebb4ffbfc47c677c8bba949ceba0a6"}, + {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9028a3871280110d6e1aa2df1afd5ef003bab5fb1ef421d6dc748ae1c8ef2ebc"}, + {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9f805d62aec8eb92bab5b61c0f07329275b6f41c97d80e847b03eb894f38d083"}, + {file = "coverage-7.3.2-cp39-cp39-win32.whl", hash = "sha256:d1c88ec1a7ff4ebca0219f5b1ef863451d828cccf889c173e1253aa84b1e07ce"}, + {file = "coverage-7.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b4767da59464bb593c07afceaddea61b154136300881844768037fd5e859353f"}, + {file = "coverage-7.3.2-pp38.pp39.pp310-none-any.whl", hash = "sha256:ae97af89f0fbf373400970c0a21eef5aa941ffeed90aee43650b81f7d7f47637"}, + {file = "coverage-7.3.2.tar.gz", hash = "sha256:be32ad29341b0170e795ca590e1c07e81fc061cb5b10c74ce7203491484404ef"}, ] [package.dependencies] @@ -535,34 +605,34 @@ files = [ [[package]] name = "cryptography" -version = "41.0.3" +version = "41.0.4" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:652627a055cb52a84f8c448185922241dd5217443ca194d5739b44612c5e6507"}, - {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8f09daa483aedea50d249ef98ed500569841d6498aa9c9f4b0531b9964658922"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fd871184321100fb400d759ad0cddddf284c4b696568204d281c902fc7b0d81"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84537453d57f55a50a5b6835622ee405816999a7113267739a1b4581f83535bd"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3fb248989b6363906827284cd20cca63bb1a757e0a2864d4c1682a985e3dca47"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:42cb413e01a5d36da9929baa9d70ca90d90b969269e5a12d39c1e0d475010116"}, - {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:aeb57c421b34af8f9fe830e1955bf493a86a7996cc1338fe41b30047d16e962c"}, - {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6af1c6387c531cd364b72c28daa29232162010d952ceb7e5ca8e2827526aceae"}, - {file = "cryptography-41.0.3-cp37-abi3-win32.whl", hash = "sha256:0d09fb5356f975974dbcb595ad2d178305e5050656affb7890a1583f5e02a306"}, - {file = "cryptography-41.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:a983e441a00a9d57a4d7c91b3116a37ae602907a7618b882c8013b5762e80574"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5259cb659aa43005eb55a0e4ff2c825ca111a0da1814202c64d28a985d33b087"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:67e120e9a577c64fe1f611e53b30b3e69744e5910ff3b6e97e935aeb96005858"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7efe8041897fe7a50863e51b77789b657a133c75c3b094e51b5e4b5cec7bf906"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce785cf81a7bdade534297ef9e490ddff800d956625020ab2ec2780a556c313e"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:57a51b89f954f216a81c9d057bf1a24e2f36e764a1ca9a501a6964eb4a6800dd"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c2f0d35703d61002a2bbdcf15548ebb701cfdd83cdc12471d2bae80878a4207"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:23c2d778cf829f7d0ae180600b17e9fceea3c2ef8b31a99e3c694cbbf3a24b84"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95dd7f261bb76948b52a5330ba5202b91a26fbac13ad0e9fc8a3ac04752058c7"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:41d7aa7cdfded09b3d73a47f429c298e80796c8e825ddfadc84c8a7f12df212d"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d0d651aa754ef58d75cec6edfbd21259d93810b73f6ec246436a21b7841908de"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ab8de0d091acbf778f74286f4989cf3d1528336af1b59f3e5d2ebca8b5fe49e1"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a74fbcdb2a0d46fe00504f571a2a540532f4c188e6ccf26f1f178480117b33c4"}, - {file = "cryptography-41.0.3.tar.gz", hash = "sha256:6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34"}, + {file = "cryptography-41.0.4-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:80907d3faa55dc5434a16579952ac6da800935cd98d14dbd62f6f042c7f5e839"}, + {file = "cryptography-41.0.4-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:35c00f637cd0b9d5b6c6bd11b6c3359194a8eba9c46d4e875a3660e3b400005f"}, + {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cecfefa17042941f94ab54f769c8ce0fe14beff2694e9ac684176a2535bf9714"}, + {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e40211b4923ba5a6dc9769eab704bdb3fbb58d56c5b336d30996c24fcf12aadb"}, + {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:23a25c09dfd0d9f28da2352503b23e086f8e78096b9fd585d1d14eca01613e13"}, + {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2ed09183922d66c4ec5fdaa59b4d14e105c084dd0febd27452de8f6f74704143"}, + {file = "cryptography-41.0.4-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:5a0f09cefded00e648a127048119f77bc2b2ec61e736660b5789e638f43cc397"}, + {file = "cryptography-41.0.4-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:9eeb77214afae972a00dee47382d2591abe77bdae166bda672fb1e24702a3860"}, + {file = "cryptography-41.0.4-cp37-abi3-win32.whl", hash = "sha256:3b224890962a2d7b57cf5eeb16ccaafba6083f7b811829f00476309bce2fe0fd"}, + {file = "cryptography-41.0.4-cp37-abi3-win_amd64.whl", hash = "sha256:c880eba5175f4307129784eca96f4e70b88e57aa3f680aeba3bab0e980b0f37d"}, + {file = "cryptography-41.0.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:004b6ccc95943f6a9ad3142cfabcc769d7ee38a3f60fb0dddbfb431f818c3a67"}, + {file = "cryptography-41.0.4-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:86defa8d248c3fa029da68ce61fe735432b047e32179883bdb1e79ed9bb8195e"}, + {file = "cryptography-41.0.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:37480760ae08065437e6573d14be973112c9e6dcaf5f11d00147ee74f37a3829"}, + {file = "cryptography-41.0.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b5f4dfe950ff0479f1f00eda09c18798d4f49b98f4e2006d644b3301682ebdca"}, + {file = "cryptography-41.0.4-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7e53db173370dea832190870e975a1e09c86a879b613948f09eb49324218c14d"}, + {file = "cryptography-41.0.4-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5b72205a360f3b6176485a333256b9bcd48700fc755fef51c8e7e67c4b63e3ac"}, + {file = "cryptography-41.0.4-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:93530900d14c37a46ce3d6c9e6fd35dbe5f5601bf6b3a5c325c7bffc030344d9"}, + {file = "cryptography-41.0.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:efc8ad4e6fc4f1752ebfb58aefece8b4e3c4cae940b0994d43649bdfce8d0d4f"}, + {file = "cryptography-41.0.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c3391bd8e6de35f6f1140e50aaeb3e2b3d6a9012536ca23ab0d9c35ec18c8a91"}, + {file = "cryptography-41.0.4-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:0d9409894f495d465fe6fda92cb70e8323e9648af912d5b9141d616df40a87b8"}, + {file = "cryptography-41.0.4-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8ac4f9ead4bbd0bc8ab2d318f97d85147167a488be0e08814a37eb2f439d5cf6"}, + {file = "cryptography-41.0.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:047c4603aeb4bbd8db2756e38f5b8bd7e94318c047cfe4efeb5d715e08b49311"}, + {file = "cryptography-41.0.4.tar.gz", hash = "sha256:7febc3094125fc126a7f6fb1f420d0da639f3f32cb15c8ff0dc3997c4549f51a"}, ] [package.dependencies] @@ -580,15 +650,19 @@ test-randomorder = ["pytest-randomly"] [[package]] name = "cycler" -version = "0.11.0" +version = "0.12.1" description = "Composable style cycles" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "cycler-0.11.0-py3-none-any.whl", hash = "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3"}, - {file = "cycler-0.11.0.tar.gz", hash = "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f"}, + {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"}, + {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, ] +[package.extras] +docs = ["ipython", "matplotlib", "numpydoc", "sphinx"] +tests = ["pytest", "pytest-cov", "pytest-xdist"] + [[package]] name = "dill" version = "0.3.7" @@ -616,67 +690,67 @@ files = [ [[package]] name = "dulwich" -version = "0.21.5" +version = "0.21.6" description = "Python Git Library" optional = false python-versions = ">=3.7" files = [ - {file = "dulwich-0.21.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8864719bc176cdd27847332a2059127e2f7bab7db2ff99a999873cb7fff54116"}, - {file = "dulwich-0.21.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3800cdc17d144c1f7e114972293bd6c46688f5bcc2c9228ed0537ded72394082"}, - {file = "dulwich-0.21.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e2f676bfed8146966fe934ee734969d7d81548fbd250a8308582973670a9dab1"}, - {file = "dulwich-0.21.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4db330fb59fe3b9d253bdf0e49a521739db83689520c4921ab1c5242aaf77b82"}, - {file = "dulwich-0.21.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e8f6d4f4f4d01dd1d3c968e486d4cd77f96f772da7265941bc506de0944ddb9"}, - {file = "dulwich-0.21.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:1cc0c9ba19ac1b2372598802bc9201a9c45e5d6f1f7a80ec40deeb10acc4e9ae"}, - {file = "dulwich-0.21.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:61e10242b5a7a82faa8996b2c76239cfb633620b02cdd2946e8af6e7eb31d651"}, - {file = "dulwich-0.21.5-cp310-cp310-win32.whl", hash = "sha256:7f357639b56146a396f48e5e0bc9bbaca3d6d51c8340bd825299272b588fff5f"}, - {file = "dulwich-0.21.5-cp310-cp310-win_amd64.whl", hash = "sha256:891d5c73e2b66d05dbb502e44f027dc0dbbd8f6198bc90dae348152e69d0befc"}, - {file = "dulwich-0.21.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:45d6198e804b539708b73a003419e48fb42ff2c3c6dd93f63f3b134dff6dd259"}, - {file = "dulwich-0.21.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c2a565d4e704d7f784cdf9637097141f6d47129c8fffc2fac699d57cb075a169"}, - {file = "dulwich-0.21.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:823091d6b6a1ea07dc4839c9752198fb39193213d103ac189c7669736be2eaff"}, - {file = "dulwich-0.21.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2c9931b657f2206abec0964ec2355ee2c1e04d05f8864e823ffa23c548c4548"}, - {file = "dulwich-0.21.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7dc358c2ee727322a09b7c6da43d47a1026049dbd3ad8d612eddca1f9074b298"}, - {file = "dulwich-0.21.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6155ab7388ee01c670f7c5d8003d4e133eebebc7085a856c007989f0ba921b36"}, - {file = "dulwich-0.21.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a605e10d72f90a39ea2e634fbfd80f866fc4df29a02ea6db52ae92e5fd4a2003"}, - {file = "dulwich-0.21.5-cp311-cp311-win32.whl", hash = "sha256:daa607370722c3dce99a0022397c141caefb5ed32032a4f72506f4817ea6405b"}, - {file = "dulwich-0.21.5-cp311-cp311-win_amd64.whl", hash = "sha256:5e56b2c1911c344527edb2bf1a4356e2fb7e086b1ba309666e1e5c2224cdca8a"}, - {file = "dulwich-0.21.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:85d3401d08b1ec78c7d58ae987c4bb7b768a438f3daa74aeb8372bebc7fb16fa"}, - {file = "dulwich-0.21.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90479608e49db93d8c9e4323bc0ec5496678b535446e29d8fd67dc5bbb5d51bf"}, - {file = "dulwich-0.21.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9a6bf99f57bcac4c77fc60a58f1b322c91cc4d8c65dc341f76bf402622f89cb"}, - {file = "dulwich-0.21.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3e68b162af2aae995355e7920f89d50d72b53d56021e5ac0a546d493b17cbf7e"}, - {file = "dulwich-0.21.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0ab86d6d42e385bf3438e70f3c9b16de68018bd88929379e3484c0ef7990bd3c"}, - {file = "dulwich-0.21.5-cp37-cp37m-win32.whl", hash = "sha256:f2eeca6d61366cf5ee8aef45bed4245a67d4c0f0d731dc2383eabb80fa695683"}, - {file = "dulwich-0.21.5-cp37-cp37m-win_amd64.whl", hash = "sha256:1b20a3656b48c941d49c536824e1e5278a695560e8de1a83b53a630143c4552e"}, - {file = "dulwich-0.21.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3932b5e17503b265a85f1eda77ede647681c3bab53bc9572955b6b282abd26ea"}, - {file = "dulwich-0.21.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6616132d219234580de88ceb85dd51480dc43b1bdc05887214b8dd9cfd4a9d40"}, - {file = "dulwich-0.21.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:eaf6c7fb6b13495c19c9aace88821c2ade3c8c55b4e216cd7cc55d3e3807d7fa"}, - {file = "dulwich-0.21.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be12a46f73023970125808a4a78f610c055373096c1ecea3280edee41613eba8"}, - {file = "dulwich-0.21.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baecef0d8b9199822c7912876a03a1af17833f6c0d461efb62decebd45897e49"}, - {file = "dulwich-0.21.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:82f632afb9c7c341a875d46aaa3e6c5e586c7a64ce36c9544fa400f7e4f29754"}, - {file = "dulwich-0.21.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82cdf482f8f51fcc965ffad66180b54a9abaea9b1e985a32e1acbfedf6e0e363"}, - {file = "dulwich-0.21.5-cp38-cp38-win32.whl", hash = "sha256:c8ded43dc0bd2e65420eb01e778034be5ca7f72e397a839167eda7dcb87c4248"}, - {file = "dulwich-0.21.5-cp38-cp38-win_amd64.whl", hash = "sha256:2aba0fdad2a19bd5bb3aad6882580cb33359c67b48412ccd4cfccd932012b35e"}, - {file = "dulwich-0.21.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:fd4ad079758514375f11469e081723ba8831ce4eaa1a64b41f06a3a866d5ac34"}, - {file = "dulwich-0.21.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7fe62685bf356bfb4d0738f84a3fcf0d1fc9e11fee152e488a20b8c66a52429e"}, - {file = "dulwich-0.21.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:aae448da7d80306dda4fc46292fed7efaa466294571ab3448be16714305076f1"}, - {file = "dulwich-0.21.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b24cb1fad0525dba4872e9381bc576ea2a6dcdf06b0ed98f8e953e3b1d719b89"}, - {file = "dulwich-0.21.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e39b7c2c9bda6acae83b25054650a8bb7e373e886e2334721d384e1479bf04b"}, - {file = "dulwich-0.21.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:26456dba39d1209fca17187db06967130e27eeecad2b3c2bbbe63467b0bf09d6"}, - {file = "dulwich-0.21.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:281310644e02e3aa6d76bcaffe2063b9031213c4916b5f1a6e68c25bdecfaba4"}, - {file = "dulwich-0.21.5-cp39-cp39-win32.whl", hash = "sha256:4814ca3209dabe0fe7719e9545fbdad7f8bb250c5a225964fe2a31069940c4cf"}, - {file = "dulwich-0.21.5-cp39-cp39-win_amd64.whl", hash = "sha256:c922a4573267486be0ef85216f2da103fb38075b8465dc0e90457843884e4860"}, - {file = "dulwich-0.21.5-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e52b20c4368171b7d32bd3ab0f1d2402e76ad4f2ea915ff9aa73bc9fa2b54d6d"}, - {file = "dulwich-0.21.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aeb736d777ee21f2117a90fc453ee181aa7eedb9e255b5ef07c51733f3fe5cb6"}, - {file = "dulwich-0.21.5-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e8a79c1ed7166f32ad21974fa98d11bf6fd74e94a47e754c777c320e01257c6"}, - {file = "dulwich-0.21.5-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:b943517e30bd651fbc275a892bb96774f3893d95fe5a4dedd84496a98eaaa8ab"}, - {file = "dulwich-0.21.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:32493a456358a3a6c15bbda07106fc3d4cc50834ee18bc7717968d18be59b223"}, - {file = "dulwich-0.21.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0aa44b812d978fc22a04531f5090c3c369d5facd03fa6e0501d460a661800c7f"}, - {file = "dulwich-0.21.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f46bcb6777e5f9f4af24a2bd029e88b77316269d24ce66be590e546a0d8f7b7"}, - {file = "dulwich-0.21.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:a917fd3b4493db3716da2260f16f6b18f68d46fbe491d851d154fc0c2d984ae4"}, - {file = "dulwich-0.21.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:684c52cff867d10c75a7238151ca307582b3d251bbcd6db9e9cffbc998ef804e"}, - {file = "dulwich-0.21.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9019189d7a8f7394df6a22cd5b484238c5776e42282ad5d6d6c626b4c5f43597"}, - {file = "dulwich-0.21.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:494024f74c2eef9988adb4352b3651ac1b6c0466176ec62b69d3d3672167ba68"}, - {file = "dulwich-0.21.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f9b6ac1b1c67fc6083c42b7b6cd3b211292c8a6517216c733caf23e8b103ab6d"}, - {file = "dulwich-0.21.5.tar.gz", hash = "sha256:70955e4e249ddda6e34a4636b90f74e931e558f993b17c52570fa6144b993103"}, + {file = "dulwich-0.21.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7f89bee4c97372e8aaf8ffaf5899f1bcd5184b5306d7eaf68738c1101ceba10e"}, + {file = "dulwich-0.21.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:847bb52562a211b596453a602e75739350c86d7edb846b5b1c46896a5c86b9bb"}, + {file = "dulwich-0.21.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4e09d0b4e985b371aa6728773781b19298d361a00772e20f98522868cf7edc6f"}, + {file = "dulwich-0.21.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dfb50b3915e223a97f50fbac0dbc298d5fffeaac004eeeb3d552c57fe38416f"}, + {file = "dulwich-0.21.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a64eca1601e79c16df78afe08da9ac9497b934cbc5765990ca7d89a4b87453d9"}, + {file = "dulwich-0.21.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:1fedd924763a5d640348db43a267a394aa80d551228ad45708e0b0cc2130bb62"}, + {file = "dulwich-0.21.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:edc21c3784dd9d9b85abd9fe53f81a884e2cdcc4e5e09ada17287420d64cfd46"}, + {file = "dulwich-0.21.6-cp310-cp310-win32.whl", hash = "sha256:daa3584beabfcf0da76df57535a23c80ff6d8ccde6ddbd23bdc79d317a0e20a7"}, + {file = "dulwich-0.21.6-cp310-cp310-win_amd64.whl", hash = "sha256:40623cc39a3f1634663d22d87f86e2e406cc8ff17ae7a3edc7fcf963c288992f"}, + {file = "dulwich-0.21.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e8ed878553f0b76facbb620b455fafa0943162fe8e386920717781e490444efa"}, + {file = "dulwich-0.21.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a89b19f4960e759915dbc23a4dd0abc067b55d8d65e9df50961b73091b87b81a"}, + {file = "dulwich-0.21.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:28acbd08d6b38720d99cc01da9dd307a2e0585e00436c95bcac6357b9a9a6f76"}, + {file = "dulwich-0.21.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2f2683e0598f7c7071ef08a0822f062d8744549a0d45f2c156741033b7e3d7d"}, + {file = "dulwich-0.21.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54342cf96fe8a44648505c65f23d18889595762003a168d67d7263df66143bd2"}, + {file = "dulwich-0.21.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:2a3fc071e5b14f164191286f7ffc02f60fe8b439d01fad0832697cc08c2237dd"}, + {file = "dulwich-0.21.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:32d7acfe3fe2ce4502446d8f7a5ab34cfd24c9ff8961e60337638410906a8fbb"}, + {file = "dulwich-0.21.6-cp311-cp311-win32.whl", hash = "sha256:5e58171a5d70f7910f73d25ff82a058edff09a4c1c3bd1de0dc6b1fbc9a42c3e"}, + {file = "dulwich-0.21.6-cp311-cp311-win_amd64.whl", hash = "sha256:ceabe8f96edfb9183034a860f5dc77586700b517457032867b64a03c44e5cf96"}, + {file = "dulwich-0.21.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4fdc2f081bc3e9e120079c2cea4be213e3f127335aca7c0ab0c19fe791270caa"}, + {file = "dulwich-0.21.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fe957564108f74325d0d042d85e0c67ef470921ca92b6e7d330c7c49a3b9c1d"}, + {file = "dulwich-0.21.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2912c8a845c8ccbc79d068a89db7172e355adeb84eb31f062cd3a406d528b30"}, + {file = "dulwich-0.21.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:81e237a6b1b20c79ef62ca19a8fb231f5519bab874b9a1c2acf9c05edcabd600"}, + {file = "dulwich-0.21.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:513d045e74307eeb31592255c38f37042c9aa68ce845a167943018ab5138b0e3"}, + {file = "dulwich-0.21.6-cp37-cp37m-win32.whl", hash = "sha256:e1ac882afa890ef993b8502647e6c6d2b3977ce56e3fe80058ce64607cbc7107"}, + {file = "dulwich-0.21.6-cp37-cp37m-win_amd64.whl", hash = "sha256:5d2ccf3d355850674f75655154a6519bf1f1664176c670109fa7041019b286f9"}, + {file = "dulwich-0.21.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:28c9724a167c84a83fc6238e0781f4702b5fe8c53ede31604525fb1a9d1833f4"}, + {file = "dulwich-0.21.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c816be529680659b6a19798287b4ec6de49040f58160d40b1b2934fd6c28e93f"}, + {file = "dulwich-0.21.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b0545f0fa9444a0eb84977d08e302e3f55fd7c34a0466ec28bedc3c839b2fc1f"}, + {file = "dulwich-0.21.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b1682e8e826471ea3c22b8521435e93799e3db8ad05dd3c8f9b1aaacfa78147"}, + {file = "dulwich-0.21.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24ad45928a65f39ea0f451f9989b7aaedba9893d48c3189b544a70c6a1043f71"}, + {file = "dulwich-0.21.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b1c9e55233f19cd19c484f607cd90ab578ac50ebfef607f77e3b35c2b6049470"}, + {file = "dulwich-0.21.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:18697b58e0fc5972de68b529b08ac9ddda3f39af27bcf3f6999635ed3da7ef68"}, + {file = "dulwich-0.21.6-cp38-cp38-win32.whl", hash = "sha256:22798e9ba59e32b8faff5d9067e2b5a308f6b0fba9b1e1e928571ad278e7b36c"}, + {file = "dulwich-0.21.6-cp38-cp38-win_amd64.whl", hash = "sha256:6c91e1ed20d3d9a6aaaed9e75adae37272b3fcbcc72bab1eb09574806da88563"}, + {file = "dulwich-0.21.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8b84450766a3b151c3676fec3e3ed76304e52a84d5d69ade0f34fff2782c1b41"}, + {file = "dulwich-0.21.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a3da632648ee27b64bb5b285a3a94fddf297a596891cca12ac0df43c4f59448f"}, + {file = "dulwich-0.21.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cef50c0a19f322b7150248b8fa0862ce1652dec657e340c4020573721e85f215"}, + {file = "dulwich-0.21.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ac20dfcfd6057efb8499158d23f2c059f933aefa381e192100e6d8bc25d562"}, + {file = "dulwich-0.21.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81d10aa50c0a9a6dd495990c639358e3a3bbff39e17ff302179be6e93b573da7"}, + {file = "dulwich-0.21.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a9b52a08d49731375662936d05a12c4a64a6fe0ce257111f62638e475fb5d26d"}, + {file = "dulwich-0.21.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ed2f1f638b9adfba862719693b371ffe5d58e94d552ace9a23dea0fb0db6f468"}, + {file = "dulwich-0.21.6-cp39-cp39-win32.whl", hash = "sha256:bf90f2f9328a82778cf85ab696e4a7926918c3f315c75fc432ba31346bfa89b7"}, + {file = "dulwich-0.21.6-cp39-cp39-win_amd64.whl", hash = "sha256:e0dee3840c3c72e1d60c8f87a7a715d8eac023b9e1b80199d97790f7a1c60d9c"}, + {file = "dulwich-0.21.6-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:32d3a35caad6879d04711b358b861142440a543f5f4e02df67b13cbcd57f84a6"}, + {file = "dulwich-0.21.6-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c04df87098053b7767b46fc04b7943d75443f91c73560ca50157cdc22e27a5d3"}, + {file = "dulwich-0.21.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e07f145c7b0d82a9f77d157f493a61900e913d1c1f8b1f40d07d919ffb0929a4"}, + {file = "dulwich-0.21.6-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:008ff08629ab16d3638a9f36cfc6f5bd74b4d594657f2dc1583d8d3201794571"}, + {file = "dulwich-0.21.6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bf469cd5076623c2aad69d01ce9d5392fcb38a5faef91abe1501be733453e37d"}, + {file = "dulwich-0.21.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6592ef2d16ac61a27022647cf64a048f5be6e0a6ab2ebc7322bfbe24fb2b971b"}, + {file = "dulwich-0.21.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99577b2b37f64bc87280079245fb2963494c345d7db355173ecec7ab3d64b949"}, + {file = "dulwich-0.21.6-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d7cd9fb896c65e4c28cb9332f2be192817805978dd8dc299681c4fe83c631158"}, + {file = "dulwich-0.21.6-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d9002094198e57e88fe77412d3aa64dd05978046ae725a16123ba621a7704628"}, + {file = "dulwich-0.21.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9b6f8a16f32190aa88c37ef013858b3e01964774bc983900bd0d74ecb6576e6"}, + {file = "dulwich-0.21.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eee8aba4dec4d0a52737a8a141f3456229c87dcfd7961f8115786a27b6ebefed"}, + {file = "dulwich-0.21.6-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a780e2a0ff208c4f218e72eff8d13f9aff485ff9a6f3066c22abe4ec8cec7dcd"}, + {file = "dulwich-0.21.6.tar.gz", hash = "sha256:30fbe87e8b51f3813c131e2841c86d007434d160bd16db586b40d47f31dd05b0"}, ] [package.dependencies] @@ -704,63 +778,69 @@ test = ["pytest (>=6)"] [[package]] name = "filelock" -version = "3.12.3" +version = "3.12.4" description = "A platform independent file lock." optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.12.3-py3-none-any.whl", hash = "sha256:f067e40ccc40f2b48395a80fcbd4728262fab54e232e090a4063ab804179efeb"}, - {file = "filelock-3.12.3.tar.gz", hash = "sha256:0ecc1dd2ec4672a10c8550a8182f1bd0c0a5088470ecd5a125e45f49472fac3d"}, + {file = "filelock-3.12.4-py3-none-any.whl", hash = "sha256:08c21d87ded6e2b9da6728c3dff51baf1dcecf973b768ef35bcbc3447edb9ad4"}, + {file = "filelock-3.12.4.tar.gz", hash = "sha256:2e6f249f1f3654291606e046b09f1fd5eac39b360664c27f5aad072012f8bcbd"}, ] -[package.dependencies] -typing-extensions = {version = ">=4.7.1", markers = "python_version < \"3.11\""} - [package.extras] docs = ["furo (>=2023.7.26)", "sphinx (>=7.1.2)", "sphinx-autodoc-typehints (>=1.24)"] testing = ["covdefaults (>=2.3)", "coverage (>=7.3)", "diff-cover (>=7.7)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "pytest-timeout (>=2.1)"] +typing = ["typing-extensions (>=4.7.1)"] [[package]] name = "fonttools" -version = "4.42.1" +version = "4.43.1" description = "Tools to manipulate font files" optional = false python-versions = ">=3.8" files = [ - {file = "fonttools-4.42.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ed1a13a27f59d1fc1920394a7f596792e9d546c9ca5a044419dca70c37815d7c"}, - {file = "fonttools-4.42.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c9b1ce7a45978b821a06d375b83763b27a3a5e8a2e4570b3065abad240a18760"}, - {file = "fonttools-4.42.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f720fa82a11c0f9042376fd509b5ed88dab7e3cd602eee63a1af08883b37342b"}, - {file = "fonttools-4.42.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db55cbaea02a20b49fefbd8e9d62bd481aaabe1f2301dabc575acc6b358874fa"}, - {file = "fonttools-4.42.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3a35981d90feebeaef05e46e33e6b9e5b5e618504672ca9cd0ff96b171e4bfff"}, - {file = "fonttools-4.42.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:68a02bbe020dc22ee0540e040117535f06df9358106d3775e8817d826047f3fd"}, - {file = "fonttools-4.42.1-cp310-cp310-win32.whl", hash = "sha256:12a7c247d1b946829bfa2f331107a629ea77dc5391dfd34fdcd78efa61f354ca"}, - {file = "fonttools-4.42.1-cp310-cp310-win_amd64.whl", hash = "sha256:a398bdadb055f8de69f62b0fc70625f7cbdab436bbb31eef5816e28cab083ee8"}, - {file = "fonttools-4.42.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:689508b918332fb40ce117131633647731d098b1b10d092234aa959b4251add5"}, - {file = "fonttools-4.42.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9e36344e48af3e3bde867a1ca54f97c308735dd8697005c2d24a86054a114a71"}, - {file = "fonttools-4.42.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19b7db825c8adee96fac0692e6e1ecd858cae9affb3b4812cdb9d934a898b29e"}, - {file = "fonttools-4.42.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:113337c2d29665839b7d90b39f99b3cac731f72a0eda9306165a305c7c31d341"}, - {file = "fonttools-4.42.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:37983b6bdab42c501202500a2be3a572f50d4efe3237e0686ee9d5f794d76b35"}, - {file = "fonttools-4.42.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6ed2662a3d9c832afa36405f8748c250be94ae5dfc5283d668308391f2102861"}, - {file = "fonttools-4.42.1-cp311-cp311-win32.whl", hash = "sha256:179737095eb98332a2744e8f12037b2977f22948cf23ff96656928923ddf560a"}, - {file = "fonttools-4.42.1-cp311-cp311-win_amd64.whl", hash = "sha256:f2b82f46917d8722e6b5eafeefb4fb585d23babd15d8246c664cd88a5bddd19c"}, - {file = "fonttools-4.42.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:62f481ac772fd68901573956231aea3e4b1ad87b9b1089a61613a91e2b50bb9b"}, - {file = "fonttools-4.42.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f2f806990160d1ce42d287aa419df3ffc42dfefe60d473695fb048355fe0c6a0"}, - {file = "fonttools-4.42.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db372213d39fa33af667c2aa586a0c1235e88e9c850f5dd5c8e1f17515861868"}, - {file = "fonttools-4.42.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d18fc642fd0ac29236ff88ecfccff229ec0386090a839dd3f1162e9a7944a40"}, - {file = "fonttools-4.42.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8708b98c278012ad267ee8a7433baeb809948855e81922878118464b274c909d"}, - {file = "fonttools-4.42.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c95b0724a6deea2c8c5d3222191783ced0a2f09bd6d33f93e563f6f1a4b3b3a4"}, - {file = "fonttools-4.42.1-cp38-cp38-win32.whl", hash = "sha256:4aa79366e442dbca6e2c8595645a3a605d9eeabdb7a094d745ed6106816bef5d"}, - {file = "fonttools-4.42.1-cp38-cp38-win_amd64.whl", hash = "sha256:acb47f6f8680de24c1ab65ebde39dd035768e2a9b571a07c7b8da95f6c8815fd"}, - {file = "fonttools-4.42.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5fb289b7a815638a7613d46bcf324c9106804725b2bb8ad913c12b6958ffc4ec"}, - {file = "fonttools-4.42.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:53eb5091ddc8b1199330bb7b4a8a2e7995ad5d43376cadce84523d8223ef3136"}, - {file = "fonttools-4.42.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46a0ec8adbc6ff13494eb0c9c2e643b6f009ce7320cf640de106fb614e4d4360"}, - {file = "fonttools-4.42.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cc7d685b8eeca7ae69dc6416833fbfea61660684b7089bca666067cb2937dcf"}, - {file = "fonttools-4.42.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:be24fcb80493b2c94eae21df70017351851652a37de514de553435b256b2f249"}, - {file = "fonttools-4.42.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:515607ec756d7865f23070682622c49d922901943697871fc292277cf1e71967"}, - {file = "fonttools-4.42.1-cp39-cp39-win32.whl", hash = "sha256:0eb79a2da5eb6457a6f8ab904838454accc7d4cccdaff1fd2bd3a0679ea33d64"}, - {file = "fonttools-4.42.1-cp39-cp39-win_amd64.whl", hash = "sha256:7286aed4ea271df9eab8d7a9b29e507094b51397812f7ce051ecd77915a6e26b"}, - {file = "fonttools-4.42.1-py3-none-any.whl", hash = "sha256:9398f244e28e0596e2ee6024f808b06060109e33ed38dcc9bded452fd9bbb853"}, - {file = "fonttools-4.42.1.tar.gz", hash = "sha256:c391cd5af88aacaf41dd7cfb96eeedfad297b5899a39e12f4c2c3706d0a3329d"}, + {file = "fonttools-4.43.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:bf11e2cca121df35e295bd34b309046c29476ee739753bc6bc9d5050de319273"}, + {file = "fonttools-4.43.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:10b3922875ffcba636674f406f9ab9a559564fdbaa253d66222019d569db869c"}, + {file = "fonttools-4.43.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f727c3e3d08fd25352ed76cc3cb61486f8ed3f46109edf39e5a60fc9fecf6ca"}, + {file = "fonttools-4.43.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad0b3f6342cfa14be996971ea2b28b125ad681c6277c4cd0fbdb50340220dfb6"}, + {file = "fonttools-4.43.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3b7ad05b2beeebafb86aa01982e9768d61c2232f16470f9d0d8e385798e37184"}, + {file = "fonttools-4.43.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4c54466f642d2116686268c3e5f35ebb10e49b0d48d41a847f0e171c785f7ac7"}, + {file = "fonttools-4.43.1-cp310-cp310-win32.whl", hash = "sha256:1e09da7e8519e336239fbd375156488a4c4945f11c4c5792ee086dd84f784d02"}, + {file = "fonttools-4.43.1-cp310-cp310-win_amd64.whl", hash = "sha256:1cf9e974f63b1080b1d2686180fc1fbfd3bfcfa3e1128695b5de337eb9075cef"}, + {file = "fonttools-4.43.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5db46659cfe4e321158de74c6f71617e65dc92e54980086823a207f1c1c0e24b"}, + {file = "fonttools-4.43.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1952c89a45caceedf2ab2506d9a95756e12b235c7182a7a0fff4f5e52227204f"}, + {file = "fonttools-4.43.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c36da88422e0270fbc7fd959dc9749d31a958506c1d000e16703c2fce43e3d0"}, + {file = "fonttools-4.43.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bbbf8174501285049e64d174e29f9578495e1b3b16c07c31910d55ad57683d8"}, + {file = "fonttools-4.43.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d4071bd1c183b8d0b368cc9ed3c07a0f6eb1bdfc4941c4c024c49a35429ac7cd"}, + {file = "fonttools-4.43.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d21099b411e2006d3c3e1f9aaf339e12037dbf7bf9337faf0e93ec915991f43b"}, + {file = "fonttools-4.43.1-cp311-cp311-win32.whl", hash = "sha256:b84a1c00f832feb9d0585ca8432fba104c819e42ff685fcce83537e2e7e91204"}, + {file = "fonttools-4.43.1-cp311-cp311-win_amd64.whl", hash = "sha256:9a2f0aa6ca7c9bc1058a9d0b35483d4216e0c1bbe3962bc62ce112749954c7b8"}, + {file = "fonttools-4.43.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4d9740e3783c748521e77d3c397dc0662062c88fd93600a3c2087d3d627cd5e5"}, + {file = "fonttools-4.43.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:884ef38a5a2fd47b0c1291647b15f4e88b9de5338ffa24ee52c77d52b4dfd09c"}, + {file = "fonttools-4.43.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9648518ef687ba818db3fcc5d9aae27a369253ac09a81ed25c3867e8657a0680"}, + {file = "fonttools-4.43.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95e974d70238fc2be5f444fa91f6347191d0e914d5d8ae002c9aa189572cc215"}, + {file = "fonttools-4.43.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:34f713dad41aa21c637b4e04fe507c36b986a40f7179dcc86402237e2d39dcd3"}, + {file = "fonttools-4.43.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:360201d46165fc0753229afe785900bc9596ee6974833124f4e5e9f98d0f592b"}, + {file = "fonttools-4.43.1-cp312-cp312-win32.whl", hash = "sha256:bb6d2f8ef81ea076877d76acfb6f9534a9c5f31dc94ba70ad001267ac3a8e56f"}, + {file = "fonttools-4.43.1-cp312-cp312-win_amd64.whl", hash = "sha256:25d3da8a01442cbc1106490eddb6d31d7dffb38c1edbfabbcc8db371b3386d72"}, + {file = "fonttools-4.43.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8da417431bfc9885a505e86ba706f03f598c85f5a9c54f67d63e84b9948ce590"}, + {file = "fonttools-4.43.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:51669b60ee2a4ad6c7fc17539a43ffffc8ef69fd5dbed186a38a79c0ac1f5db7"}, + {file = "fonttools-4.43.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748015d6f28f704e7d95cd3c808b483c5fb87fd3eefe172a9da54746ad56bfb6"}, + {file = "fonttools-4.43.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7a58eb5e736d7cf198eee94844b81c9573102ae5989ebcaa1d1a37acd04b33d"}, + {file = "fonttools-4.43.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6bb5ea9076e0e39defa2c325fc086593ae582088e91c0746bee7a5a197be3da0"}, + {file = "fonttools-4.43.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5f37e31291bf99a63328668bb83b0669f2688f329c4c0d80643acee6e63cd933"}, + {file = "fonttools-4.43.1-cp38-cp38-win32.whl", hash = "sha256:9c60ecfa62839f7184f741d0509b5c039d391c3aff71dc5bc57b87cc305cff3b"}, + {file = "fonttools-4.43.1-cp38-cp38-win_amd64.whl", hash = "sha256:fe9b1ec799b6086460a7480e0f55c447b1aca0a4eecc53e444f639e967348896"}, + {file = "fonttools-4.43.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13a9a185259ed144def3682f74fdcf6596f2294e56fe62dfd2be736674500dba"}, + {file = "fonttools-4.43.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2adca1b46d69dce4a37eecc096fe01a65d81a2f5c13b25ad54d5430ae430b13"}, + {file = "fonttools-4.43.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18eefac1b247049a3a44bcd6e8c8fd8b97f3cad6f728173b5d81dced12d6c477"}, + {file = "fonttools-4.43.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2062542a7565091cea4cc14dd99feff473268b5b8afdee564f7067dd9fff5860"}, + {file = "fonttools-4.43.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18a2477c62a728f4d6e88c45ee9ee0229405e7267d7d79ce1f5ce0f3e9f8ab86"}, + {file = "fonttools-4.43.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a7a06f8d95b7496e53af80d974d63516ffb263a468e614978f3899a6df52d4b3"}, + {file = "fonttools-4.43.1-cp39-cp39-win32.whl", hash = "sha256:10003ebd81fec0192c889e63a9c8c63f88c7d72ae0460b7ba0cd2a1db246e5ad"}, + {file = "fonttools-4.43.1-cp39-cp39-win_amd64.whl", hash = "sha256:e117a92b07407a061cde48158c03587ab97e74e7d73cb65e6aadb17af191162a"}, + {file = "fonttools-4.43.1-py3-none-any.whl", hash = "sha256:4f88cae635bfe4bbbdc29d479a297bb525a94889184bb69fa9560c2d4834ddb9"}, + {file = "fonttools-4.43.1.tar.gz", hash = "sha256:17dbc2eeafb38d5d0e865dcce16e313c58265a6d2d20081c435f84dc5a9d8212"}, ] [package.extras] @@ -793,18 +873,21 @@ smmap = ">=3.0.1,<6" [[package]] name = "gitpython" -version = "3.1.33" +version = "3.1.37" description = "GitPython is a Python library used to interact with Git repositories" optional = false python-versions = ">=3.7" files = [ - {file = "GitPython-3.1.33-py3-none-any.whl", hash = "sha256:11f22466f982211ad8f3bdb456c03be8466c71d4da8774f3a9f68344e89559cb"}, - {file = "GitPython-3.1.33.tar.gz", hash = "sha256:13aaa3dff88a23afec2d00eb3da3f2e040e2282e41de484c5791669b31146084"}, + {file = "GitPython-3.1.37-py3-none-any.whl", hash = "sha256:5f4c4187de49616d710a77e98ddf17b4782060a1788df441846bddefbb89ab33"}, + {file = "GitPython-3.1.37.tar.gz", hash = "sha256:f9b9ddc0761c125d5780eab2d64be4873fc6817c2899cbcb34b02344bdc7bc54"}, ] [package.dependencies] gitdb = ">=4.0.1,<5" +[package.extras] +test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mypy", "pre-commit", "pytest", "pytest-cov", "pytest-sugar"] + [[package]] name = "html5lib" version = "1.1" @@ -1114,51 +1197,6 @@ files = [ {file = "kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"}, ] -[[package]] -name = "lazy-object-proxy" -version = "1.9.0" -description = "A fast and thorough lazy object proxy." -optional = false -python-versions = ">=3.7" -files = [ - {file = "lazy-object-proxy-1.9.0.tar.gz", hash = "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:721532711daa7db0d8b779b0bb0318fa87af1c10d7fe5e52ef30f8eff254d0cd"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66a3de4a3ec06cd8af3f61b8e1ec67614fbb7c995d02fa224813cb7afefee701"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1aa3de4088c89a1b69f8ec0dcc169aa725b0ff017899ac568fe44ddc1396df46"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-win32.whl", hash = "sha256:f0705c376533ed2a9e5e97aacdbfe04cecd71e0aa84c7c0595d02ef93b6e4455"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:ea806fd4c37bf7e7ad82537b0757999264d5f70c45468447bb2b91afdbe73a6e"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:946d27deaff6cf8452ed0dba83ba38839a87f4f7a9732e8f9fd4107b21e6ff07"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79a31b086e7e68b24b99b23d57723ef7e2c6d81ed21007b6281ebcd1688acb0a"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f699ac1c768270c9e384e4cbd268d6e67aebcfae6cd623b4d7c3bfde5a35db59"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bfb38f9ffb53b942f2b5954e0f610f1e721ccebe9cce9025a38c8ccf4a5183a4"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:189bbd5d41ae7a498397287c408617fe5c48633e7755287b21d741f7db2706a9"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-win32.whl", hash = "sha256:81fc4d08b062b535d95c9ea70dbe8a335c45c04029878e62d744bdced5141586"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:f2457189d8257dd41ae9b434ba33298aec198e30adf2dcdaaa3a28b9994f6adb"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d9e25ef10a39e8afe59a5c348a4dbf29b4868ab76269f81ce1674494e2565a6e"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbf9b082426036e19c6924a9ce90c740a9861e2bdc27a4834fd0a910742ac1e8"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f5fa4a61ce2438267163891961cfd5e32ec97a2c444e5b842d574251ade27d2"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8fa02eaab317b1e9e03f69aab1f91e120e7899b392c4fc19807a8278a07a97e8"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e7c21c95cae3c05c14aafffe2865bbd5e377cfc1348c4f7751d9dc9a48ca4bda"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win32.whl", hash = "sha256:f12ad7126ae0c98d601a7ee504c1122bcef553d1d5e0c3bfa77b16b3968d2734"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:edd20c5a55acb67c7ed471fa2b5fb66cb17f61430b7a6b9c3b4a1e40293b1671"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0daa332786cf3bb49e10dc6a17a52f6a8f9601b4cf5c295a4f85854d61de63"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cd077f3d04a58e83d04b20e334f678c2b0ff9879b9375ed107d5d07ff160171"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:660c94ea760b3ce47d1855a30984c78327500493d396eac4dfd8bd82041b22be"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:212774e4dfa851e74d393a2370871e174d7ff0ebc980907723bb67d25c8a7c30"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0117049dd1d5635bbff65444496c90e0baa48ea405125c088e93d9cf4525b11"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-win32.whl", hash = "sha256:0a891e4e41b54fd5b8313b96399f8b0e173bbbfc03c7631f01efbe29bb0bcf82"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:9990d8e71b9f6488e91ad25f322898c136b008d87bf852ff65391b004da5e17b"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9e7551208b2aded9c1447453ee366f1c4070602b3d932ace044715d89666899b"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f83ac4d83ef0ab017683d715ed356e30dd48a93746309c8f3517e1287523ef4"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7322c3d6f1766d4ef1e51a465f47955f1e8123caee67dd641e67d539a534d006"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18b78ec83edbbeb69efdc0e9c1cb41a3b1b1ed11ddd8ded602464c3fc6020494"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:09763491ce220c0299688940f8dc2c5d05fd1f45af1e42e636b2e8b2303e4382"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-win32.whl", hash = "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"}, -] - [[package]] name = "license-expression" version = "30.1.1" @@ -1262,52 +1300,39 @@ files = [ [[package]] name = "matplotlib" -version = "3.7.2" +version = "3.8.0" description = "Python plotting package" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "matplotlib-3.7.2-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:2699f7e73a76d4c110f4f25be9d2496d6ab4f17345307738557d345f099e07de"}, - {file = "matplotlib-3.7.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a8035ba590658bae7562786c9cc6ea1a84aa49d3afab157e414c9e2ea74f496d"}, - {file = "matplotlib-3.7.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f8e4a49493add46ad4a8c92f63e19d548b2b6ebbed75c6b4c7f46f57d36cdd1"}, - {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71667eb2ccca4c3537d9414b1bc00554cb7f91527c17ee4ec38027201f8f1603"}, - {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:152ee0b569a37630d8628534c628456b28686e085d51394da6b71ef84c4da201"}, - {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:070f8dddd1f5939e60aacb8fa08f19551f4b0140fab16a3669d5cd6e9cb28fc8"}, - {file = "matplotlib-3.7.2-cp310-cp310-win32.whl", hash = "sha256:fdbb46fad4fb47443b5b8ac76904b2e7a66556844f33370861b4788db0f8816a"}, - {file = "matplotlib-3.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:23fb1750934e5f0128f9423db27c474aa32534cec21f7b2153262b066a581fd1"}, - {file = "matplotlib-3.7.2-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:30e1409b857aa8a747c5d4f85f63a79e479835f8dffc52992ac1f3f25837b544"}, - {file = "matplotlib-3.7.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:50e0a55ec74bf2d7a0ebf50ac580a209582c2dd0f7ab51bc270f1b4a0027454e"}, - {file = "matplotlib-3.7.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ac60daa1dc83e8821eed155796b0f7888b6b916cf61d620a4ddd8200ac70cd64"}, - {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:305e3da477dc8607336ba10bac96986d6308d614706cae2efe7d3ffa60465b24"}, - {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c308b255efb9b06b23874236ec0f10f026673ad6515f602027cc8ac7805352d"}, - {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60c521e21031632aa0d87ca5ba0c1c05f3daacadb34c093585a0be6780f698e4"}, - {file = "matplotlib-3.7.2-cp311-cp311-win32.whl", hash = "sha256:26bede320d77e469fdf1bde212de0ec889169b04f7f1179b8930d66f82b30cbc"}, - {file = "matplotlib-3.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:af4860132c8c05261a5f5f8467f1b269bf1c7c23902d75f2be57c4a7f2394b3e"}, - {file = "matplotlib-3.7.2-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:a1733b8e84e7e40a9853e505fe68cc54339f97273bdfe6f3ed980095f769ddc7"}, - {file = "matplotlib-3.7.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d9881356dc48e58910c53af82b57183879129fa30492be69058c5b0d9fddf391"}, - {file = "matplotlib-3.7.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f081c03f413f59390a80b3e351cc2b2ea0205839714dbc364519bcf51f4b56ca"}, - {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:1cd120fca3407a225168238b790bd5c528f0fafde6172b140a2f3ab7a4ea63e9"}, - {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a2c1590b90aa7bd741b54c62b78de05d4186271e34e2377e0289d943b3522273"}, - {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d2ff3c984b8a569bc1383cd468fc06b70d7b59d5c2854ca39f1436ae8394117"}, - {file = "matplotlib-3.7.2-cp38-cp38-win32.whl", hash = "sha256:5dea00b62d28654b71ca92463656d80646675628d0828e08a5f3b57e12869e13"}, - {file = "matplotlib-3.7.2-cp38-cp38-win_amd64.whl", hash = "sha256:0f506a1776ee94f9e131af1ac6efa6e5bc7cb606a3e389b0ccb6e657f60bb676"}, - {file = "matplotlib-3.7.2-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:6515e878f91894c2e4340d81f0911857998ccaf04dbc1bba781e3d89cbf70608"}, - {file = "matplotlib-3.7.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:71f7a8c6b124e904db550f5b9fe483d28b896d4135e45c4ea381ad3b8a0e3256"}, - {file = "matplotlib-3.7.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12f01b92ecd518e0697da4d97d163b2b3aa55eb3eb4e2c98235b3396d7dad55f"}, - {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7e28d6396563955f7af437894a36bf2b279462239a41028323e04b85179058b"}, - {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbcf59334ff645e6a67cd5f78b4b2cdb76384cdf587fa0d2dc85f634a72e1a3e"}, - {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:318c89edde72ff95d8df67d82aca03861240512994a597a435a1011ba18dbc7f"}, - {file = "matplotlib-3.7.2-cp39-cp39-win32.whl", hash = "sha256:ce55289d5659b5b12b3db4dc9b7075b70cef5631e56530f14b2945e8836f2d20"}, - {file = "matplotlib-3.7.2-cp39-cp39-win_amd64.whl", hash = "sha256:2ecb5be2b2815431c81dc115667e33da0f5a1bcf6143980d180d09a717c4a12e"}, - {file = "matplotlib-3.7.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:fdcd28360dbb6203fb5219b1a5658df226ac9bebc2542a9e8f457de959d713d0"}, - {file = "matplotlib-3.7.2-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c3cca3e842b11b55b52c6fb8bd6a4088693829acbfcdb3e815fa9b7d5c92c1b"}, - {file = "matplotlib-3.7.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebf577c7a6744e9e1bd3fee45fc74a02710b214f94e2bde344912d85e0c9af7c"}, - {file = "matplotlib-3.7.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:936bba394682049919dda062d33435b3be211dc3dcaa011e09634f060ec878b2"}, - {file = "matplotlib-3.7.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bc221ffbc2150458b1cd71cdd9ddd5bb37962b036e41b8be258280b5b01da1dd"}, - {file = "matplotlib-3.7.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:35d74ebdb3f71f112b36c2629cf32323adfbf42679e2751252acd468f5001c07"}, - {file = "matplotlib-3.7.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:717157e61b3a71d3d26ad4e1770dc85156c9af435659a25ee6407dc866cb258d"}, - {file = "matplotlib-3.7.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:20f844d6be031948148ba49605c8b96dfe7d3711d1b63592830d650622458c11"}, - {file = "matplotlib-3.7.2.tar.gz", hash = "sha256:a8cdb91dddb04436bd2f098b8fdf4b81352e68cf4d2c6756fcc414791076569b"}, + {file = "matplotlib-3.8.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c4940bad88a932ddc69734274f6fb047207e008389489f2b6f77d9ca485f0e7a"}, + {file = "matplotlib-3.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a33bd3045c7452ca1fa65676d88ba940867880e13e2546abb143035fa9072a9d"}, + {file = "matplotlib-3.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ea6886e93401c22e534bbfd39201ce8931b75502895cfb115cbdbbe2d31f287"}, + {file = "matplotlib-3.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d670b9348e712ec176de225d425f150dc8e37b13010d85233c539b547da0be39"}, + {file = "matplotlib-3.8.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7b37b74f00c4cb6af908cb9a00779d97d294e89fd2145ad43f0cdc23f635760c"}, + {file = "matplotlib-3.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:0e723f5b96f3cd4aad99103dc93e9e3cdc4f18afdcc76951f4857b46f8e39d2d"}, + {file = "matplotlib-3.8.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5dc945a9cb2deb7d197ba23eb4c210e591d52d77bf0ba27c35fc82dec9fa78d4"}, + {file = "matplotlib-3.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8b5a1bf27d078453aa7b5b27f52580e16360d02df6d3dc9504f3d2ce11f6309"}, + {file = "matplotlib-3.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f25ffb6ad972cdffa7df8e5be4b1e3cadd2f8d43fc72085feb1518006178394"}, + {file = "matplotlib-3.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eee482731c8c17d86d9ddb5194d38621f9b0f0d53c99006275a12523ab021732"}, + {file = "matplotlib-3.8.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:36eafe2128772195b373e1242df28d1b7ec6c04c15b090b8d9e335d55a323900"}, + {file = "matplotlib-3.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:061ee58facb3580cd2d046a6d227fb77e9295599c5ec6ad069f06b5821ad1cfc"}, + {file = "matplotlib-3.8.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:3cc3776836d0f4f22654a7f2d2ec2004618d5cf86b7185318381f73b80fd8a2d"}, + {file = "matplotlib-3.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6c49a2bd6981264bddcb8c317b6bd25febcece9e2ebfcbc34e7f4c0c867c09dc"}, + {file = "matplotlib-3.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23ed11654fc83cd6cfdf6170b453e437674a050a452133a064d47f2f1371f8d3"}, + {file = "matplotlib-3.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dae97fdd6996b3a25da8ee43e3fc734fff502f396801063c6b76c20b56683196"}, + {file = "matplotlib-3.8.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:87df75f528020a6299f76a1d986c0ed4406e3b2bd44bc5e306e46bca7d45e53e"}, + {file = "matplotlib-3.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:90d74a95fe055f73a6cd737beecc1b81c26f2893b7a3751d52b53ff06ca53f36"}, + {file = "matplotlib-3.8.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c3499c312f5def8f362a2bf761d04fa2d452b333f3a9a3f58805273719bf20d9"}, + {file = "matplotlib-3.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:31e793c8bd4ea268cc5d3a695c27b30650ec35238626961d73085d5e94b6ab68"}, + {file = "matplotlib-3.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d5ee602ef517a89d1f2c508ca189cfc395dd0b4a08284fb1b97a78eec354644"}, + {file = "matplotlib-3.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5de39dc61ca35342cf409e031f70f18219f2c48380d3886c1cf5ad9f17898e06"}, + {file = "matplotlib-3.8.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:dd386c80a98b5f51571b9484bf6c6976de383cd2a8cd972b6a9562d85c6d2087"}, + {file = "matplotlib-3.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:f691b4ef47c7384d0936b2e8ebdeb5d526c81d004ad9403dfb9d4c76b9979a93"}, + {file = "matplotlib-3.8.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:0b11f354aae62a2aa53ec5bb09946f5f06fc41793e351a04ff60223ea9162955"}, + {file = "matplotlib-3.8.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f54b9fb87ca5acbcdd0f286021bedc162e1425fa5555ebf3b3dfc167b955ad9"}, + {file = "matplotlib-3.8.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:60a6e04dfd77c0d3bcfee61c3cd335fff1b917c2f303b32524cd1235e194ef99"}, + {file = "matplotlib-3.8.0.tar.gz", hash = "sha256:df8505e1c19d5c2c26aff3497a7cbd3ccfc2e97043d1e4db3e76afa399164b69"}, ] [package.dependencies] @@ -1315,11 +1340,12 @@ contourpy = ">=1.0.1" cycler = ">=0.10" fonttools = ">=4.22.0" kiwisolver = ">=1.0.1" -numpy = ">=1.20" +numpy = ">=1.21,<2" packaging = ">=20.0" pillow = ">=6.2.0" -pyparsing = ">=2.3.1,<3.1" +pyparsing = ">=2.3.1" python-dateutil = ">=2.7" +setuptools_scm = ">=7" [[package]] name = "mccabe" @@ -1356,110 +1382,103 @@ files = [ [[package]] name = "msgpack" -version = "1.0.5" +version = "1.0.7" description = "MessagePack serializer" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "msgpack-1.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:525228efd79bb831cf6830a732e2e80bc1b05436b086d4264814b4b2955b2fa9"}, - {file = "msgpack-1.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4f8d8b3bf1ff2672567d6b5c725a1b347fe838b912772aa8ae2bf70338d5a198"}, - {file = "msgpack-1.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdc793c50be3f01106245a61b739328f7dccc2c648b501e237f0699fe1395b81"}, - {file = "msgpack-1.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cb47c21a8a65b165ce29f2bec852790cbc04936f502966768e4aae9fa763cb7"}, - {file = "msgpack-1.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e42b9594cc3bf4d838d67d6ed62b9e59e201862a25e9a157019e171fbe672dd3"}, - {file = "msgpack-1.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:55b56a24893105dc52c1253649b60f475f36b3aa0fc66115bffafb624d7cb30b"}, - {file = "msgpack-1.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:1967f6129fc50a43bfe0951c35acbb729be89a55d849fab7686004da85103f1c"}, - {file = "msgpack-1.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:20a97bf595a232c3ee6d57ddaadd5453d174a52594bf9c21d10407e2a2d9b3bd"}, - {file = "msgpack-1.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d25dd59bbbbb996eacf7be6b4ad082ed7eacc4e8f3d2df1ba43822da9bfa122a"}, - {file = "msgpack-1.0.5-cp310-cp310-win32.whl", hash = "sha256:382b2c77589331f2cb80b67cc058c00f225e19827dbc818d700f61513ab47bea"}, - {file = "msgpack-1.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:4867aa2df9e2a5fa5f76d7d5565d25ec76e84c106b55509e78c1ede0f152659a"}, - {file = "msgpack-1.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9f5ae84c5c8a857ec44dc180a8b0cc08238e021f57abdf51a8182e915e6299f0"}, - {file = "msgpack-1.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9e6ca5d5699bcd89ae605c150aee83b5321f2115695e741b99618f4856c50898"}, - {file = "msgpack-1.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5494ea30d517a3576749cad32fa27f7585c65f5f38309c88c6d137877fa28a5a"}, - {file = "msgpack-1.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ab2f3331cb1b54165976a9d976cb251a83183631c88076613c6c780f0d6e45a"}, - {file = "msgpack-1.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28592e20bbb1620848256ebc105fc420436af59515793ed27d5c77a217477705"}, - {file = "msgpack-1.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe5c63197c55bce6385d9aee16c4d0641684628f63ace85f73571e65ad1c1e8d"}, - {file = "msgpack-1.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ed40e926fa2f297e8a653c954b732f125ef97bdd4c889f243182299de27e2aa9"}, - {file = "msgpack-1.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b2de4c1c0538dcb7010902a2b97f4e00fc4ddf2c8cda9749af0e594d3b7fa3d7"}, - {file = "msgpack-1.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bf22a83f973b50f9d38e55c6aade04c41ddda19b00c4ebc558930d78eecc64ed"}, - {file = "msgpack-1.0.5-cp311-cp311-win32.whl", hash = "sha256:c396e2cc213d12ce017b686e0f53497f94f8ba2b24799c25d913d46c08ec422c"}, - {file = "msgpack-1.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c4c68d87497f66f96d50142a2b73b97972130d93677ce930718f68828b382e2"}, - {file = "msgpack-1.0.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a2b031c2e9b9af485d5e3c4520f4220d74f4d222a5b8dc8c1a3ab9448ca79c57"}, - {file = "msgpack-1.0.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f837b93669ce4336e24d08286c38761132bc7ab29782727f8557e1eb21b2080"}, - {file = "msgpack-1.0.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1d46dfe3832660f53b13b925d4e0fa1432b00f5f7210eb3ad3bb9a13c6204a6"}, - {file = "msgpack-1.0.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:366c9a7b9057e1547f4ad51d8facad8b406bab69c7d72c0eb6f529cf76d4b85f"}, - {file = "msgpack-1.0.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:4c075728a1095efd0634a7dccb06204919a2f67d1893b6aa8e00497258bf926c"}, - {file = "msgpack-1.0.5-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:f933bbda5a3ee63b8834179096923b094b76f0c7a73c1cfe8f07ad608c58844b"}, - {file = "msgpack-1.0.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:36961b0568c36027c76e2ae3ca1132e35123dcec0706c4b7992683cc26c1320c"}, - {file = "msgpack-1.0.5-cp36-cp36m-win32.whl", hash = "sha256:b5ef2f015b95f912c2fcab19c36814963b5463f1fb9049846994b007962743e9"}, - {file = "msgpack-1.0.5-cp36-cp36m-win_amd64.whl", hash = "sha256:288e32b47e67f7b171f86b030e527e302c91bd3f40fd9033483f2cacc37f327a"}, - {file = "msgpack-1.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:137850656634abddfb88236008339fdaba3178f4751b28f270d2ebe77a563b6c"}, - {file = "msgpack-1.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c05a4a96585525916b109bb85f8cb6511db1c6f5b9d9cbcbc940dc6b4be944b"}, - {file = "msgpack-1.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56a62ec00b636583e5cb6ad313bbed36bb7ead5fa3a3e38938503142c72cba4f"}, - {file = "msgpack-1.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef8108f8dedf204bb7b42994abf93882da1159728a2d4c5e82012edd92c9da9f"}, - {file = "msgpack-1.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1835c84d65f46900920b3708f5ba829fb19b1096c1800ad60bae8418652a951d"}, - {file = "msgpack-1.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e57916ef1bd0fee4f21c4600e9d1da352d8816b52a599c46460e93a6e9f17086"}, - {file = "msgpack-1.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:17358523b85973e5f242ad74aa4712b7ee560715562554aa2134d96e7aa4cbbf"}, - {file = "msgpack-1.0.5-cp37-cp37m-win32.whl", hash = "sha256:cb5aaa8c17760909ec6cb15e744c3ebc2ca8918e727216e79607b7bbce9c8f77"}, - {file = "msgpack-1.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:ab31e908d8424d55601ad7075e471b7d0140d4d3dd3272daf39c5c19d936bd82"}, - {file = "msgpack-1.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b72d0698f86e8d9ddf9442bdedec15b71df3598199ba33322d9711a19f08145c"}, - {file = "msgpack-1.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:379026812e49258016dd84ad79ac8446922234d498058ae1d415f04b522d5b2d"}, - {file = "msgpack-1.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:332360ff25469c346a1c5e47cbe2a725517919892eda5cfaffe6046656f0b7bb"}, - {file = "msgpack-1.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:476a8fe8fae289fdf273d6d2a6cb6e35b5a58541693e8f9f019bfe990a51e4ba"}, - {file = "msgpack-1.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9985b214f33311df47e274eb788a5893a761d025e2b92c723ba4c63936b69b1"}, - {file = "msgpack-1.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48296af57cdb1d885843afd73c4656be5c76c0c6328db3440c9601a98f303d87"}, - {file = "msgpack-1.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:addab7e2e1fcc04bd08e4eb631c2a90960c340e40dfc4a5e24d2ff0d5a3b3edb"}, - {file = "msgpack-1.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:916723458c25dfb77ff07f4c66aed34e47503b2eb3188b3adbec8d8aa6e00f48"}, - {file = "msgpack-1.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:821c7e677cc6acf0fd3f7ac664c98803827ae6de594a9f99563e48c5a2f27eb0"}, - {file = "msgpack-1.0.5-cp38-cp38-win32.whl", hash = "sha256:1c0f7c47f0087ffda62961d425e4407961a7ffd2aa004c81b9c07d9269512f6e"}, - {file = "msgpack-1.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:bae7de2026cbfe3782c8b78b0db9cbfc5455e079f1937cb0ab8d133496ac55e1"}, - {file = "msgpack-1.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:20c784e66b613c7f16f632e7b5e8a1651aa5702463d61394671ba07b2fc9e025"}, - {file = "msgpack-1.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:266fa4202c0eb94d26822d9bfd7af25d1e2c088927fe8de9033d929dd5ba24c5"}, - {file = "msgpack-1.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18334484eafc2b1aa47a6d42427da7fa8f2ab3d60b674120bce7a895a0a85bdd"}, - {file = "msgpack-1.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57e1f3528bd95cc44684beda696f74d3aaa8a5e58c816214b9046512240ef437"}, - {file = "msgpack-1.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:586d0d636f9a628ddc6a17bfd45aa5b5efaf1606d2b60fa5d87b8986326e933f"}, - {file = "msgpack-1.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a740fa0e4087a734455f0fc3abf5e746004c9da72fbd541e9b113013c8dc3282"}, - {file = "msgpack-1.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3055b0455e45810820db1f29d900bf39466df96ddca11dfa6d074fa47054376d"}, - {file = "msgpack-1.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a61215eac016f391129a013c9e46f3ab308db5f5ec9f25811e811f96962599a8"}, - {file = "msgpack-1.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:362d9655cd369b08fda06b6657a303eb7172d5279997abe094512e919cf74b11"}, - {file = "msgpack-1.0.5-cp39-cp39-win32.whl", hash = "sha256:ac9dd47af78cae935901a9a500104e2dea2e253207c924cc95de149606dc43cc"}, - {file = "msgpack-1.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:06f5174b5f8ed0ed919da0e62cbd4ffde676a374aba4020034da05fab67b9164"}, - {file = "msgpack-1.0.5.tar.gz", hash = "sha256:c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c"}, + {file = "msgpack-1.0.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:04ad6069c86e531682f9e1e71b71c1c3937d6014a7c3e9edd2aa81ad58842862"}, + {file = "msgpack-1.0.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cca1b62fe70d761a282496b96a5e51c44c213e410a964bdffe0928e611368329"}, + {file = "msgpack-1.0.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e50ebce52f41370707f1e21a59514e3375e3edd6e1832f5e5235237db933c98b"}, + {file = "msgpack-1.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a7b4f35de6a304b5533c238bee86b670b75b03d31b7797929caa7a624b5dda6"}, + {file = "msgpack-1.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28efb066cde83c479dfe5a48141a53bc7e5f13f785b92ddde336c716663039ee"}, + {file = "msgpack-1.0.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4cb14ce54d9b857be9591ac364cb08dc2d6a5c4318c1182cb1d02274029d590d"}, + {file = "msgpack-1.0.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b573a43ef7c368ba4ea06050a957c2a7550f729c31f11dd616d2ac4aba99888d"}, + {file = "msgpack-1.0.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ccf9a39706b604d884d2cb1e27fe973bc55f2890c52f38df742bc1d79ab9f5e1"}, + {file = "msgpack-1.0.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cb70766519500281815dfd7a87d3a178acf7ce95390544b8c90587d76b227681"}, + {file = "msgpack-1.0.7-cp310-cp310-win32.whl", hash = "sha256:b610ff0f24e9f11c9ae653c67ff8cc03c075131401b3e5ef4b82570d1728f8a9"}, + {file = "msgpack-1.0.7-cp310-cp310-win_amd64.whl", hash = "sha256:a40821a89dc373d6427e2b44b572efc36a2778d3f543299e2f24eb1a5de65415"}, + {file = "msgpack-1.0.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:576eb384292b139821c41995523654ad82d1916da6a60cff129c715a6223ea84"}, + {file = "msgpack-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:730076207cb816138cf1af7f7237b208340a2c5e749707457d70705715c93b93"}, + {file = "msgpack-1.0.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:85765fdf4b27eb5086f05ac0491090fc76f4f2b28e09d9350c31aac25a5aaff8"}, + {file = "msgpack-1.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3476fae43db72bd11f29a5147ae2f3cb22e2f1a91d575ef130d2bf49afd21c46"}, + {file = "msgpack-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d4c80667de2e36970ebf74f42d1088cc9ee7ef5f4e8c35eee1b40eafd33ca5b"}, + {file = "msgpack-1.0.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b0bf0effb196ed76b7ad883848143427a73c355ae8e569fa538365064188b8e"}, + {file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f9a7c509542db4eceed3dcf21ee5267ab565a83555c9b88a8109dcecc4709002"}, + {file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:84b0daf226913133f899ea9b30618722d45feffa67e4fe867b0b5ae83a34060c"}, + {file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ec79ff6159dffcc30853b2ad612ed572af86c92b5168aa3fc01a67b0fa40665e"}, + {file = "msgpack-1.0.7-cp311-cp311-win32.whl", hash = "sha256:3e7bf4442b310ff154b7bb9d81eb2c016b7d597e364f97d72b1acc3817a0fdc1"}, + {file = "msgpack-1.0.7-cp311-cp311-win_amd64.whl", hash = "sha256:3f0c8c6dfa6605ab8ff0611995ee30d4f9fcff89966cf562733b4008a3d60d82"}, + {file = "msgpack-1.0.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f0936e08e0003f66bfd97e74ee530427707297b0d0361247e9b4f59ab78ddc8b"}, + {file = "msgpack-1.0.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:98bbd754a422a0b123c66a4c341de0474cad4a5c10c164ceed6ea090f3563db4"}, + {file = "msgpack-1.0.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b291f0ee7961a597cbbcc77709374087fa2a9afe7bdb6a40dbbd9b127e79afee"}, + {file = "msgpack-1.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebbbba226f0a108a7366bf4b59bf0f30a12fd5e75100c630267d94d7f0ad20e5"}, + {file = "msgpack-1.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e2d69948e4132813b8d1131f29f9101bc2c915f26089a6d632001a5c1349672"}, + {file = "msgpack-1.0.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bdf38ba2d393c7911ae989c3bbba510ebbcdf4ecbdbfec36272abe350c454075"}, + {file = "msgpack-1.0.7-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:993584fc821c58d5993521bfdcd31a4adf025c7d745bbd4d12ccfecf695af5ba"}, + {file = "msgpack-1.0.7-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:52700dc63a4676669b341ba33520f4d6e43d3ca58d422e22ba66d1736b0a6e4c"}, + {file = "msgpack-1.0.7-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e45ae4927759289c30ccba8d9fdce62bb414977ba158286b5ddaf8df2cddb5c5"}, + {file = "msgpack-1.0.7-cp312-cp312-win32.whl", hash = "sha256:27dcd6f46a21c18fa5e5deed92a43d4554e3df8d8ca5a47bf0615d6a5f39dbc9"}, + {file = "msgpack-1.0.7-cp312-cp312-win_amd64.whl", hash = "sha256:7687e22a31e976a0e7fc99c2f4d11ca45eff652a81eb8c8085e9609298916dcf"}, + {file = "msgpack-1.0.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5b6ccc0c85916998d788b295765ea0e9cb9aac7e4a8ed71d12e7d8ac31c23c95"}, + {file = "msgpack-1.0.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:235a31ec7db685f5c82233bddf9858748b89b8119bf4538d514536c485c15fe0"}, + {file = "msgpack-1.0.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cab3db8bab4b7e635c1c97270d7a4b2a90c070b33cbc00c99ef3f9be03d3e1f7"}, + {file = "msgpack-1.0.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bfdd914e55e0d2c9e1526de210f6fe8ffe9705f2b1dfcc4aecc92a4cb4b533d"}, + {file = "msgpack-1.0.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36e17c4592231a7dbd2ed09027823ab295d2791b3b1efb2aee874b10548b7524"}, + {file = "msgpack-1.0.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38949d30b11ae5f95c3c91917ee7a6b239f5ec276f271f28638dec9156f82cfc"}, + {file = "msgpack-1.0.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ff1d0899f104f3921d94579a5638847f783c9b04f2d5f229392ca77fba5b82fc"}, + {file = "msgpack-1.0.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:dc43f1ec66eb8440567186ae2f8c447d91e0372d793dfe8c222aec857b81a8cf"}, + {file = "msgpack-1.0.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:dd632777ff3beaaf629f1ab4396caf7ba0bdd075d948a69460d13d44357aca4c"}, + {file = "msgpack-1.0.7-cp38-cp38-win32.whl", hash = "sha256:4e71bc4416de195d6e9b4ee93ad3f2f6b2ce11d042b4d7a7ee00bbe0358bd0c2"}, + {file = "msgpack-1.0.7-cp38-cp38-win_amd64.whl", hash = "sha256:8f5b234f567cf76ee489502ceb7165c2a5cecec081db2b37e35332b537f8157c"}, + {file = "msgpack-1.0.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfef2bb6ef068827bbd021017a107194956918ab43ce4d6dc945ffa13efbc25f"}, + {file = "msgpack-1.0.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:484ae3240666ad34cfa31eea7b8c6cd2f1fdaae21d73ce2974211df099a95d81"}, + {file = "msgpack-1.0.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3967e4ad1aa9da62fd53e346ed17d7b2e922cba5ab93bdd46febcac39be636fc"}, + {file = "msgpack-1.0.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dd178c4c80706546702c59529ffc005681bd6dc2ea234c450661b205445a34d"}, + {file = "msgpack-1.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6ffbc252eb0d229aeb2f9ad051200668fc3a9aaa8994e49f0cb2ffe2b7867e7"}, + {file = "msgpack-1.0.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:822ea70dc4018c7e6223f13affd1c5c30c0f5c12ac1f96cd8e9949acddb48a61"}, + {file = "msgpack-1.0.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:384d779f0d6f1b110eae74cb0659d9aa6ff35aaf547b3955abf2ab4c901c4819"}, + {file = "msgpack-1.0.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f64e376cd20d3f030190e8c32e1c64582eba56ac6dc7d5b0b49a9d44021b52fd"}, + {file = "msgpack-1.0.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5ed82f5a7af3697b1c4786053736f24a0efd0a1b8a130d4c7bfee4b9ded0f08f"}, + {file = "msgpack-1.0.7-cp39-cp39-win32.whl", hash = "sha256:f26a07a6e877c76a88e3cecac8531908d980d3d5067ff69213653649ec0f60ad"}, + {file = "msgpack-1.0.7-cp39-cp39-win_amd64.whl", hash = "sha256:1dc93e8e4653bdb5910aed79f11e165c85732067614f180f70534f056da97db3"}, + {file = "msgpack-1.0.7.tar.gz", hash = "sha256:572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87"}, ] [[package]] name = "mypy" -version = "1.5.1" +version = "1.6.0" description = "Optional static typing for Python" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f33592ddf9655a4894aef22d134de7393e95fcbdc2d15c1ab65828eee5c66c70"}, - {file = "mypy-1.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:258b22210a4a258ccd077426c7a181d789d1121aca6db73a83f79372f5569ae0"}, - {file = "mypy-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9ec1f695f0c25986e6f7f8778e5ce61659063268836a38c951200c57479cc12"}, - {file = "mypy-1.5.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:abed92d9c8f08643c7d831300b739562b0a6c9fcb028d211134fc9ab20ccad5d"}, - {file = "mypy-1.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:a156e6390944c265eb56afa67c74c0636f10283429171018446b732f1a05af25"}, - {file = "mypy-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6ac9c21bfe7bc9f7f1b6fae441746e6a106e48fc9de530dea29e8cd37a2c0cc4"}, - {file = "mypy-1.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:51cb1323064b1099e177098cb939eab2da42fea5d818d40113957ec954fc85f4"}, - {file = "mypy-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:596fae69f2bfcb7305808c75c00f81fe2829b6236eadda536f00610ac5ec2243"}, - {file = "mypy-1.5.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:32cb59609b0534f0bd67faebb6e022fe534bdb0e2ecab4290d683d248be1b275"}, - {file = "mypy-1.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:159aa9acb16086b79bbb0016145034a1a05360626046a929f84579ce1666b315"}, - {file = "mypy-1.5.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f6b0e77db9ff4fda74de7df13f30016a0a663928d669c9f2c057048ba44f09bb"}, - {file = "mypy-1.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:26f71b535dfc158a71264e6dc805a9f8d2e60b67215ca0bfa26e2e1aa4d4d373"}, - {file = "mypy-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fc3a600f749b1008cc75e02b6fb3d4db8dbcca2d733030fe7a3b3502902f161"}, - {file = "mypy-1.5.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:26fb32e4d4afa205b24bf645eddfbb36a1e17e995c5c99d6d00edb24b693406a"}, - {file = "mypy-1.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:82cb6193de9bbb3844bab4c7cf80e6227d5225cc7625b068a06d005d861ad5f1"}, - {file = "mypy-1.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4a465ea2ca12804d5b34bb056be3a29dc47aea5973b892d0417c6a10a40b2d65"}, - {file = "mypy-1.5.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9fece120dbb041771a63eb95e4896791386fe287fefb2837258925b8326d6160"}, - {file = "mypy-1.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d28ddc3e3dfeab553e743e532fb95b4e6afad51d4706dd22f28e1e5e664828d2"}, - {file = "mypy-1.5.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:57b10c56016adce71fba6bc6e9fd45d8083f74361f629390c556738565af8eeb"}, - {file = "mypy-1.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:ff0cedc84184115202475bbb46dd99f8dcb87fe24d5d0ddfc0fe6b8575c88d2f"}, - {file = "mypy-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8f772942d372c8cbac575be99f9cc9d9fb3bd95c8bc2de6c01411e2c84ebca8a"}, - {file = "mypy-1.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5d627124700b92b6bbaa99f27cbe615c8ea7b3402960f6372ea7d65faf376c14"}, - {file = "mypy-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:361da43c4f5a96173220eb53340ace68cda81845cd88218f8862dfb0adc8cddb"}, - {file = "mypy-1.5.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:330857f9507c24de5c5724235e66858f8364a0693894342485e543f5b07c8693"}, - {file = "mypy-1.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:c543214ffdd422623e9fedd0869166c2f16affe4ba37463975043ef7d2ea8770"}, - {file = "mypy-1.5.1-py3-none-any.whl", hash = "sha256:f757063a83970d67c444f6e01d9550a7402322af3557ce7630d3c957386fa8f5"}, - {file = "mypy-1.5.1.tar.gz", hash = "sha256:b031b9601f1060bf1281feab89697324726ba0c0bae9d7cd7ab4b690940f0b92"}, + {file = "mypy-1.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:091f53ff88cb093dcc33c29eee522c087a438df65eb92acd371161c1f4380ff0"}, + {file = "mypy-1.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:eb7ff4007865833c470a601498ba30462b7374342580e2346bf7884557e40531"}, + {file = "mypy-1.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49499cf1e464f533fc45be54d20a6351a312f96ae7892d8e9f1708140e27ce41"}, + {file = "mypy-1.6.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4c192445899c69f07874dabda7e931b0cc811ea055bf82c1ababf358b9b2a72c"}, + {file = "mypy-1.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:3df87094028e52766b0a59a3e46481bb98b27986ed6ded6a6cc35ecc75bb9182"}, + {file = "mypy-1.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c8835a07b8442da900db47ccfda76c92c69c3a575872a5b764332c4bacb5a0a"}, + {file = "mypy-1.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:24f3de8b9e7021cd794ad9dfbf2e9fe3f069ff5e28cb57af6f873ffec1cb0425"}, + {file = "mypy-1.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:856bad61ebc7d21dbc019b719e98303dc6256cec6dcc9ebb0b214b81d6901bd8"}, + {file = "mypy-1.6.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:89513ddfda06b5c8ebd64f026d20a61ef264e89125dc82633f3c34eeb50e7d60"}, + {file = "mypy-1.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:9f8464ed410ada641c29f5de3e6716cbdd4f460b31cf755b2af52f2d5ea79ead"}, + {file = "mypy-1.6.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:971104bcb180e4fed0d7bd85504c9036346ab44b7416c75dd93b5c8c6bb7e28f"}, + {file = "mypy-1.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ab98b8f6fdf669711f3abe83a745f67f50e3cbaea3998b90e8608d2b459fd566"}, + {file = "mypy-1.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a69db3018b87b3e6e9dd28970f983ea6c933800c9edf8c503c3135b3274d5ad"}, + {file = "mypy-1.6.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:dccd850a2e3863891871c9e16c54c742dba5470f5120ffed8152956e9e0a5e13"}, + {file = "mypy-1.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:f8598307150b5722854f035d2e70a1ad9cc3c72d392c34fffd8c66d888c90f17"}, + {file = "mypy-1.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:fea451a3125bf0bfe716e5d7ad4b92033c471e4b5b3e154c67525539d14dc15a"}, + {file = "mypy-1.6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e28d7b221898c401494f3b77db3bac78a03ad0a0fff29a950317d87885c655d2"}, + {file = "mypy-1.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4b7a99275a61aa22256bab5839c35fe8a6887781862471df82afb4b445daae6"}, + {file = "mypy-1.6.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:7469545380dddce5719e3656b80bdfbb217cfe8dbb1438532d6abc754b828fed"}, + {file = "mypy-1.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:7807a2a61e636af9ca247ba8494031fb060a0a744b9fee7de3a54bed8a753323"}, + {file = "mypy-1.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d2dad072e01764823d4b2f06bc7365bb1d4b6c2f38c4d42fade3c8d45b0b4b67"}, + {file = "mypy-1.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b19006055dde8a5425baa5f3b57a19fa79df621606540493e5e893500148c72f"}, + {file = "mypy-1.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31eba8a7a71f0071f55227a8057468b8d2eb5bf578c8502c7f01abaec8141b2f"}, + {file = "mypy-1.6.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e0db37ac4ebb2fee7702767dfc1b773c7365731c22787cb99f507285014fcaf"}, + {file = "mypy-1.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:c69051274762cccd13498b568ed2430f8d22baa4b179911ad0c1577d336ed849"}, + {file = "mypy-1.6.0-py3-none-any.whl", hash = "sha256:9e1589ca150a51d9d00bb839bfeca2f7a04f32cd62fad87a847bc0818e15d7dc"}, + {file = "mypy-1.6.0.tar.gz", hash = "sha256:4f3d27537abde1be6d5f2c96c29a454da333a2a271ae7d5bc7110e6d4b7beb3f"}, ] [package.dependencies] @@ -1535,6 +1554,47 @@ files = [ {file = "numpy-1.25.2.tar.gz", hash = "sha256:fd608e19c8d7c55021dffd43bfe5492fab8cc105cc8986f813f8c3c048b38760"}, ] +[[package]] +name = "numpy" +version = "1.26.0" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = "<3.13,>=3.9" +files = [ + {file = "numpy-1.26.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f8db2f125746e44dce707dd44d4f4efeea8d7e2b43aace3f8d1f235cfa2733dd"}, + {file = "numpy-1.26.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0621f7daf973d34d18b4e4bafb210bbaf1ef5e0100b5fa750bd9cde84c7ac292"}, + {file = "numpy-1.26.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51be5f8c349fdd1a5568e72713a21f518e7d6707bcf8503b528b88d33b57dc68"}, + {file = "numpy-1.26.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:767254ad364991ccfc4d81b8152912e53e103ec192d1bb4ea6b1f5a7117040be"}, + {file = "numpy-1.26.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:436c8e9a4bdeeee84e3e59614d38c3dbd3235838a877af8c211cfcac8a80b8d3"}, + {file = "numpy-1.26.0-cp310-cp310-win32.whl", hash = "sha256:c2e698cb0c6dda9372ea98a0344245ee65bdc1c9dd939cceed6bb91256837896"}, + {file = "numpy-1.26.0-cp310-cp310-win_amd64.whl", hash = "sha256:09aaee96c2cbdea95de76ecb8a586cb687d281c881f5f17bfc0fb7f5890f6b91"}, + {file = "numpy-1.26.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:637c58b468a69869258b8ae26f4a4c6ff8abffd4a8334c830ffb63e0feefe99a"}, + {file = "numpy-1.26.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:306545e234503a24fe9ae95ebf84d25cba1fdc27db971aa2d9f1ab6bba19a9dd"}, + {file = "numpy-1.26.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c6adc33561bd1d46f81131d5352348350fc23df4d742bb246cdfca606ea1208"}, + {file = "numpy-1.26.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e062aa24638bb5018b7841977c360d2f5917268d125c833a686b7cbabbec496c"}, + {file = "numpy-1.26.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:546b7dd7e22f3c6861463bebb000646fa730e55df5ee4a0224408b5694cc6148"}, + {file = "numpy-1.26.0-cp311-cp311-win32.whl", hash = "sha256:c0b45c8b65b79337dee5134d038346d30e109e9e2e9d43464a2970e5c0e93229"}, + {file = "numpy-1.26.0-cp311-cp311-win_amd64.whl", hash = "sha256:eae430ecf5794cb7ae7fa3808740b015aa80747e5266153128ef055975a72b99"}, + {file = "numpy-1.26.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:166b36197e9debc4e384e9c652ba60c0bacc216d0fc89e78f973a9760b503388"}, + {file = "numpy-1.26.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f042f66d0b4ae6d48e70e28d487376204d3cbf43b84c03bac57e28dac6151581"}, + {file = "numpy-1.26.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5e18e5b14a7560d8acf1c596688f4dfd19b4f2945b245a71e5af4ddb7422feb"}, + {file = "numpy-1.26.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f6bad22a791226d0a5c7c27a80a20e11cfe09ad5ef9084d4d3fc4a299cca505"}, + {file = "numpy-1.26.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4acc65dd65da28060e206c8f27a573455ed724e6179941edb19f97e58161bb69"}, + {file = "numpy-1.26.0-cp312-cp312-win32.whl", hash = "sha256:bb0d9a1aaf5f1cb7967320e80690a1d7ff69f1d47ebc5a9bea013e3a21faec95"}, + {file = "numpy-1.26.0-cp312-cp312-win_amd64.whl", hash = "sha256:ee84ca3c58fe48b8ddafdeb1db87388dce2c3c3f701bf447b05e4cfcc3679112"}, + {file = "numpy-1.26.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4a873a8180479bc829313e8d9798d5234dfacfc2e8a7ac188418189bb8eafbd2"}, + {file = "numpy-1.26.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:914b28d3215e0c721dc75db3ad6d62f51f630cb0c277e6b3bcb39519bed10bd8"}, + {file = "numpy-1.26.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c78a22e95182fb2e7874712433eaa610478a3caf86f28c621708d35fa4fd6e7f"}, + {file = "numpy-1.26.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86f737708b366c36b76e953c46ba5827d8c27b7a8c9d0f471810728e5a2fe57c"}, + {file = "numpy-1.26.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b44e6a09afc12952a7d2a58ca0a2429ee0d49a4f89d83a0a11052da696440e49"}, + {file = "numpy-1.26.0-cp39-cp39-win32.whl", hash = "sha256:5671338034b820c8d58c81ad1dafc0ed5a00771a82fccc71d6438df00302094b"}, + {file = "numpy-1.26.0-cp39-cp39-win_amd64.whl", hash = "sha256:020cdbee66ed46b671429c7265cf00d8ac91c046901c55684954c3958525dab2"}, + {file = "numpy-1.26.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0792824ce2f7ea0c82ed2e4fecc29bb86bee0567a080dacaf2e0a01fe7654369"}, + {file = "numpy-1.26.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d484292eaeb3e84a51432a94f53578689ffdea3f90e10c8b203a99be5af57d8"}, + {file = "numpy-1.26.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:186ba67fad3c60dbe8a3abff3b67a91351100f2661c8e2a80364ae6279720299"}, + {file = "numpy-1.26.0.tar.gz", hash = "sha256:f93fc78fe8bf15afe2b8d6b6499f1c73953169fad1e9a8dd086cdff3190e7fdf"}, +] + [[package]] name = "owlrl" version = "6.0.2" @@ -1551,13 +1611,13 @@ rdflib = ">=6.0.2" [[package]] name = "packaging" -version = "23.1" +version = "23.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.7" files = [ - {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, - {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, ] [[package]] @@ -1588,10 +1648,74 @@ files = [ {file = "pandas-2.1.0.tar.gz", hash = "sha256:62c24c7fc59e42b775ce0679cfa7b14a5f9bfb7643cfbe708c960699e05fb918"}, ] +[package.dependencies] +numpy = {version = ">=1.23.2", markers = "python_version >= \"3.11\""} +python-dateutil = ">=2.8.2" +pytz = ">=2020.1" +tzdata = ">=2022.1" + +[package.extras] +all = ["PyQt5 (>=5.15.6)", "SQLAlchemy (>=1.4.36)", "beautifulsoup4 (>=4.11.1)", "bottleneck (>=1.3.4)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=0.8.1)", "fsspec (>=2022.05.0)", "gcsfs (>=2022.05.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.8.0)", "matplotlib (>=3.6.1)", "numba (>=0.55.2)", "numexpr (>=2.8.0)", "odfpy (>=1.4.1)", "openpyxl (>=3.0.10)", "pandas-gbq (>=0.17.5)", "psycopg2 (>=2.9.3)", "pyarrow (>=7.0.0)", "pymysql (>=1.0.2)", "pyreadstat (>=1.1.5)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)", "pyxlsb (>=1.0.9)", "qtpy (>=2.2.0)", "s3fs (>=2022.05.0)", "scipy (>=1.8.1)", "tables (>=3.7.0)", "tabulate (>=0.8.10)", "xarray (>=2022.03.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.3)", "zstandard (>=0.17.0)"] +aws = ["s3fs (>=2022.05.0)"] +clipboard = ["PyQt5 (>=5.15.6)", "qtpy (>=2.2.0)"] +compression = ["zstandard (>=0.17.0)"] +computation = ["scipy (>=1.8.1)", "xarray (>=2022.03.0)"] +consortium-standard = ["dataframe-api-compat (>=0.1.7)"] +excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.0.10)", "pyxlsb (>=1.0.9)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.3)"] +feather = ["pyarrow (>=7.0.0)"] +fss = ["fsspec (>=2022.05.0)"] +gcp = ["gcsfs (>=2022.05.0)", "pandas-gbq (>=0.17.5)"] +hdf5 = ["tables (>=3.7.0)"] +html = ["beautifulsoup4 (>=4.11.1)", "html5lib (>=1.1)", "lxml (>=4.8.0)"] +mysql = ["SQLAlchemy (>=1.4.36)", "pymysql (>=1.0.2)"] +output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.8.10)"] +parquet = ["pyarrow (>=7.0.0)"] +performance = ["bottleneck (>=1.3.4)", "numba (>=0.55.2)", "numexpr (>=2.8.0)"] +plot = ["matplotlib (>=3.6.1)"] +postgresql = ["SQLAlchemy (>=1.4.36)", "psycopg2 (>=2.9.3)"] +spss = ["pyreadstat (>=1.1.5)"] +sql-other = ["SQLAlchemy (>=1.4.36)"] +test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)"] +xml = ["lxml (>=4.8.0)"] + +[[package]] +name = "pandas" +version = "2.1.1" +description = "Powerful data structures for data analysis, time series, and statistics" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pandas-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58d997dbee0d4b64f3cb881a24f918b5f25dd64ddf31f467bb9b67ae4c63a1e4"}, + {file = "pandas-2.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02304e11582c5d090e5a52aec726f31fe3f42895d6bfc1f28738f9b64b6f0614"}, + {file = "pandas-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffa8f0966de2c22de408d0e322db2faed6f6e74265aa0856f3824813cf124363"}, + {file = "pandas-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1f84c144dee086fe4f04a472b5cd51e680f061adf75c1ae4fc3a9275560f8f4"}, + {file = "pandas-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:75ce97667d06d69396d72be074f0556698c7f662029322027c226fd7a26965cb"}, + {file = "pandas-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:4c3f32fd7c4dccd035f71734df39231ac1a6ff95e8bdab8d891167197b7018d2"}, + {file = "pandas-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9e2959720b70e106bb1d8b6eadd8ecd7c8e99ccdbe03ee03260877184bb2877d"}, + {file = "pandas-2.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:25e8474a8eb258e391e30c288eecec565bfed3e026f312b0cbd709a63906b6f8"}, + {file = "pandas-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8bd1685556f3374520466998929bade3076aeae77c3e67ada5ed2b90b4de7f0"}, + {file = "pandas-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc3657869c7902810f32bd072f0740487f9e030c1a3ab03e0af093db35a9d14e"}, + {file = "pandas-2.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:05674536bd477af36aa2effd4ec8f71b92234ce0cc174de34fd21e2ee99adbc2"}, + {file = "pandas-2.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:b407381258a667df49d58a1b637be33e514b07f9285feb27769cedb3ab3d0b3a"}, + {file = "pandas-2.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c747793c4e9dcece7bb20156179529898abf505fe32cb40c4052107a3c620b49"}, + {file = "pandas-2.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3bcad1e6fb34b727b016775bea407311f7721db87e5b409e6542f4546a4951ea"}, + {file = "pandas-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5ec7740f9ccb90aec64edd71434711f58ee0ea7f5ed4ac48be11cfa9abf7317"}, + {file = "pandas-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:29deb61de5a8a93bdd033df328441a79fcf8dd3c12d5ed0b41a395eef9cd76f0"}, + {file = "pandas-2.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4f99bebf19b7e03cf80a4e770a3e65eee9dd4e2679039f542d7c1ace7b7b1daa"}, + {file = "pandas-2.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:84e7e910096416adec68075dc87b986ff202920fb8704e6d9c8c9897fe7332d6"}, + {file = "pandas-2.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:366da7b0e540d1b908886d4feb3d951f2f1e572e655c1160f5fde28ad4abb750"}, + {file = "pandas-2.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9e50e72b667415a816ac27dfcfe686dc5a0b02202e06196b943d54c4f9c7693e"}, + {file = "pandas-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc1ab6a25da197f03ebe6d8fa17273126120874386b4ac11c1d687df288542dd"}, + {file = "pandas-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0dbfea0dd3901ad4ce2306575c54348d98499c95be01b8d885a2737fe4d7a98"}, + {file = "pandas-2.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0489b0e6aa3d907e909aef92975edae89b1ee1654db5eafb9be633b0124abe97"}, + {file = "pandas-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:4cdb0fab0400c2cb46dafcf1a0fe084c8bb2480a1fa8d81e19d15e12e6d4ded2"}, + {file = "pandas-2.1.1.tar.gz", hash = "sha256:fecb198dc389429be557cde50a2d46da8434a17fe37d7d41ff102e3987fd947b"}, +] + [package.dependencies] numpy = [ {version = ">=1.22.4", markers = "python_version < \"3.11\""}, - {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, + {version = ">=1.23.2", markers = "python_version == \"3.11\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -1659,67 +1783,65 @@ ptyprocess = ">=0.5" [[package]] name = "pillow" -version = "10.0.0" +version = "10.0.1" description = "Python Imaging Library (Fork)" optional = false python-versions = ">=3.8" files = [ - {file = "Pillow-10.0.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:1f62406a884ae75fb2f818694469519fb685cc7eaff05d3451a9ebe55c646891"}, - {file = "Pillow-10.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d5db32e2a6ccbb3d34d87c87b432959e0db29755727afb37290e10f6e8e62614"}, - {file = "Pillow-10.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edf4392b77bdc81f36e92d3a07a5cd072f90253197f4a52a55a8cec48a12483b"}, - {file = "Pillow-10.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:520f2a520dc040512699f20fa1c363eed506e94248d71f85412b625026f6142c"}, - {file = "Pillow-10.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:8c11160913e3dd06c8ffdb5f233a4f254cb449f4dfc0f8f4549eda9e542c93d1"}, - {file = "Pillow-10.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a74ba0c356aaa3bb8e3eb79606a87669e7ec6444be352870623025d75a14a2bf"}, - {file = "Pillow-10.0.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d5d0dae4cfd56969d23d94dc8e89fb6a217be461c69090768227beb8ed28c0a3"}, - {file = "Pillow-10.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22c10cc517668d44b211717fd9775799ccec4124b9a7f7b3635fc5386e584992"}, - {file = "Pillow-10.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:dffe31a7f47b603318c609f378ebcd57f1554a3a6a8effbc59c3c69f804296de"}, - {file = "Pillow-10.0.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:9fb218c8a12e51d7ead2a7c9e101a04982237d4855716af2e9499306728fb485"}, - {file = "Pillow-10.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d35e3c8d9b1268cbf5d3670285feb3528f6680420eafe35cccc686b73c1e330f"}, - {file = "Pillow-10.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ed64f9ca2f0a95411e88a4efbd7a29e5ce2cea36072c53dd9d26d9c76f753b3"}, - {file = "Pillow-10.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b6eb5502f45a60a3f411c63187db83a3d3107887ad0d036c13ce836f8a36f1d"}, - {file = "Pillow-10.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:c1fbe7621c167ecaa38ad29643d77a9ce7311583761abf7836e1510c580bf3dd"}, - {file = "Pillow-10.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:cd25d2a9d2b36fcb318882481367956d2cf91329f6892fe5d385c346c0649629"}, - {file = "Pillow-10.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:3b08d4cc24f471b2c8ca24ec060abf4bebc6b144cb89cba638c720546b1cf538"}, - {file = "Pillow-10.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d737a602fbd82afd892ca746392401b634e278cb65d55c4b7a8f48e9ef8d008d"}, - {file = "Pillow-10.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:3a82c40d706d9aa9734289740ce26460a11aeec2d9c79b7af87bb35f0073c12f"}, - {file = "Pillow-10.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:bc2ec7c7b5d66b8ec9ce9f720dbb5fa4bace0f545acd34870eff4a369b44bf37"}, - {file = "Pillow-10.0.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:d80cf684b541685fccdd84c485b31ce73fc5c9b5d7523bf1394ce134a60c6883"}, - {file = "Pillow-10.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76de421f9c326da8f43d690110f0e79fe3ad1e54be811545d7d91898b4c8493e"}, - {file = "Pillow-10.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81ff539a12457809666fef6624684c008e00ff6bf455b4b89fd00a140eecd640"}, - {file = "Pillow-10.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce543ed15570eedbb85df19b0a1a7314a9c8141a36ce089c0a894adbfccb4568"}, - {file = "Pillow-10.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:685ac03cc4ed5ebc15ad5c23bc555d68a87777586d970c2c3e216619a5476223"}, - {file = "Pillow-10.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:d72e2ecc68a942e8cf9739619b7f408cc7b272b279b56b2c83c6123fcfa5cdff"}, - {file = "Pillow-10.0.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d50b6aec14bc737742ca96e85d6d0a5f9bfbded018264b3b70ff9d8c33485551"}, - {file = "Pillow-10.0.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:00e65f5e822decd501e374b0650146063fbb30a7264b4d2744bdd7b913e0cab5"}, - {file = "Pillow-10.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:f31f9fdbfecb042d046f9d91270a0ba28368a723302786c0009ee9b9f1f60199"}, - {file = "Pillow-10.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:1ce91b6ec08d866b14413d3f0bbdea7e24dfdc8e59f562bb77bc3fe60b6144ca"}, - {file = "Pillow-10.0.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:349930d6e9c685c089284b013478d6f76e3a534e36ddfa912cde493f235372f3"}, - {file = "Pillow-10.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3a684105f7c32488f7153905a4e3015a3b6c7182e106fe3c37fbb5ef3e6994c3"}, - {file = "Pillow-10.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4f69b3700201b80bb82c3a97d5e9254084f6dd5fb5b16fc1a7b974260f89f43"}, - {file = "Pillow-10.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f07ea8d2f827d7d2a49ecf1639ec02d75ffd1b88dcc5b3a61bbb37a8759ad8d"}, - {file = "Pillow-10.0.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:040586f7d37b34547153fa383f7f9aed68b738992380ac911447bb78f2abe530"}, - {file = "Pillow-10.0.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:f88a0b92277de8e3ca715a0d79d68dc82807457dae3ab8699c758f07c20b3c51"}, - {file = "Pillow-10.0.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c7cf14a27b0d6adfaebb3ae4153f1e516df54e47e42dcc073d7b3d76111a8d86"}, - {file = "Pillow-10.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:3400aae60685b06bb96f99a21e1ada7bc7a413d5f49bce739828ecd9391bb8f7"}, - {file = "Pillow-10.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:dbc02381779d412145331789b40cc7b11fdf449e5d94f6bc0b080db0a56ea3f0"}, - {file = "Pillow-10.0.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:9211e7ad69d7c9401cfc0e23d49b69ca65ddd898976d660a2fa5904e3d7a9baa"}, - {file = "Pillow-10.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:faaf07ea35355b01a35cb442dd950d8f1bb5b040a7787791a535de13db15ed90"}, - {file = "Pillow-10.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9f72a021fbb792ce98306ffb0c348b3c9cb967dce0f12a49aa4c3d3fdefa967"}, - {file = "Pillow-10.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f7c16705f44e0504a3a2a14197c1f0b32a95731d251777dcb060aa83022cb2d"}, - {file = "Pillow-10.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:76edb0a1fa2b4745fb0c99fb9fb98f8b180a1bbceb8be49b087e0b21867e77d3"}, - {file = "Pillow-10.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:368ab3dfb5f49e312231b6f27b8820c823652b7cd29cfbd34090565a015e99ba"}, - {file = "Pillow-10.0.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:608bfdee0d57cf297d32bcbb3c728dc1da0907519d1784962c5f0c68bb93e5a3"}, - {file = "Pillow-10.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5c6e3df6bdd396749bafd45314871b3d0af81ff935b2d188385e970052091017"}, - {file = "Pillow-10.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:7be600823e4c8631b74e4a0d38384c73f680e6105a7d3c6824fcf226c178c7e6"}, - {file = "Pillow-10.0.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:92be919bbc9f7d09f7ae343c38f5bb21c973d2576c1d45600fce4b74bafa7ac0"}, - {file = "Pillow-10.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8182b523b2289f7c415f589118228d30ac8c355baa2f3194ced084dac2dbba"}, - {file = "Pillow-10.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:38250a349b6b390ee6047a62c086d3817ac69022c127f8a5dc058c31ccef17f3"}, - {file = "Pillow-10.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:88af2003543cc40c80f6fca01411892ec52b11021b3dc22ec3bc9d5afd1c5334"}, - {file = "Pillow-10.0.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:c189af0545965fa8d3b9613cfdb0cd37f9d71349e0f7750e1fd704648d475ed2"}, - {file = "Pillow-10.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce7b031a6fc11365970e6a5686d7ba8c63e4c1cf1ea143811acbb524295eabed"}, - {file = "Pillow-10.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:db24668940f82321e746773a4bc617bfac06ec831e5c88b643f91f122a785684"}, - {file = "Pillow-10.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:efe8c0681042536e0d06c11f48cebe759707c9e9abf880ee213541c5b46c5bf3"}, - {file = "Pillow-10.0.0.tar.gz", hash = "sha256:9c82b5b3e043c7af0d95792d0d20ccf68f61a1fec6b3530e718b688422727396"}, + {file = "Pillow-10.0.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:8f06be50669087250f319b706decf69ca71fdecd829091a37cc89398ca4dc17a"}, + {file = "Pillow-10.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:50bd5f1ebafe9362ad622072a1d2f5850ecfa44303531ff14353a4059113b12d"}, + {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6a90167bcca1216606223a05e2cf991bb25b14695c518bc65639463d7db722d"}, + {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f11c9102c56ffb9ca87134bd025a43d2aba3f1155f508eff88f694b33a9c6d19"}, + {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:186f7e04248103482ea6354af6d5bcedb62941ee08f7f788a1c7707bc720c66f"}, + {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0462b1496505a3462d0f35dc1c4d7b54069747d65d00ef48e736acda2c8cbdff"}, + {file = "Pillow-10.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d889b53ae2f030f756e61a7bff13684dcd77e9af8b10c6048fb2c559d6ed6eaf"}, + {file = "Pillow-10.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:552912dbca585b74d75279a7570dd29fa43b6d93594abb494ebb31ac19ace6bd"}, + {file = "Pillow-10.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:787bb0169d2385a798888e1122c980c6eff26bf941a8ea79747d35d8f9210ca0"}, + {file = "Pillow-10.0.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:fd2a5403a75b54661182b75ec6132437a181209b901446ee5724b589af8edef1"}, + {file = "Pillow-10.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2d7e91b4379f7a76b31c2dda84ab9e20c6220488e50f7822e59dac36b0cd92b1"}, + {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19e9adb3f22d4c416e7cd79b01375b17159d6990003633ff1d8377e21b7f1b21"}, + {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93139acd8109edcdeffd85e3af8ae7d88b258b3a1e13a038f542b79b6d255c54"}, + {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:92a23b0431941a33242b1f0ce6c88a952e09feeea9af4e8be48236a68ffe2205"}, + {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:cbe68deb8580462ca0d9eb56a81912f59eb4542e1ef8f987405e35a0179f4ea2"}, + {file = "Pillow-10.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:522ff4ac3aaf839242c6f4e5b406634bfea002469656ae8358644fc6c4856a3b"}, + {file = "Pillow-10.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:84efb46e8d881bb06b35d1d541aa87f574b58e87f781cbba8d200daa835b42e1"}, + {file = "Pillow-10.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:898f1d306298ff40dc1b9ca24824f0488f6f039bc0e25cfb549d3195ffa17088"}, + {file = "Pillow-10.0.1-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:bcf1207e2f2385a576832af02702de104be71301c2696d0012b1b93fe34aaa5b"}, + {file = "Pillow-10.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5d6c9049c6274c1bb565021367431ad04481ebb54872edecfcd6088d27edd6ed"}, + {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28444cb6ad49726127d6b340217f0627abc8732f1194fd5352dec5e6a0105635"}, + {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de596695a75496deb3b499c8c4f8e60376e0516e1a774e7bc046f0f48cd620ad"}, + {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:2872f2d7846cf39b3dbff64bc1104cc48c76145854256451d33c5faa55c04d1a"}, + {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4ce90f8a24e1c15465048959f1e94309dfef93af272633e8f37361b824532e91"}, + {file = "Pillow-10.0.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ee7810cf7c83fa227ba9125de6084e5e8b08c59038a7b2c9045ef4dde61663b4"}, + {file = "Pillow-10.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b1be1c872b9b5fcc229adeadbeb51422a9633abd847c0ff87dc4ef9bb184ae08"}, + {file = "Pillow-10.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:98533fd7fa764e5f85eebe56c8e4094db912ccbe6fbf3a58778d543cadd0db08"}, + {file = "Pillow-10.0.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:764d2c0daf9c4d40ad12fbc0abd5da3af7f8aa11daf87e4fa1b834000f4b6b0a"}, + {file = "Pillow-10.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fcb59711009b0168d6ee0bd8fb5eb259c4ab1717b2f538bbf36bacf207ef7a68"}, + {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:697a06bdcedd473b35e50a7e7506b1d8ceb832dc238a336bd6f4f5aa91a4b500"}, + {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f665d1e6474af9f9da5e86c2a3a2d2d6204e04d5af9c06b9d42afa6ebde3f21"}, + {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:2fa6dd2661838c66f1a5473f3b49ab610c98a128fc08afbe81b91a1f0bf8c51d"}, + {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:3a04359f308ebee571a3127fdb1bd01f88ba6f6fb6d087f8dd2e0d9bff43f2a7"}, + {file = "Pillow-10.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:723bd25051454cea9990203405fa6b74e043ea76d4968166dfd2569b0210886a"}, + {file = "Pillow-10.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:71671503e3015da1b50bd18951e2f9daf5b6ffe36d16f1eb2c45711a301521a7"}, + {file = "Pillow-10.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:44e7e4587392953e5e251190a964675f61e4dae88d1e6edbe9f36d6243547ff3"}, + {file = "Pillow-10.0.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:3855447d98cced8670aaa63683808df905e956f00348732448b5a6df67ee5849"}, + {file = "Pillow-10.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ed2d9c0704f2dc4fa980b99d565c0c9a543fe5101c25b3d60488b8ba80f0cce1"}, + {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5bb289bb835f9fe1a1e9300d011eef4d69661bb9b34d5e196e5e82c4cb09b37"}, + {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a0d3e54ab1df9df51b914b2233cf779a5a10dfd1ce339d0421748232cea9876"}, + {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:2cc6b86ece42a11f16f55fe8903595eff2b25e0358dec635d0a701ac9586588f"}, + {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:ca26ba5767888c84bf5a0c1a32f069e8204ce8c21d00a49c90dabeba00ce0145"}, + {file = "Pillow-10.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f0b4b06da13275bc02adfeb82643c4a6385bd08d26f03068c2796f60d125f6f2"}, + {file = "Pillow-10.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bc2e3069569ea9dbe88d6b8ea38f439a6aad8f6e7a6283a38edf61ddefb3a9bf"}, + {file = "Pillow-10.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:8b451d6ead6e3500b6ce5c7916a43d8d8d25ad74b9102a629baccc0808c54971"}, + {file = "Pillow-10.0.1-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:32bec7423cdf25c9038fef614a853c9d25c07590e1a870ed471f47fb80b244db"}, + {file = "Pillow-10.0.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7cf63d2c6928b51d35dfdbda6f2c1fddbe51a6bc4a9d4ee6ea0e11670dd981e"}, + {file = "Pillow-10.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f6d3d4c905e26354e8f9d82548475c46d8e0889538cb0657aa9c6f0872a37aa4"}, + {file = "Pillow-10.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:847e8d1017c741c735d3cd1883fa7b03ded4f825a6e5fcb9378fd813edee995f"}, + {file = "Pillow-10.0.1-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:7f771e7219ff04b79e231d099c0a28ed83aa82af91fd5fa9fdb28f5b8d5addaf"}, + {file = "Pillow-10.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:459307cacdd4138edee3875bbe22a2492519e060660eaf378ba3b405d1c66317"}, + {file = "Pillow-10.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b059ac2c4c7a97daafa7dc850b43b2d3667def858a4f112d1aa082e5c3d6cf7d"}, + {file = "Pillow-10.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d6caf3cd38449ec3cd8a68b375e0c6fe4b6fd04edb6c9766b55ef84a6e8ddf2d"}, + {file = "Pillow-10.0.1.tar.gz", hash = "sha256:d72967b06be9300fed5cfbc8b5bafceec48bf7cdc7dab66b1d2549035287191d"}, ] [package.extras] @@ -1742,13 +1864,13 @@ testing = ["pytest", "pytest-cov"] [[package]] name = "platformdirs" -version = "3.10.0" +version = "3.11.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"}, - {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"}, + {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, + {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, ] [package.extras] @@ -1873,47 +1995,47 @@ files = [ [[package]] name = "pydantic" -version = "1.10.12" +version = "1.10.13" description = "Data validation and settings management using python type hints" optional = false python-versions = ">=3.7" files = [ - {file = "pydantic-1.10.12-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a1fcb59f2f355ec350073af41d927bf83a63b50e640f4dbaa01053a28b7a7718"}, - {file = "pydantic-1.10.12-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b7ccf02d7eb340b216ec33e53a3a629856afe1c6e0ef91d84a4e6f2fb2ca70fe"}, - {file = "pydantic-1.10.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fb2aa3ab3728d950bcc885a2e9eff6c8fc40bc0b7bb434e555c215491bcf48b"}, - {file = "pydantic-1.10.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:771735dc43cf8383959dc9b90aa281f0b6092321ca98677c5fb6125a6f56d58d"}, - {file = "pydantic-1.10.12-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ca48477862372ac3770969b9d75f1bf66131d386dba79506c46d75e6b48c1e09"}, - {file = "pydantic-1.10.12-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a5e7add47a5b5a40c49b3036d464e3c7802f8ae0d1e66035ea16aa5b7a3923ed"}, - {file = "pydantic-1.10.12-cp310-cp310-win_amd64.whl", hash = "sha256:e4129b528c6baa99a429f97ce733fff478ec955513630e61b49804b6cf9b224a"}, - {file = "pydantic-1.10.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b0d191db0f92dfcb1dec210ca244fdae5cbe918c6050b342d619c09d31eea0cc"}, - {file = "pydantic-1.10.12-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:795e34e6cc065f8f498c89b894a3c6da294a936ee71e644e4bd44de048af1405"}, - {file = "pydantic-1.10.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69328e15cfda2c392da4e713443c7dbffa1505bc9d566e71e55abe14c97ddc62"}, - {file = "pydantic-1.10.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2031de0967c279df0d8a1c72b4ffc411ecd06bac607a212892757db7462fc494"}, - {file = "pydantic-1.10.12-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:ba5b2e6fe6ca2b7e013398bc7d7b170e21cce322d266ffcd57cca313e54fb246"}, - {file = "pydantic-1.10.12-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2a7bac939fa326db1ab741c9d7f44c565a1d1e80908b3797f7f81a4f86bc8d33"}, - {file = "pydantic-1.10.12-cp311-cp311-win_amd64.whl", hash = "sha256:87afda5539d5140cb8ba9e8b8c8865cb5b1463924d38490d73d3ccfd80896b3f"}, - {file = "pydantic-1.10.12-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:549a8e3d81df0a85226963611950b12d2d334f214436a19537b2efed61b7639a"}, - {file = "pydantic-1.10.12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:598da88dfa127b666852bef6d0d796573a8cf5009ffd62104094a4fe39599565"}, - {file = "pydantic-1.10.12-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba5c4a8552bff16c61882db58544116d021d0b31ee7c66958d14cf386a5b5350"}, - {file = "pydantic-1.10.12-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c79e6a11a07da7374f46970410b41d5e266f7f38f6a17a9c4823db80dadf4303"}, - {file = "pydantic-1.10.12-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab26038b8375581dc832a63c948f261ae0aa21f1d34c1293469f135fa92972a5"}, - {file = "pydantic-1.10.12-cp37-cp37m-win_amd64.whl", hash = "sha256:e0a16d274b588767602b7646fa05af2782576a6cf1022f4ba74cbb4db66f6ca8"}, - {file = "pydantic-1.10.12-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6a9dfa722316f4acf4460afdf5d41d5246a80e249c7ff475c43a3a1e9d75cf62"}, - {file = "pydantic-1.10.12-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a73f489aebd0c2121ed974054cb2759af8a9f747de120acd2c3394cf84176ccb"}, - {file = "pydantic-1.10.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b30bcb8cbfccfcf02acb8f1a261143fab622831d9c0989707e0e659f77a18e0"}, - {file = "pydantic-1.10.12-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2fcfb5296d7877af406ba1547dfde9943b1256d8928732267e2653c26938cd9c"}, - {file = "pydantic-1.10.12-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2f9a6fab5f82ada41d56b0602606a5506aab165ca54e52bc4545028382ef1c5d"}, - {file = "pydantic-1.10.12-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:dea7adcc33d5d105896401a1f37d56b47d443a2b2605ff8a969a0ed5543f7e33"}, - {file = "pydantic-1.10.12-cp38-cp38-win_amd64.whl", hash = "sha256:1eb2085c13bce1612da8537b2d90f549c8cbb05c67e8f22854e201bde5d98a47"}, - {file = "pydantic-1.10.12-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ef6c96b2baa2100ec91a4b428f80d8f28a3c9e53568219b6c298c1125572ebc6"}, - {file = "pydantic-1.10.12-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c076be61cd0177a8433c0adcb03475baf4ee91edf5a4e550161ad57fc90f523"}, - {file = "pydantic-1.10.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d5a58feb9a39f481eda4d5ca220aa8b9d4f21a41274760b9bc66bfd72595b86"}, - {file = "pydantic-1.10.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5f805d2d5d0a41633651a73fa4ecdd0b3d7a49de4ec3fadf062fe16501ddbf1"}, - {file = "pydantic-1.10.12-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:1289c180abd4bd4555bb927c42ee42abc3aee02b0fb2d1223fb7c6e5bef87dbe"}, - {file = "pydantic-1.10.12-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5d1197e462e0364906cbc19681605cb7c036f2475c899b6f296104ad42b9f5fb"}, - {file = "pydantic-1.10.12-cp39-cp39-win_amd64.whl", hash = "sha256:fdbdd1d630195689f325c9ef1a12900524dceb503b00a987663ff4f58669b93d"}, - {file = "pydantic-1.10.12-py3-none-any.whl", hash = "sha256:b749a43aa51e32839c9d71dc67eb1e4221bb04af1033a32e3923d46f9effa942"}, - {file = "pydantic-1.10.12.tar.gz", hash = "sha256:0fe8a415cea8f340e7a9af9c54fc71a649b43e8ca3cc732986116b3cb135d303"}, + {file = "pydantic-1.10.13-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:efff03cc7a4f29d9009d1c96ceb1e7a70a65cfe86e89d34e4a5f2ab1e5693737"}, + {file = "pydantic-1.10.13-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3ecea2b9d80e5333303eeb77e180b90e95eea8f765d08c3d278cd56b00345d01"}, + {file = "pydantic-1.10.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1740068fd8e2ef6eb27a20e5651df000978edce6da6803c2bef0bc74540f9548"}, + {file = "pydantic-1.10.13-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84bafe2e60b5e78bc64a2941b4c071a4b7404c5c907f5f5a99b0139781e69ed8"}, + {file = "pydantic-1.10.13-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bc0898c12f8e9c97f6cd44c0ed70d55749eaf783716896960b4ecce2edfd2d69"}, + {file = "pydantic-1.10.13-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:654db58ae399fe6434e55325a2c3e959836bd17a6f6a0b6ca8107ea0571d2e17"}, + {file = "pydantic-1.10.13-cp310-cp310-win_amd64.whl", hash = "sha256:75ac15385a3534d887a99c713aa3da88a30fbd6204a5cd0dc4dab3d770b9bd2f"}, + {file = "pydantic-1.10.13-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c553f6a156deb868ba38a23cf0df886c63492e9257f60a79c0fd8e7173537653"}, + {file = "pydantic-1.10.13-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5e08865bc6464df8c7d61439ef4439829e3ab62ab1669cddea8dd00cd74b9ffe"}, + {file = "pydantic-1.10.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e31647d85a2013d926ce60b84f9dd5300d44535a9941fe825dc349ae1f760df9"}, + {file = "pydantic-1.10.13-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:210ce042e8f6f7c01168b2d84d4c9eb2b009fe7bf572c2266e235edf14bacd80"}, + {file = "pydantic-1.10.13-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:8ae5dd6b721459bfa30805f4c25880e0dd78fc5b5879f9f7a692196ddcb5a580"}, + {file = "pydantic-1.10.13-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f8e81fc5fb17dae698f52bdd1c4f18b6ca674d7068242b2aff075f588301bbb0"}, + {file = "pydantic-1.10.13-cp311-cp311-win_amd64.whl", hash = "sha256:61d9dce220447fb74f45e73d7ff3b530e25db30192ad8d425166d43c5deb6df0"}, + {file = "pydantic-1.10.13-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4b03e42ec20286f052490423682016fd80fda830d8e4119f8ab13ec7464c0132"}, + {file = "pydantic-1.10.13-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f59ef915cac80275245824e9d771ee939133be38215555e9dc90c6cb148aaeb5"}, + {file = "pydantic-1.10.13-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a1f9f747851338933942db7af7b6ee8268568ef2ed86c4185c6ef4402e80ba8"}, + {file = "pydantic-1.10.13-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:97cce3ae7341f7620a0ba5ef6cf043975cd9d2b81f3aa5f4ea37928269bc1b87"}, + {file = "pydantic-1.10.13-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:854223752ba81e3abf663d685f105c64150873cc6f5d0c01d3e3220bcff7d36f"}, + {file = "pydantic-1.10.13-cp37-cp37m-win_amd64.whl", hash = "sha256:b97c1fac8c49be29486df85968682b0afa77e1b809aff74b83081cc115e52f33"}, + {file = "pydantic-1.10.13-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c958d053453a1c4b1c2062b05cd42d9d5c8eb67537b8d5a7e3c3032943ecd261"}, + {file = "pydantic-1.10.13-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4c5370a7edaac06daee3af1c8b1192e305bc102abcbf2a92374b5bc793818599"}, + {file = "pydantic-1.10.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d6f6e7305244bddb4414ba7094ce910560c907bdfa3501e9db1a7fd7eaea127"}, + {file = "pydantic-1.10.13-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d3a3c792a58e1622667a2837512099eac62490cdfd63bd407993aaf200a4cf1f"}, + {file = "pydantic-1.10.13-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c636925f38b8db208e09d344c7aa4f29a86bb9947495dd6b6d376ad10334fb78"}, + {file = "pydantic-1.10.13-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:678bcf5591b63cc917100dc50ab6caebe597ac67e8c9ccb75e698f66038ea953"}, + {file = "pydantic-1.10.13-cp38-cp38-win_amd64.whl", hash = "sha256:6cf25c1a65c27923a17b3da28a0bdb99f62ee04230c931d83e888012851f4e7f"}, + {file = "pydantic-1.10.13-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8ef467901d7a41fa0ca6db9ae3ec0021e3f657ce2c208e98cd511f3161c762c6"}, + {file = "pydantic-1.10.13-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:968ac42970f57b8344ee08837b62f6ee6f53c33f603547a55571c954a4225691"}, + {file = "pydantic-1.10.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9849f031cf8a2f0a928fe885e5a04b08006d6d41876b8bbd2fc68a18f9f2e3fd"}, + {file = "pydantic-1.10.13-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:56e3ff861c3b9c6857579de282ce8baabf443f42ffba355bf070770ed63e11e1"}, + {file = "pydantic-1.10.13-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f00790179497767aae6bcdc36355792c79e7bbb20b145ff449700eb076c5f96"}, + {file = "pydantic-1.10.13-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:75b297827b59bc229cac1a23a2f7a4ac0031068e5be0ce385be1462e7e17a35d"}, + {file = "pydantic-1.10.13-cp39-cp39-win_amd64.whl", hash = "sha256:e70ca129d2053fb8b728ee7d1af8e553a928d7e301a311094b8a0501adc8763d"}, + {file = "pydantic-1.10.13-py3-none-any.whl", hash = "sha256:b87326822e71bd5f313e7d3bfdc77ac3247035ac10b0c0618bd99dcf95b1e687"}, + {file = "pydantic-1.10.13.tar.gz", hash = "sha256:32c8b48dcd3b2ac4e78b0ba4af3a2c2eb6048cb75202f0ea7b34feb740efc340"}, ] [package.dependencies] @@ -1939,21 +2061,22 @@ plugins = ["importlib-metadata"] [[package]] name = "pylint" -version = "2.17.5" +version = "3.0.1" description = "python code static checker" optional = false -python-versions = ">=3.7.2" +python-versions = ">=3.8.0" files = [ - {file = "pylint-2.17.5-py3-none-any.whl", hash = "sha256:73995fb8216d3bed149c8d51bba25b2c52a8251a2c8ac846ec668ce38fab5413"}, - {file = "pylint-2.17.5.tar.gz", hash = "sha256:f7b601cbc06fef7e62a754e2b41294c2aa31f1cb659624b9a85bcba29eaf8252"}, + {file = "pylint-3.0.1-py3-none-any.whl", hash = "sha256:9c90b89e2af7809a1697f6f5f93f1d0e518ac566e2ac4d2af881a69c13ad01ea"}, + {file = "pylint-3.0.1.tar.gz", hash = "sha256:81c6125637be216b4652ae50cc42b9f8208dfb725cdc7e04c48f6902f4dbdf40"}, ] [package.dependencies] -astroid = ">=2.15.6,<=2.17.0-dev0" +astroid = ">=3.0.0,<=3.1.0-dev0" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} dill = [ {version = ">=0.2", markers = "python_version < \"3.11\""}, - {version = ">=0.3.6", markers = "python_version >= \"3.11\""}, + {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, + {version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, ] isort = ">=4.2.5,<6" mccabe = ">=0.6,<0.8" @@ -1967,13 +2090,13 @@ testutils = ["gitpython (>3)"] [[package]] name = "pyparsing" -version = "3.0.9" +version = "3.1.1" description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false python-versions = ">=3.6.8" files = [ - {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, - {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, + {file = "pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"}, + {file = "pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"}, ] [package.extras] @@ -2056,13 +2179,13 @@ js = ["pyduktape2 (>=0.4.3,<0.5.0)"] [[package]] name = "pytest" -version = "7.4.0" +version = "7.4.2" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-7.4.0-py3-none-any.whl", hash = "sha256:78bf16451a2eb8c7a2ea98e32dc119fd2aa758f1d5d66dbf0a59d69a3969df32"}, - {file = "pytest-7.4.0.tar.gz", hash = "sha256:b4bf8c45bd59934ed84001ad51e11b4ee40d40a1229d2c79f9c592b0a3f6bd8a"}, + {file = "pytest-7.4.2-py3-none-any.whl", hash = "sha256:1d881c6124e08ff0a1bb75ba3ec0bfd8b5354a01c194ddd5a0a870a48d99b002"}, + {file = "pytest-7.4.2.tar.gz", hash = "sha256:a766259cfab564a2ad52cb1aae1b881a75c3eb7e34ca3779697c23ed47c47069"}, ] [package.dependencies] @@ -2106,13 +2229,13 @@ chardet = "*" [[package]] name = "pytz" -version = "2023.3" +version = "2023.3.post1" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" files = [ - {file = "pytz-2023.3-py2.py3-none-any.whl", hash = "sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb"}, - {file = "pytz-2023.3.tar.gz", hash = "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588"}, + {file = "pytz-2023.3.post1-py2.py3-none-any.whl", hash = "sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7"}, + {file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"}, ] [[package]] @@ -2177,103 +2300,119 @@ files = [ [[package]] name = "rapidfuzz" -version = "2.15.1" +version = "2.15.2" description = "rapid fuzzy string matching" optional = false python-versions = ">=3.7" files = [ - {file = "rapidfuzz-2.15.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fc0bc259ebe3b93e7ce9df50b3d00e7345335d35acbd735163b7c4b1957074d3"}, - {file = "rapidfuzz-2.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d59fb3a410d253f50099d7063855c2b95df1ef20ad93ea3a6b84115590899f25"}, - {file = "rapidfuzz-2.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c525a3da17b6d79d61613096c8683da86e3573e807dfaecf422eea09e82b5ba6"}, - {file = "rapidfuzz-2.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4deae6a918ecc260d0c4612257be8ba321d8e913ccb43155403842758c46fbe"}, - {file = "rapidfuzz-2.15.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2577463d10811386e704a3ab58b903eb4e2a31b24dfd9886d789b0084d614b01"}, - {file = "rapidfuzz-2.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f67d5f56aa48c0da9de4ab81bffb310683cf7815f05ea38e5aa64f3ba4368339"}, - {file = "rapidfuzz-2.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d7927722ff43690e52b3145b5bd3089151d841d350c6f8378c3cfac91f67573a"}, - {file = "rapidfuzz-2.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6534afc787e32c4104f65cdeb55f6abe4d803a2d0553221d00ef9ce12788dcde"}, - {file = "rapidfuzz-2.15.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d0ae6ec79a1931929bb9dd57bc173eb5ba4c7197461bf69e3a34b6dd314feed2"}, - {file = "rapidfuzz-2.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:be7ccc45c4d1a7dfb595f260e8022a90c6cb380c2a346ee5aae93f85c96d362b"}, - {file = "rapidfuzz-2.15.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:8ba013500a2b68c64b2aecc5fb56a2dad6c2872cf545a0308fd044827b6e5f6a"}, - {file = "rapidfuzz-2.15.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:4d9f7d10065f657f960b48699e7dddfce14ab91af4bab37a215f0722daf0d716"}, - {file = "rapidfuzz-2.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7e24a1b802cea04160b3fccd75d2d0905065783ebc9de157d83c14fb9e1c6ce2"}, - {file = "rapidfuzz-2.15.1-cp310-cp310-win32.whl", hash = "sha256:dffdf03499e0a5b3442951bb82b556333b069e0661e80568752786c79c5b32de"}, - {file = "rapidfuzz-2.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:7d150d90a7c6caae7962f29f857a4e61d42038cfd82c9df38508daf30c648ae7"}, - {file = "rapidfuzz-2.15.1-cp310-cp310-win_arm64.whl", hash = "sha256:87c30e9184998ff6eb0fa9221f94282ce7c908fd0da96a1ef66ecadfaaa4cdb7"}, - {file = "rapidfuzz-2.15.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6986413cb37035eb796e32f049cbc8c13d8630a4ac1e0484e3e268bb3662bd1b"}, - {file = "rapidfuzz-2.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a72f26e010d4774b676f36e43c0fc8a2c26659efef4b3be3fd7714d3491e9957"}, - {file = "rapidfuzz-2.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b5cd54c98a387cca111b3b784fc97a4f141244bbc28a92d4bde53f164464112e"}, - {file = "rapidfuzz-2.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da7fac7c3da39f93e6b2ebe386ed0ffe1cefec91509b91857f6e1204509e931f"}, - {file = "rapidfuzz-2.15.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f976e76ac72f650790b3a5402431612175b2ac0363179446285cb3c901136ca9"}, - {file = "rapidfuzz-2.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:abde47e1595902a490ed14d4338d21c3509156abb2042a99e6da51f928e0c117"}, - {file = "rapidfuzz-2.15.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca8f1747007a3ce919739a60fa95c5325f7667cccf6f1c1ef18ae799af119f5e"}, - {file = "rapidfuzz-2.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c35da09ab9797b020d0d4f07a66871dfc70ea6566363811090353ea971748b5a"}, - {file = "rapidfuzz-2.15.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a3a769ca7580686a66046b77df33851b3c2d796dc1eb60c269b68f690f3e1b65"}, - {file = "rapidfuzz-2.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d50622efefdb03a640a51a6123748cd151d305c1f0431af762e833d6ffef71f0"}, - {file = "rapidfuzz-2.15.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b7461b0a7651d68bc23f0896bffceea40f62887e5ab8397bf7caa883592ef5cb"}, - {file = "rapidfuzz-2.15.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:074ee9e17912e025c72a5780ee4c7c413ea35cd26449719cc399b852d4e42533"}, - {file = "rapidfuzz-2.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7025fb105a11f503943f17718cdb8241ea3bb4d812c710c609e69bead40e2ff0"}, - {file = "rapidfuzz-2.15.1-cp311-cp311-win32.whl", hash = "sha256:2084d36b95139413cef25e9487257a1cc892b93bd1481acd2a9656f7a1d9930c"}, - {file = "rapidfuzz-2.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:5a738fcd24e34bce4b19126b92fdae15482d6d3a90bd687fd3d24ce9d28ce82d"}, - {file = "rapidfuzz-2.15.1-cp311-cp311-win_arm64.whl", hash = "sha256:dc3cafa68cfa54638632bdcadf9aab89a3d182b4a3f04d2cad7585ed58ea8731"}, - {file = "rapidfuzz-2.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3c53d57ba7a88f7bf304d4ea5a14a0ca112db0e0178fff745d9005acf2879f7d"}, - {file = "rapidfuzz-2.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6ee758eec4cf2215dc8d8eafafcea0d1f48ad4b0135767db1b0f7c5c40a17dd"}, - {file = "rapidfuzz-2.15.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2d93ba3ae59275e7a3a116dac4ffdb05e9598bf3ee0861fecc5b60fb042d539e"}, - {file = "rapidfuzz-2.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7c3ff75e647908ddbe9aa917fbe39a112d5631171f3fcea5809e2363e525a59d"}, - {file = "rapidfuzz-2.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6d89c421702474c6361245b6b199e6e9783febacdbfb6b002669e6cb3ef17a09"}, - {file = "rapidfuzz-2.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f69e6199fec0f58f9a89afbbaea78d637c7ce77f656a03a1d6ea6abdc1d44f8"}, - {file = "rapidfuzz-2.15.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:41dfea282844d0628279b4db2929da0dacb8ac317ddc5dcccc30093cf16357c1"}, - {file = "rapidfuzz-2.15.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2dd03477feefeccda07b7659dd614f6738cfc4f9b6779dd61b262a73b0a9a178"}, - {file = "rapidfuzz-2.15.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:5efe035aa76ff37d1b5fa661de3c4b4944de9ff227a6c0b2e390a95c101814c0"}, - {file = "rapidfuzz-2.15.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:ed2cf7c69102c7a0a06926d747ed855bc836f52e8d59a5d1e3adfd980d1bd165"}, - {file = "rapidfuzz-2.15.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a0e441d4c2025110ec3eba5d54f11f78183269a10152b3a757a739ffd1bb12bf"}, - {file = "rapidfuzz-2.15.1-cp37-cp37m-win32.whl", hash = "sha256:a4a54efe17cc9f53589c748b53f28776dfdfb9bc83619685740cb7c37985ac2f"}, - {file = "rapidfuzz-2.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:bb8318116ecac4dfb84841d8b9b461f9bb0c3be5b616418387d104f72d2a16d1"}, - {file = "rapidfuzz-2.15.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e9296c530e544f68858c3416ad1d982a1854f71e9d2d3dcedb5b216e6d54f067"}, - {file = "rapidfuzz-2.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:49c4bcdb9238f11f8c4eba1b898937f09b92280d6f900023a8216008f299b41a"}, - {file = "rapidfuzz-2.15.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ebb40a279e134bb3fef099a8b58ed5beefb201033d29bdac005bddcdb004ef71"}, - {file = "rapidfuzz-2.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7381c11cb590bbd4e6f2d8779a0b34fdd2234dfa13d0211f6aee8ca166d9d05"}, - {file = "rapidfuzz-2.15.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfdcdedfd12a0077193f2cf3626ff6722c5a184adf0d2d51f1ec984bf21c23c3"}, - {file = "rapidfuzz-2.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f85bece1ec59bda8b982bd719507d468d4df746dfb1988df11d916b5e9fe19e8"}, - {file = "rapidfuzz-2.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1b393f4a1eaa6867ffac6aef58cfb04bab2b3d7d8e40b9fe2cf40dd1d384601"}, - {file = "rapidfuzz-2.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:53de456ef020a77bf9d7c6c54860a48e2e902584d55d3001766140ac45c54bc7"}, - {file = "rapidfuzz-2.15.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2492330bc38b76ed967eab7bdaea63a89b6ceb254489e2c65c3824efcbf72993"}, - {file = "rapidfuzz-2.15.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:099e4c6befaa8957a816bdb67ce664871f10aaec9bebf2f61368cf7e0869a7a1"}, - {file = "rapidfuzz-2.15.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:46599b2ad4045dd3f794a24a6db1e753d23304699d4984462cf1ead02a51ddf3"}, - {file = "rapidfuzz-2.15.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:591f19d16758a3c55c9d7a0b786b40d95599a5b244d6eaef79c7a74fcf5104d8"}, - {file = "rapidfuzz-2.15.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ed17359061840eb249f8d833cb213942e8299ffc4f67251a6ed61833a9f2ea20"}, - {file = "rapidfuzz-2.15.1-cp38-cp38-win32.whl", hash = "sha256:aa1e5aad325168e29bf8e17006479b97024aa9d2fdbe12062bd2f8f09080acf8"}, - {file = "rapidfuzz-2.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:c2bb68832b140c551dbed691290bef4ee6719d4e8ce1b7226a3736f61a9d1a83"}, - {file = "rapidfuzz-2.15.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3fac40972cf7b6c14dded88ae2331eb50dfbc278aa9195473ef6fc6bfe49f686"}, - {file = "rapidfuzz-2.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f0e456cbdc0abf39352800309dab82fd3251179fa0ff6573fa117f51f4e84be8"}, - {file = "rapidfuzz-2.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:22b9d22022b9d09fd4ece15102270ab9b6a5cfea8b6f6d1965c1df7e3783f5ff"}, - {file = "rapidfuzz-2.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46754fe404a9a6f5cbf7abe02d74af390038d94c9b8c923b3f362467606bfa28"}, - {file = "rapidfuzz-2.15.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:91abb8bf7610efe326394adc1d45e1baca8f360e74187f3fa0ef3df80cdd3ba6"}, - {file = "rapidfuzz-2.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e40a2f60024f9d3c15401e668f732800114a023f3f8d8c40f1521a62081ff054"}, - {file = "rapidfuzz-2.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a48ee83916401ac73938526d7bd804e01d2a8fe61809df7f1577b0b3b31049a3"}, - {file = "rapidfuzz-2.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c71580052f9dbac443c02f60484e5a2e5f72ad4351b84b2009fbe345b1f38422"}, - {file = "rapidfuzz-2.15.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:82b86d5b8c1b9bcbc65236d75f81023c78d06a721c3e0229889ff4ed5c858169"}, - {file = "rapidfuzz-2.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:fc4528b7736e5c30bc954022c2cf410889abc19504a023abadbc59cdf9f37cae"}, - {file = "rapidfuzz-2.15.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e1e0e569108a5760d8f01d0f2148dd08cc9a39ead79fbefefca9e7c7723c7e88"}, - {file = "rapidfuzz-2.15.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:94e1c97f0ad45b05003806f8a13efc1fc78983e52fa2ddb00629003acf4676ef"}, - {file = "rapidfuzz-2.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47e81767a962e41477a85ad7ac937e34d19a7d2a80be65614f008a5ead671c56"}, - {file = "rapidfuzz-2.15.1-cp39-cp39-win32.whl", hash = "sha256:79fc574aaf2d7c27ec1022e29c9c18f83cdaf790c71c05779528901e0caad89b"}, - {file = "rapidfuzz-2.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:f3dd4bcef2d600e0aa121e19e6e62f6f06f22a89f82ef62755e205ce14727874"}, - {file = "rapidfuzz-2.15.1-cp39-cp39-win_arm64.whl", hash = "sha256:cac095cbdf44bc286339a77214bbca6d4d228c9ebae3da5ff6a80aaeb7c35634"}, - {file = "rapidfuzz-2.15.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b89d1126be65c85763d56e3b47d75f1a9b7c5529857b4d572079b9a636eaa8a7"}, - {file = "rapidfuzz-2.15.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19b7460e91168229768be882ea365ba0ac7da43e57f9416e2cfadc396a7df3c2"}, - {file = "rapidfuzz-2.15.1-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c33c03e7092642c38f8a15ca2d8fc38da366f2526ec3b46adf19d5c7aa48ba"}, - {file = "rapidfuzz-2.15.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:040faca2e26d9dab5541b45ce72b3f6c0e36786234703fc2ac8c6f53bb576743"}, - {file = "rapidfuzz-2.15.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:6e2a3b23e1e9aa13474b3c710bba770d0dcc34d517d3dd6f97435a32873e3f28"}, - {file = "rapidfuzz-2.15.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2e597b9dfd6dd180982684840975c458c50d447e46928efe3e0120e4ec6f6686"}, - {file = "rapidfuzz-2.15.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d14752c9dd2036c5f36ebe8db5f027275fa7d6b3ec6484158f83efb674bab84e"}, - {file = "rapidfuzz-2.15.1-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:558224b6fc6124d13fa32d57876f626a7d6188ba2a97cbaea33a6ee38a867e31"}, - {file = "rapidfuzz-2.15.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c89cfa88dc16fd8c9bcc0c7f0b0073f7ef1e27cceb246c9f5a3f7004fa97c4d"}, - {file = "rapidfuzz-2.15.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:509c5b631cd64df69f0f011893983eb15b8be087a55bad72f3d616b6ae6a0f96"}, - {file = "rapidfuzz-2.15.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0f73a04135a03a6e40393ecd5d46a7a1049d353fc5c24b82849830d09817991f"}, - {file = "rapidfuzz-2.15.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c99d53138a2dfe8ada67cb2855719f934af2733d726fbf73247844ce4dd6dd5"}, - {file = "rapidfuzz-2.15.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f01fa757f0fb332a1f045168d29b0d005de6c39ee5ce5d6c51f2563bb53c601b"}, - {file = "rapidfuzz-2.15.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60368e1add6e550faae65614844c43f8a96e37bf99404643b648bf2dba92c0fb"}, - {file = "rapidfuzz-2.15.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:785744f1270828cc632c5a3660409dee9bcaac6931a081bae57542c93e4d46c4"}, - {file = "rapidfuzz-2.15.1.tar.gz", hash = "sha256:d62137c2ca37aea90a11003ad7dc109c8f1739bfbe5a9a217f3cdb07d7ac00f6"}, + {file = "rapidfuzz-2.15.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b2e64e08588965b2490ee6b581d3901dd207ec3f6919b1c8da495183acfde953"}, + {file = "rapidfuzz-2.15.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0af367ecb515ae695d7da21b0bd05784f388621e9d6a2e21dc96e6ba5d18d95f"}, + {file = "rapidfuzz-2.15.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:892d0d75f0b820d949b0bf9502f746cfcbaab98d8a47653fa8369607fde250f1"}, + {file = "rapidfuzz-2.15.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bcf1d564ec948a4bf0750252579871be1790de66200f4cf8d624446017d74ee9"}, + {file = "rapidfuzz-2.15.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ab2f86733fe34cd825b6cbc688d41b7eb19ae0ce1ea7dc57eac13862d4b9ecb5"}, + {file = "rapidfuzz-2.15.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8bdc497a8930428fa35158c58a744ddaa930621b80adfb61884456d8f184288a"}, + {file = "rapidfuzz-2.15.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:97f6c4948ca07ad1a30e70da56ec672422ef6bf18d10b6a881e7a64ba73a126d"}, + {file = "rapidfuzz-2.15.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f3e2cc54edffd62ae38a03802b79c0f0cec6c2f89819607350fb5c4c00442d7"}, + {file = "rapidfuzz-2.15.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0a252ccb39d628d0f68bab80ba18a02e0d1853a0ec71991e665a6bf81a28c79a"}, + {file = "rapidfuzz-2.15.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ff82edd7ff9796e2ca349aa583fcb6b9ae96db0b6c5a76dcf0c1f67b1cb86964"}, + {file = "rapidfuzz-2.15.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0860877f455833e5ed7113e859a9b2bf9670b22fdc7a48b81384a04c4a8e8a48"}, + {file = "rapidfuzz-2.15.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:1a78c75ad082fdd58fdcf04551b7737c96aa9e870f1b008b881fc179e7dc6208"}, + {file = "rapidfuzz-2.15.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a9df54f67a22a2447b8b6648880de9ede5e2a2e568644e1de770df9bef5c2fb4"}, + {file = "rapidfuzz-2.15.2-cp310-cp310-win32.whl", hash = "sha256:055e85bb1237142da4ed024f9986c3720d484036f8dd550b090582f288b71bb9"}, + {file = "rapidfuzz-2.15.2-cp310-cp310-win_amd64.whl", hash = "sha256:8f220df380c127ef8a9129d8878dabf99ed0f543597cf81dfdd30eca03843666"}, + {file = "rapidfuzz-2.15.2-cp310-cp310-win_arm64.whl", hash = "sha256:49972e202251ba60de41a7add8e86a055478020eabf3339300f46a8fdc35d048"}, + {file = "rapidfuzz-2.15.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:29352510bcc2b7c3c7f3c1ab6f4c2115dc640cd79a9dc8e01adbae19fb96d359"}, + {file = "rapidfuzz-2.15.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1ae3f741b9b3e95908158e6e56a5f11c1abc51754801dccd495e5cba734c541e"}, + {file = "rapidfuzz-2.15.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7a716bbded611cc82f7b27dcd7335b7bae49706c97a8738283464ff1536e7407"}, + {file = "rapidfuzz-2.15.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ff36fb50f02259402d7cbdc96f75671b2cb14550db5ad6534a09a7f4940d796"}, + {file = "rapidfuzz-2.15.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d60a2368e2564155d7209143a6b1dafa1eb457f31cf44698f917cba608d2341f"}, + {file = "rapidfuzz-2.15.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c02fd6d75de19633f622daf6584cb6ed3148eac3a2b6b08fd3539c166de2921f"}, + {file = "rapidfuzz-2.15.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a5c875da0e0c9709dbdc6e33a7f061192e98943817e6d0e1f5d1d8b07050e349"}, + {file = "rapidfuzz-2.15.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb74dcfadf0c5f520074455fe51fa0f62876e5473f5f60521d153afef888ef70"}, + {file = "rapidfuzz-2.15.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5b31f65137e8e45c4fb2dda394bb31598cff8290fb0ce5e66c8cf47d1bc554cb"}, + {file = "rapidfuzz-2.15.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:689008633f88cf8802dbd281ac745775aeeee67525d532fcbabda0c8bc5b2e32"}, + {file = "rapidfuzz-2.15.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:02fd52352346c965fdc9de9d26f55d61941cc27c876a589eeb3f4efdb7dffdb1"}, + {file = "rapidfuzz-2.15.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:454ab8b5c8fc526243133dab013f0a3355efcc1200829cfba7ef56280c7763fc"}, + {file = "rapidfuzz-2.15.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fd40f263d1ad1cdd4b657e867654674315eea9abf3fce64269610b7bc81265ee"}, + {file = "rapidfuzz-2.15.2-cp311-cp311-win32.whl", hash = "sha256:66db4817c54a6ca91234959c4f6d0cb1fd943ddfb379ee7f9e6dce99b522554e"}, + {file = "rapidfuzz-2.15.2-cp311-cp311-win_amd64.whl", hash = "sha256:3f8eaf74105ffea1d15198b109ff0ca7b6dccafc61e05fa5f98a53d925707c57"}, + {file = "rapidfuzz-2.15.2-cp311-cp311-win_arm64.whl", hash = "sha256:ed0ec102b5e405d7562e4df05729a89467ae5c8a364c52fcf8c129398e82e6c5"}, + {file = "rapidfuzz-2.15.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:c0c8475f029a50bf65571b59d332fccd3eb33c5e49283868490a973e9ca7c33c"}, + {file = "rapidfuzz-2.15.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ee9ee24eb431d5f73d0b255dc8e66272967a58cd6670cca984a81bbfc7dde904"}, + {file = "rapidfuzz-2.15.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a1ecd818c108cefea2c02a9a716e223f811e612a050c8625555336b65d1cabef"}, + {file = "rapidfuzz-2.15.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3eda119ebcf501dc35054abd9a187b5249b3d93b3965485371efb48e735b72c"}, + {file = "rapidfuzz-2.15.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e7ba83d0846991f67c2ec12ff8530b5e0f929e32a57352080b5f95aade0a62e"}, + {file = "rapidfuzz-2.15.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c279864902a9538b17547e0d9399f05f36ebb9f3356bc5bc4cec2ba137fa5a17"}, + {file = "rapidfuzz-2.15.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c94e247011fa7eea14d210123ebda2ecdf98ccc114254353edb4501ee8a19d7"}, + {file = "rapidfuzz-2.15.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675c9052b3a04a4b33c92f0b8952ef2439163853422cc583286351ee82fc4d26"}, + {file = "rapidfuzz-2.15.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c2d64820ae7a795082208a2d762c6a291aca116b86e35c2831e468ae3d4bb5cd"}, + {file = "rapidfuzz-2.15.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:c0f12cc4a8216edfaa0511aae34d8b2f824a05cfe5a26a08de9cf180ae584e88"}, + {file = "rapidfuzz-2.15.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e27da009ef39dc64297bcdf09c8d4c79ac90d0015fcf0a01af2a802cd7e1803"}, + {file = "rapidfuzz-2.15.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:ea541d56fbb7de717a013790c2bce655252da220f23db0c6ce24f628cbe228e6"}, + {file = "rapidfuzz-2.15.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9f52338e4e69aff4260c84275c7a704d198315b9b84303e67e584971409347d0"}, + {file = "rapidfuzz-2.15.2-cp312-cp312-win32.whl", hash = "sha256:d5550e0078b2618c4ea7ea761053337eb7c5f5cc515f4941d8108ce9b0c7ee8c"}, + {file = "rapidfuzz-2.15.2-cp312-cp312-win_amd64.whl", hash = "sha256:19f72cfe2553c83c5e383851aba2891dafbb6446b6ae1ec0637333558ddd564e"}, + {file = "rapidfuzz-2.15.2-cp312-cp312-win_arm64.whl", hash = "sha256:423ef2ca785da77cd081d5bbc57035dc9b91500008a1b8e8e811a0ba3871a5ee"}, + {file = "rapidfuzz-2.15.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0a02f1b08879a74aa7b4e562823f67a2e913fe3bd18c5346d9270d16fc588500"}, + {file = "rapidfuzz-2.15.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a100ca26804b9ac2b2c0f70c632102bc0005d2cafe6d748f5d01dbe569c378bf"}, + {file = "rapidfuzz-2.15.2-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e9fb88659cff92eba1b441efe426a4c349372137ee713b3a3933cc6ead73234"}, + {file = "rapidfuzz-2.15.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:58073d3ebed8c0f51e163654dcb5e34f1e8b67f7b23361441861c6021243184b"}, + {file = "rapidfuzz-2.15.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4f55ad06ff79c2ffa3d1f5b38ce8f3082fa4db57c04be7de85243bd0625ca4ef"}, + {file = "rapidfuzz-2.15.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ceecb57ec9e5c0d5bd9bd2881731c59cdc9a2c51711fd0b29b5bf14bdcab465f"}, + {file = "rapidfuzz-2.15.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:6c32c855e16ef3890037569f6f1299857172c674cd8946244e5fb7d5cacb771a"}, + {file = "rapidfuzz-2.15.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e46f82fda6f969da8be5a8f33a057b2a9c6e7b80ab8679344a72e6fb708a48fc"}, + {file = "rapidfuzz-2.15.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:6edc9b138797c60c1276171d8c97f53b17e304ade37c022ff97b1e995f79ba79"}, + {file = "rapidfuzz-2.15.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:b32e4fd756a32f92b6f8b707a682ab4054b90c835021c01d81baba22f6277172"}, + {file = "rapidfuzz-2.15.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:5fb89d3a8d389eca258aba913adc81a8b8231b48896abbcb2f05768455584c4e"}, + {file = "rapidfuzz-2.15.2-cp37-cp37m-win32.whl", hash = "sha256:03ceea6cc9e4442379aa8581fbe61bad6e12d7938b16fbdc8442c8d915ad1154"}, + {file = "rapidfuzz-2.15.2-cp37-cp37m-win_amd64.whl", hash = "sha256:cb9f24fafb5ed77fc2ce23b1d8351efcfdb4c05b5f3b96bf004e89344a3d30ed"}, + {file = "rapidfuzz-2.15.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:aab133bea22acbd3fa3740989a2f21d0e275efede2bf406a25a84392086c32f9"}, + {file = "rapidfuzz-2.15.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4e110224e0de4fe4876224104a79550d18df15459fe94adf24b4b644e31d69cc"}, + {file = "rapidfuzz-2.15.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:780b006bd007e4a071a9c022733f56b0df1f8c269bb7e9dbe079a79e8d9d3b8d"}, + {file = "rapidfuzz-2.15.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:898bee3fd785ee695d4cb0d3c689407809cafca472851904aa78143ca6634903"}, + {file = "rapidfuzz-2.15.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34623f51ed5dcbb2ddb97b2fefda34e7b53a047c71aac5ec6b72e42d5263f8b2"}, + {file = "rapidfuzz-2.15.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02b3612c9318006290e6e6d82f1f98b83aa4cf062075c5ea03fac71ba4d31499"}, + {file = "rapidfuzz-2.15.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9dd0aab9ffab0010ae28b60f64c98c09c93086b3dc0cb3da863e53a3ca14a2bd"}, + {file = "rapidfuzz-2.15.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e772677a84a166531f975301cb91db234a56eb5b6785e79ff5cb335251580efc"}, + {file = "rapidfuzz-2.15.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1b7a670aed23d9a8d27a0031fa059e8f50f3f7287bd5a075a448251029794de9"}, + {file = "rapidfuzz-2.15.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:830f799e5ec534633dee3b26c6d5398461dd3ced22118ab590f7fd0f91263058"}, + {file = "rapidfuzz-2.15.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:e427a9c9c1a8adac7b0293ddfe8f5885edf4f425cfd8a3b7ceae20434ec0663c"}, + {file = "rapidfuzz-2.15.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3a3df80a264a999a120e637f98a1460d4f2c815323dd605e2022eef97db55448"}, + {file = "rapidfuzz-2.15.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:1496540d2ce8b1b9f340e652b9306674fa657d8d3a0b9629421cf31ace219092"}, + {file = "rapidfuzz-2.15.2-cp38-cp38-win32.whl", hash = "sha256:aabd9da406fec009c08d2cd1bfa444ee568edf8e7c9a9d5e609885fc81c243a3"}, + {file = "rapidfuzz-2.15.2-cp38-cp38-win_amd64.whl", hash = "sha256:d21c66b15fbe253d48399a9d9db361ab2b3462a59b78c9279d9d7d347f5ded91"}, + {file = "rapidfuzz-2.15.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7ef4dea11b87234e8b08ee47df9d869ae071bdacb5e55df82673ab9fa622f1e0"}, + {file = "rapidfuzz-2.15.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ee3d9bc953f232bffcbd973137505f6cf5be5ed9c2cdc5e4a5db4be33bf5a734"}, + {file = "rapidfuzz-2.15.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:efb94f6adbbbdacac9f687eb151ae9220ee9f141bb259fe07e82a2087114c17e"}, + {file = "rapidfuzz-2.15.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9c3e07d13661871aebc325b9b3acbd42355a1df1e21ad0435fc81980fd20607"}, + {file = "rapidfuzz-2.15.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01bae563a010900abba857e485c3747a78d61c88431cc3d9bea894c7c3e521f"}, + {file = "rapidfuzz-2.15.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a09187df670e344468597b2c6f5ddc7651be75c4b594baa62c9261a144e5c058"}, + {file = "rapidfuzz-2.15.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fcbfe5497c93a1b8717ea38b41b47f7e9d155fbc36a6bbfa84b8c901875465af"}, + {file = "rapidfuzz-2.15.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f997a93b85c5798fe139a46c68c85de06ff75b4fd52d52463e46573bff39774"}, + {file = "rapidfuzz-2.15.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:199676b8a19746017a0fbad0eb11380cbda4f635b6d2ee477544743b7f99d947"}, + {file = "rapidfuzz-2.15.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:499a170088049258d5118bff8cf88f88ef6054544edbea0f2920eba8669e5eb9"}, + {file = "rapidfuzz-2.15.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:a69ebe7b493557c425ca1d64bf0b5599f0405772b5179070adc2f62f7867836f"}, + {file = "rapidfuzz-2.15.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:00bd97cd31aad049400b70e0872b54457c4769b296176d5b064f6a5d6391909f"}, + {file = "rapidfuzz-2.15.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:cadabe1287314bc5053f57c6043df04e33cf5fba33514ca0f4c7b0b8476063a0"}, + {file = "rapidfuzz-2.15.2-cp39-cp39-win32.whl", hash = "sha256:301709491a7960473c34501602cd85a7653df7e0d4189c0ded1e0fd86a83b6ca"}, + {file = "rapidfuzz-2.15.2-cp39-cp39-win_amd64.whl", hash = "sha256:9c968a2330b6f2de93e6d54ef7ebd5e5724ee730cd6f225e977cebc7af1df366"}, + {file = "rapidfuzz-2.15.2-cp39-cp39-win_arm64.whl", hash = "sha256:c6776c27385f3fe5810f3c389f01957d5fa6c3c7f7a76fd9815f2933674f787f"}, + {file = "rapidfuzz-2.15.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0b4c632b684478fd8780970685a0c575a5bee65692727ff9898acf75d61cb3ff"}, + {file = "rapidfuzz-2.15.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05b1cfca399461e1f534fbeb3c87f39f2c37ed71f8d1dfb02b78a5b3f81bf0ef"}, + {file = "rapidfuzz-2.15.2-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba35ec7256a86270a5e2d193ff0089cf84787a1aa94a48f5f6105f86feb8ca38"}, + {file = "rapidfuzz-2.15.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bdfc137bbe2e942321f725004395444d2594077932ad55f927d6b6e884c09142"}, + {file = "rapidfuzz-2.15.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:153366a00ea22e79f051298fb9606bf9472bca5ce1b82319070fcbea2f7b97d7"}, + {file = "rapidfuzz-2.15.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6bf1c60432755ed8ab5870a932b7c9382435a240d727d3b5e68f9ff9f83a3556"}, + {file = "rapidfuzz-2.15.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a358eb275eadad0ac44f0fdb2255d6b373908c742f94e06b2190dbfaaaaa49b8"}, + {file = "rapidfuzz-2.15.2-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a34136ab5bbd1b9643f9072102a88471995100b5d734cfaa946d3b63e332e653"}, + {file = "rapidfuzz-2.15.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:796e53c5f78c159aff8e5003bca41bfe007c6a63ee7e7a289765a7db30429197"}, + {file = "rapidfuzz-2.15.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:2ce4a91be05c28b57d5019b09cf0970305760623e34da95f2cddd9067e7fe91d"}, + {file = "rapidfuzz-2.15.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:237d5b4cbfacdef0a84f2ead0b4819c586bb74d05f4a380bd2f8489464b7b7fa"}, + {file = "rapidfuzz-2.15.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773dff970af0474d7d551a953a0075840ced30315d4885e038a289857ed33365"}, + {file = "rapidfuzz-2.15.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c536fbbebb496a76cac3a45f139bf023807b1fb6e2262e77f875fc9b6802ec4e"}, + {file = "rapidfuzz-2.15.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e85579a698c9436c2dac1583d4b07cca635faeb9a7adeab03d42938ec0fe9f58"}, + {file = "rapidfuzz-2.15.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:77c540546c0ea7cb229cd9823f9cd174c93988657727880bfdd6db7f353f93d6"}, + {file = "rapidfuzz-2.15.2.tar.gz", hash = "sha256:bfc1d38a7adcbe8912f980a5f46f27a801dd8655582ff0d4a2c0431c02b7ce33"}, ] [package.extras] @@ -2370,13 +2509,13 @@ python-debian = ">=0.1.38,<0.1.45 || >0.1.45,<0.1.46 || >0.1.46,<0.1.47 || >0.1. [[package]] name = "rich" -version = "13.5.2" +version = "13.6.0" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.7.0" files = [ - {file = "rich-13.5.2-py3-none-any.whl", hash = "sha256:146a90b3b6b47cac4a73c12866a499e9817426423f57c5a66949c086191a8808"}, - {file = "rich-13.5.2.tar.gz", hash = "sha256:fb9d6c0a0f643c99eed3875b5377a184132ba9be4d61516a55273d3554d75a39"}, + {file = "rich-13.6.0-py3-none-any.whl", hash = "sha256:2b38e2fe9ca72c9a00170a1a2d20c63c790d0e10ef1fe35eba76e1e7b1d7d245"}, + {file = "rich-13.6.0.tar.gz", hash = "sha256:5c14d22737e6d5084ef4771b62d5d4363165b403455a30a1c8ca39dc7b644bef"}, ] [package.dependencies] @@ -2388,28 +2527,28 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "ruff" -version = "0.0.287" +version = "0.0.292" description = "An extremely fast Python linter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.0.287-py3-none-macosx_10_7_x86_64.whl", hash = "sha256:1e0f9ee4c3191444eefeda97d7084721d9b8e29017f67997a20c153457f2eafd"}, - {file = "ruff-0.0.287-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:e9843e5704d4fb44e1a8161b0d31c1a38819723f0942639dfeb53d553be9bfb5"}, - {file = "ruff-0.0.287-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8ca1ed11d759a29695aed2bfc7f914b39bcadfe2ef08d98ff69c873f639ad3a8"}, - {file = "ruff-0.0.287-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1cf4d5ad3073af10f186ea22ce24bc5a8afa46151f6896f35c586e40148ba20b"}, - {file = "ruff-0.0.287-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66d9d58bcb29afd72d2afe67120afcc7d240efc69a235853813ad556443dc922"}, - {file = "ruff-0.0.287-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:06ac5df7dd3ba8bf83bba1490a72f97f1b9b21c7cbcba8406a09de1a83f36083"}, - {file = "ruff-0.0.287-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2bfb478e1146a60aa740ab9ebe448b1f9e3c0dfb54be3cc58713310eef059c30"}, - {file = "ruff-0.0.287-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:00d579a011949108c4b4fa04c4f1ee066dab536a9ba94114e8e580c96be2aeb4"}, - {file = "ruff-0.0.287-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3a810a79b8029cc92d06c36ea1f10be5298d2323d9024e1d21aedbf0a1a13e5"}, - {file = "ruff-0.0.287-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:150007028ad4976ce9a7704f635ead6d0e767f73354ce0137e3e44f3a6c0963b"}, - {file = "ruff-0.0.287-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a24a280db71b0fa2e0de0312b4aecb8e6d08081d1b0b3c641846a9af8e35b4a7"}, - {file = "ruff-0.0.287-py3-none-musllinux_1_2_i686.whl", hash = "sha256:2918cb7885fa1611d542de1530bea3fbd63762da793751cc8c8d6e4ba234c3d8"}, - {file = "ruff-0.0.287-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:33d7b251afb60bec02a64572b0fd56594b1923ee77585bee1e7e1daf675e7ae7"}, - {file = "ruff-0.0.287-py3-none-win32.whl", hash = "sha256:022f8bed2dcb5e5429339b7c326155e968a06c42825912481e10be15dafb424b"}, - {file = "ruff-0.0.287-py3-none-win_amd64.whl", hash = "sha256:26bd0041d135a883bd6ab3e0b29c42470781fb504cf514e4c17e970e33411d90"}, - {file = "ruff-0.0.287-py3-none-win_arm64.whl", hash = "sha256:44bceb3310ac04f0e59d4851e6227f7b1404f753997c7859192e41dbee9f5c8d"}, - {file = "ruff-0.0.287.tar.gz", hash = "sha256:02dc4f5bf53ef136e459d467f3ce3e04844d509bc46c025a05b018feb37bbc39"}, + {file = "ruff-0.0.292-py3-none-macosx_10_7_x86_64.whl", hash = "sha256:02f29db018c9d474270c704e6c6b13b18ed0ecac82761e4fcf0faa3728430c96"}, + {file = "ruff-0.0.292-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:69654e564342f507edfa09ee6897883ca76e331d4bbc3676d8a8403838e9fade"}, + {file = "ruff-0.0.292-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c3c91859a9b845c33778f11902e7b26440d64b9d5110edd4e4fa1726c41e0a4"}, + {file = "ruff-0.0.292-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f4476f1243af2d8c29da5f235c13dca52177117935e1f9393f9d90f9833f69e4"}, + {file = "ruff-0.0.292-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be8eb50eaf8648070b8e58ece8e69c9322d34afe367eec4210fdee9a555e4ca7"}, + {file = "ruff-0.0.292-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:9889bac18a0c07018aac75ef6c1e6511d8411724d67cb879103b01758e110a81"}, + {file = "ruff-0.0.292-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6bdfabd4334684a4418b99b3118793f2c13bb67bf1540a769d7816410402a205"}, + {file = "ruff-0.0.292-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aa7c77c53bfcd75dbcd4d1f42d6cabf2485d2e1ee0678da850f08e1ab13081a8"}, + {file = "ruff-0.0.292-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e087b24d0d849c5c81516ec740bf4fd48bf363cfb104545464e0fca749b6af9"}, + {file = "ruff-0.0.292-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:f160b5ec26be32362d0774964e218f3fcf0a7da299f7e220ef45ae9e3e67101a"}, + {file = "ruff-0.0.292-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:ac153eee6dd4444501c4bb92bff866491d4bfb01ce26dd2fff7ca472c8df9ad0"}, + {file = "ruff-0.0.292-py3-none-musllinux_1_2_i686.whl", hash = "sha256:87616771e72820800b8faea82edd858324b29bb99a920d6aa3d3949dd3f88fb0"}, + {file = "ruff-0.0.292-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:b76deb3bdbea2ef97db286cf953488745dd6424c122d275f05836c53f62d4016"}, + {file = "ruff-0.0.292-py3-none-win32.whl", hash = "sha256:e854b05408f7a8033a027e4b1c7f9889563dd2aca545d13d06711e5c39c3d003"}, + {file = "ruff-0.0.292-py3-none-win_amd64.whl", hash = "sha256:f27282bedfd04d4c3492e5c3398360c9d86a295be00eccc63914438b4ac8a83c"}, + {file = "ruff-0.0.292-py3-none-win_arm64.whl", hash = "sha256:7f67a69c8f12fbc8daf6ae6d36705037bde315abf8b82b6e1f4c9e74eb750f68"}, + {file = "ruff-0.0.292.tar.gz", hash = "sha256:1093449e37dd1e9b813798f6ad70932b57cf614e5c2b5c51005bf67d55db33ac"}, ] [[package]] @@ -2443,19 +2582,41 @@ jeepney = ">=0.6" [[package]] name = "setuptools" -version = "68.1.2" +version = "68.2.2" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-68.1.2-py3-none-any.whl", hash = "sha256:3d8083eed2d13afc9426f227b24fd1659489ec107c0e86cec2ffdde5c92e790b"}, - {file = "setuptools-68.1.2.tar.gz", hash = "sha256:3d4dfa6d95f1b101d695a6160a7626e15583af71a5f52176efa5d39a054d475d"}, + {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, + {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5,<=7.1.2)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] + +[[package]] +name = "setuptools-scm" +version = "8.0.4" +description = "the blessed package to manage your versions by scm tags" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-scm-8.0.4.tar.gz", hash = "sha256:b5f43ff6800669595193fd09891564ee9d1d7dcb196cab4b2506d53a2e1c95c7"}, + {file = "setuptools_scm-8.0.4-py3-none-any.whl", hash = "sha256:b47844cd2a84b83b3187a5782c71128c28b4c94cad8bfb871da2784a5cb54c4f"}, +] + +[package.dependencies] +packaging = ">=20" +setuptools = "*" +tomli = {version = ">=1", markers = "python_version < \"3.11\""} +typing-extensions = "*" + +[package.extras] +docs = ["entangled-cli[rich]", "mkdocs", "mkdocs-entangled-plugin", "mkdocs-material", "mkdocstrings[python]", "pygments"] +rich = ["rich"] +test = ["build", "pytest", "rich", "wheel"] [[package]] name = "shellingham" @@ -2481,13 +2642,13 @@ files = [ [[package]] name = "smmap" -version = "5.0.0" +version = "5.0.1" description = "A pure Python implementation of a sliding window memory map manager" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "smmap-5.0.0-py3-none-any.whl", hash = "sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94"}, - {file = "smmap-5.0.0.tar.gz", hash = "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"}, + {file = "smmap-5.0.1-py3-none-any.whl", hash = "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"}, + {file = "smmap-5.0.1.tar.gz", hash = "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62"}, ] [[package]] @@ -2528,24 +2689,24 @@ files = [ [[package]] name = "trove-classifiers" -version = "2023.8.7" +version = "2023.9.19" description = "Canonical source for classifiers on PyPI (pypi.org)." optional = false python-versions = "*" files = [ - {file = "trove-classifiers-2023.8.7.tar.gz", hash = "sha256:c9f2a0a85d545e5362e967e4f069f56fddfd91215e22ffa48c66fb283521319a"}, - {file = "trove_classifiers-2023.8.7-py3-none-any.whl", hash = "sha256:a676626a31286130d56de2ea1232484df97c567eb429d56cfcb0637e681ecf09"}, + {file = "trove-classifiers-2023.9.19.tar.gz", hash = "sha256:3e700af445c802f251ce2b741ee78d2e5dfa5ab8115b933b89ca631b414691c9"}, + {file = "trove_classifiers-2023.9.19-py3-none-any.whl", hash = "sha256:55460364fe248294386d4dfa5d16544ec930493ecc6bd1db07a0d50afb37018e"}, ] [[package]] name = "typing-extensions" -version = "4.7.1" -description = "Backported and Experimental Type Hints for Python 3.7+" +version = "4.8.0" +description = "Backported and Experimental Type Hints for Python 3.8+" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, - {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, + {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, + {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, ] [[package]] @@ -2561,13 +2722,13 @@ files = [ [[package]] name = "urllib3" -version = "2.0.4" +version = "2.0.6" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.7" files = [ - {file = "urllib3-2.0.4-py3-none-any.whl", hash = "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"}, - {file = "urllib3-2.0.4.tar.gz", hash = "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11"}, + {file = "urllib3-2.0.6-py3-none-any.whl", hash = "sha256:7a7c7003b000adf9e7ca2a377c9688bbc54ed41b985789ed576570342a375cd2"}, + {file = "urllib3-2.0.6.tar.gz", hash = "sha256:b19e1a85d206b56d7df1d5e683df4a7725252a964e3993648dd0fb5a1c157564"}, ] [package.extras] @@ -2578,13 +2739,13 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "virtualenv" -version = "20.24.4" +version = "20.24.5" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.7" files = [ - {file = "virtualenv-20.24.4-py3-none-any.whl", hash = "sha256:29c70bb9b88510f6414ac3e55c8b413a1f96239b6b789ca123437d5e892190cb"}, - {file = "virtualenv-20.24.4.tar.gz", hash = "sha256:772b05bfda7ed3b8ecd16021ca9716273ad9f4467c801f27e83ac73430246dca"}, + {file = "virtualenv-20.24.5-py3-none-any.whl", hash = "sha256:b80039f280f4919c77b30f1c23294ae357c4c8701042086e3fc005963e4e537b"}, + {file = "virtualenv-20.24.5.tar.gz", hash = "sha256:e8361967f6da6fbdf1426483bfe9fca8287c242ac0bc30429905721cefbff752"}, ] [package.dependencies] @@ -2598,13 +2759,13 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [[package]] name = "wcwidth" -version = "0.2.6" +version = "0.2.8" description = "Measures the displayed width of unicode strings in a terminal" optional = false python-versions = "*" files = [ - {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, - {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, + {file = "wcwidth-0.2.8-py2.py3-none-any.whl", hash = "sha256:77f719e01648ed600dfa5402c347481c0992263b81a027344f3e1ba25493a704"}, + {file = "wcwidth-0.2.8.tar.gz", hash = "sha256:8705c569999ffbb4f6a87c6d1b80f324bd6db952f5eb0b95bc07517f4c1813d4"}, ] [[package]] @@ -2618,90 +2779,6 @@ files = [ {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, ] -[[package]] -name = "wrapt" -version = "1.15.0" -description = "Module for decorators, wrappers and monkey patching." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -files = [ - {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:96e25c8603a155559231c19c0349245eeb4ac0096fe3c1d0be5c47e075bd4f46"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:40737a081d7497efea35ab9304b829b857f21558acfc7b3272f908d33b0d9d4c"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f87ec75864c37c4c6cb908d282e1969e79763e0d9becdfe9fe5473b7bb1e5f09"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:1286eb30261894e4c70d124d44b7fd07825340869945c79d05bda53a40caa079"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:493d389a2b63c88ad56cdc35d0fa5752daac56ca755805b1b0c530f785767d5e"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:58d7a75d731e8c63614222bcb21dd992b4ab01a399f1f09dd82af17bbfc2368a"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975"}, - {file = "wrapt-1.15.0-cp310-cp310-win32.whl", hash = "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1"}, - {file = "wrapt-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98"}, - {file = "wrapt-1.15.0-cp311-cp311-win32.whl", hash = "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416"}, - {file = "wrapt-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:4ff0d20f2e670800d3ed2b220d40984162089a6e2c9646fdb09b85e6f9a8fc29"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9ed6aa0726b9b60911f4aed8ec5b8dd7bf3491476015819f56473ffaef8959bd"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:896689fddba4f23ef7c718279e42f8834041a21342d95e56922e1c10c0cc7afb"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:75669d77bb2c071333417617a235324a1618dba66f82a750362eccbe5b61d248"}, - {file = "wrapt-1.15.0-cp35-cp35m-win32.whl", hash = "sha256:fbec11614dba0424ca72f4e8ba3c420dba07b4a7c206c8c8e4e73f2e98f4c559"}, - {file = "wrapt-1.15.0-cp35-cp35m-win_amd64.whl", hash = "sha256:fd69666217b62fa5d7c6aa88e507493a34dec4fa20c5bd925e4bc12fce586639"}, - {file = "wrapt-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b0724f05c396b0a4c36a3226c31648385deb6a65d8992644c12a4963c70326ba"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbeccb1aa40ab88cd29e6c7d8585582c99548f55f9b2581dfc5ba68c59a85752"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38adf7198f8f154502883242f9fe7333ab05a5b02de7d83aa2d88ea621f13364"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578383d740457fa790fdf85e6d346fda1416a40549fe8db08e5e9bd281c6a475"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a4cbb9ff5795cd66f0066bdf5947f170f5d63a9274f99bdbca02fd973adcf2a8"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:af5bd9ccb188f6a5fdda9f1f09d9f4c86cc8a539bd48a0bfdc97723970348418"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b56d5519e470d3f2fe4aa7585f0632b060d532d0696c5bdfb5e8319e1d0f69a2"}, - {file = "wrapt-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:77d4c1b881076c3ba173484dfa53d3582c1c8ff1f914c6461ab70c8428b796c1"}, - {file = "wrapt-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:077ff0d1f9d9e4ce6476c1a924a3332452c1406e59d90a2cf24aeb29eeac9420"}, - {file = "wrapt-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5c5aa28df055697d7c37d2099a7bc09f559d5053c3349b1ad0c39000e611d317"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a8564f283394634a7a7054b7983e47dbf39c07712d7b177b37e03f2467a024e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780c82a41dc493b62fc5884fb1d3a3b81106642c5c5c78d6a0d4cbe96d62ba7e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e169e957c33576f47e21864cf3fc9ff47c223a4ebca8960079b8bd36cb014fd0"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b02f21c1e2074943312d03d243ac4388319f2456576b2c6023041c4d57cd7019"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f2e69b3ed24544b0d3dbe2c5c0ba5153ce50dcebb576fdc4696d52aa22db6034"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d787272ed958a05b2c86311d3a4135d3c2aeea4fc655705f074130aa57d71653"}, - {file = "wrapt-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:02fce1852f755f44f95af51f69d22e45080102e9d00258053b79367d07af39c0"}, - {file = "wrapt-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:abd52a09d03adf9c763d706df707c343293d5d106aea53483e0ec8d9e310ad5e"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7"}, - {file = "wrapt-1.15.0-cp38-cp38-win32.whl", hash = "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b"}, - {file = "wrapt-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9"}, - {file = "wrapt-1.15.0-cp39-cp39-win32.whl", hash = "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff"}, - {file = "wrapt-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6"}, - {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"}, - {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"}, -] - [[package]] name = "xattr" version = "0.10.1" @@ -2788,17 +2865,17 @@ cffi = ">=1.0" [[package]] name = "zipp" -version = "3.16.2" +version = "3.17.0" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.16.2-py3-none-any.whl", hash = "sha256:679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0"}, - {file = "zipp-3.16.2.tar.gz", hash = "sha256:ebc15946aa78bd63458992fc81ec3b6f7b1e92d51c35e6de1c3804e73b799147"}, + {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, + {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] [metadata] diff --git a/pycgmes/__init__.py b/pycgmes/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pycgmes/resources/ACDCConverter.py b/pycgmes/resources/ACDCConverter.py index 9fa43426..33a867cd 100644 --- a/pycgmes/resources/ACDCConverter.py +++ b/pycgmes/resources/ACDCConverter.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ConductingEquipment import ConductingEquipment @@ -205,7 +207,7 @@ class ACDCConverter(ConductingEquipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ACDCConverterDCTerminal.py b/pycgmes/resources/ACDCConverterDCTerminal.py index c07b6d17..041cc0f0 100644 --- a/pycgmes/resources/ACDCConverterDCTerminal.py +++ b/pycgmes/resources/ACDCConverterDCTerminal.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DCBaseTerminal import DCBaseTerminal @@ -45,7 +47,7 @@ class ACDCConverterDCTerminal(DCBaseTerminal): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ACDCTerminal.py b/pycgmes/resources/ACDCTerminal.py index 4dd25e3f..72058c4f 100644 --- a/pycgmes/resources/ACDCTerminal.py +++ b/pycgmes/resources/ACDCTerminal.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -68,7 +70,7 @@ class ACDCTerminal(IdentifiedObject): # Measurements : list = Field(default_factory=list, in_profiles = [Profile.OP, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ACLineSegment.py b/pycgmes/resources/ACLineSegment.py index 5ea2f998..b50c1a16 100644 --- a/pycgmes/resources/ACLineSegment.py +++ b/pycgmes/resources/ACLineSegment.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Conductor import Conductor @@ -111,7 +113,7 @@ class ACLineSegment(Conductor): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Accumulator.py b/pycgmes/resources/Accumulator.py index 0a5616bd..37bd9c3b 100644 --- a/pycgmes/resources/Accumulator.py +++ b/pycgmes/resources/Accumulator.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Measurement import Measurement @@ -30,7 +32,7 @@ class Accumulator(Measurement): # LimitSets : list = Field(default_factory=list, in_profiles = [Profile.OP, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AccumulatorLimit.py b/pycgmes/resources/AccumulatorLimit.py index 0de6f1fb..937190de 100644 --- a/pycgmes/resources/AccumulatorLimit.py +++ b/pycgmes/resources/AccumulatorLimit.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Limit import Limit @@ -38,7 +40,7 @@ class AccumulatorLimit(Limit): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AccumulatorLimitSet.py b/pycgmes/resources/AccumulatorLimitSet.py index 62afe946..b404bf43 100644 --- a/pycgmes/resources/AccumulatorLimitSet.py +++ b/pycgmes/resources/AccumulatorLimitSet.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .LimitSet import LimitSet @@ -34,7 +36,7 @@ class AccumulatorLimitSet(LimitSet): # Limits : list = Field(default_factory=list, in_profiles = [Profile.OP, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AccumulatorReset.py b/pycgmes/resources/AccumulatorReset.py index c670291f..426d2955 100644 --- a/pycgmes/resources/AccumulatorReset.py +++ b/pycgmes/resources/AccumulatorReset.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Control import Control @@ -30,7 +32,7 @@ class AccumulatorReset(Control): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AccumulatorValue.py b/pycgmes/resources/AccumulatorValue.py index af03b9b7..b65fa15a 100644 --- a/pycgmes/resources/AccumulatorValue.py +++ b/pycgmes/resources/AccumulatorValue.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .MeasurementValue import MeasurementValue @@ -35,7 +37,7 @@ class AccumulatorValue(MeasurementValue): # AccumulatorReset : Optional[str] = Field(default=None, in_profiles = [Profile.OP, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ActivePower.py b/pycgmes/resources/ActivePower.py index 8862a055..f484ad15 100644 --- a/pycgmes/resources/ActivePower.py +++ b/pycgmes/resources/ActivePower.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -58,7 +60,7 @@ class ActivePower(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ActivePowerLimit.py b/pycgmes/resources/ActivePowerLimit.py index b92390f6..c975e7bb 100644 --- a/pycgmes/resources/ActivePowerLimit.py +++ b/pycgmes/resources/ActivePowerLimit.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .OperationalLimit import OperationalLimit @@ -37,7 +39,7 @@ class ActivePowerLimit(OperationalLimit): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ActivePowerPerCurrentFlow.py b/pycgmes/resources/ActivePowerPerCurrentFlow.py index 9f0bea77..15da0e2c 100644 --- a/pycgmes/resources/ActivePowerPerCurrentFlow.py +++ b/pycgmes/resources/ActivePowerPerCurrentFlow.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -46,7 +48,7 @@ class ActivePowerPerCurrentFlow(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ActivePowerPerFrequency.py b/pycgmes/resources/ActivePowerPerFrequency.py index 838f8415..d8a39b5f 100644 --- a/pycgmes/resources/ActivePowerPerFrequency.py +++ b/pycgmes/resources/ActivePowerPerFrequency.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -46,7 +48,7 @@ class ActivePowerPerFrequency(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Analog.py b/pycgmes/resources/Analog.py index 7987fced..a4bd21bd 100644 --- a/pycgmes/resources/Analog.py +++ b/pycgmes/resources/Analog.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Measurement import Measurement @@ -41,7 +43,7 @@ class Analog(Measurement): # LimitSets : list = Field(default_factory=list, in_profiles = [Profile.OP, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AnalogControl.py b/pycgmes/resources/AnalogControl.py index bbb63125..f0294fd5 100644 --- a/pycgmes/resources/AnalogControl.py +++ b/pycgmes/resources/AnalogControl.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Control import Control @@ -46,7 +48,7 @@ class AnalogControl(Control): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AnalogLimit.py b/pycgmes/resources/AnalogLimit.py index 229f6042..90276e56 100644 --- a/pycgmes/resources/AnalogLimit.py +++ b/pycgmes/resources/AnalogLimit.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Limit import Limit @@ -38,7 +40,7 @@ class AnalogLimit(Limit): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AnalogLimitSet.py b/pycgmes/resources/AnalogLimitSet.py index 7e5300c1..20e80b6c 100644 --- a/pycgmes/resources/AnalogLimitSet.py +++ b/pycgmes/resources/AnalogLimitSet.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .LimitSet import LimitSet @@ -34,7 +36,7 @@ class AnalogLimitSet(LimitSet): # Limits : list = Field(default_factory=list, in_profiles = [Profile.OP, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AnalogValue.py b/pycgmes/resources/AnalogValue.py index ce991265..3eefe531 100644 --- a/pycgmes/resources/AnalogValue.py +++ b/pycgmes/resources/AnalogValue.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .MeasurementValue import MeasurementValue @@ -35,7 +37,7 @@ class AnalogValue(MeasurementValue): # AnalogControl : Optional[str] = Field(default=None, in_profiles = [Profile.OP, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AngleDegrees.py b/pycgmes/resources/AngleDegrees.py index 45988eb5..e9df493f 100644 --- a/pycgmes/resources/AngleDegrees.py +++ b/pycgmes/resources/AngleDegrees.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -61,7 +63,7 @@ class AngleDegrees(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AngleRadians.py b/pycgmes/resources/AngleRadians.py index 1edaf60a..7f69e5f0 100644 --- a/pycgmes/resources/AngleRadians.py +++ b/pycgmes/resources/AngleRadians.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -46,7 +48,7 @@ class AngleRadians(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ApparentPower.py b/pycgmes/resources/ApparentPower.py index 5fd4f50a..3a3ab9fd 100644 --- a/pycgmes/resources/ApparentPower.py +++ b/pycgmes/resources/ApparentPower.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -52,7 +54,7 @@ class ApparentPower(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ApparentPowerLimit.py b/pycgmes/resources/ApparentPowerLimit.py index 007a68a0..fdf45050 100644 --- a/pycgmes/resources/ApparentPowerLimit.py +++ b/pycgmes/resources/ApparentPowerLimit.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .OperationalLimit import OperationalLimit @@ -37,7 +39,7 @@ class ApparentPowerLimit(OperationalLimit): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Area.py b/pycgmes/resources/Area.py index 5eda0381..a6018379 100644 --- a/pycgmes/resources/Area.py +++ b/pycgmes/resources/Area.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -46,7 +48,7 @@ class Area(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AsynchronousMachine.py b/pycgmes/resources/AsynchronousMachine.py index 7686dc1c..50ba225d 100644 --- a/pycgmes/resources/AsynchronousMachine.py +++ b/pycgmes/resources/AsynchronousMachine.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .RotatingMachine import RotatingMachine @@ -114,7 +116,7 @@ class AsynchronousMachine(RotatingMachine): # AsynchronousMachineDynamics : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AsynchronousMachineDynamics.py b/pycgmes/resources/AsynchronousMachineDynamics.py index f54882a2..cce954da 100644 --- a/pycgmes/resources/AsynchronousMachineDynamics.py +++ b/pycgmes/resources/AsynchronousMachineDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .RotatingMachineDynamics import RotatingMachineDynamics @@ -49,7 +51,7 @@ class AsynchronousMachineDynamics(RotatingMachineDynamics): # WindTurbineType1or2Dynamics : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AsynchronousMachineEquivalentCircuit.py b/pycgmes/resources/AsynchronousMachineEquivalentCircuit.py index 981de6ae..a206dc2c 100644 --- a/pycgmes/resources/AsynchronousMachineEquivalentCircuit.py +++ b/pycgmes/resources/AsynchronousMachineEquivalentCircuit.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .AsynchronousMachineDynamics import AsynchronousMachineDynamics @@ -71,7 +73,7 @@ class AsynchronousMachineEquivalentCircuit(AsynchronousMachineDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AsynchronousMachineKind.py b/pycgmes/resources/AsynchronousMachineKind.py index 341874fc..c281c7f8 100644 --- a/pycgmes/resources/AsynchronousMachineKind.py +++ b/pycgmes/resources/AsynchronousMachineKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class AsynchronousMachineKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AsynchronousMachineTimeConstantReactance.py b/pycgmes/resources/AsynchronousMachineTimeConstantReactance.py index a47f187c..c28a110a 100644 --- a/pycgmes/resources/AsynchronousMachineTimeConstantReactance.py +++ b/pycgmes/resources/AsynchronousMachineTimeConstantReactance.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .AsynchronousMachineDynamics import AsynchronousMachineDynamics @@ -68,7 +70,7 @@ class AsynchronousMachineTimeConstantReactance(AsynchronousMachineDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AsynchronousMachineUserDefined.py b/pycgmes/resources/AsynchronousMachineUserDefined.py index 6e145031..064ae4ed 100644 --- a/pycgmes/resources/AsynchronousMachineUserDefined.py +++ b/pycgmes/resources/AsynchronousMachineUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .AsynchronousMachineDynamics import AsynchronousMachineDynamics @@ -37,7 +39,7 @@ class AsynchronousMachineUserDefined(AsynchronousMachineDynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/AuxiliaryEquipment.py b/pycgmes/resources/AuxiliaryEquipment.py index f8551e7e..a0800313 100644 --- a/pycgmes/resources/AuxiliaryEquipment.py +++ b/pycgmes/resources/AuxiliaryEquipment.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Equipment import Equipment @@ -32,7 +34,7 @@ class AuxiliaryEquipment(Equipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/BaseVoltage.py b/pycgmes/resources/BaseVoltage.py index 64d52c91..93c59596 100644 --- a/pycgmes/resources/BaseVoltage.py +++ b/pycgmes/resources/BaseVoltage.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -52,7 +54,7 @@ class BaseVoltage(IdentifiedObject): # TransformerEnds : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/BasicIntervalSchedule.py b/pycgmes/resources/BasicIntervalSchedule.py index 47758412..1b6a6bf2 100644 --- a/pycgmes/resources/BasicIntervalSchedule.py +++ b/pycgmes/resources/BasicIntervalSchedule.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -46,7 +48,7 @@ class BasicIntervalSchedule(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/BatteryStateKind.py b/pycgmes/resources/BatteryStateKind.py index e252e6eb..c26ffd00 100644 --- a/pycgmes/resources/BatteryStateKind.py +++ b/pycgmes/resources/BatteryStateKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class BatteryStateKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/BatteryUnit.py b/pycgmes/resources/BatteryUnit.py index f0413751..fe724b2b 100644 --- a/pycgmes/resources/BatteryUnit.py +++ b/pycgmes/resources/BatteryUnit.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerElectronicsUnit import PowerElectronicsUnit @@ -47,7 +49,7 @@ class BatteryUnit(PowerElectronicsUnit): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Bay.py b/pycgmes/resources/Bay.py index c3ead34b..fc0c9146 100644 --- a/pycgmes/resources/Bay.py +++ b/pycgmes/resources/Bay.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EquipmentContainer import EquipmentContainer @@ -33,7 +35,7 @@ class Bay(EquipmentContainer): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Boolean.py b/pycgmes/resources/Boolean.py index a7ddf1c1..63a21931 100644 --- a/pycgmes/resources/Boolean.py +++ b/pycgmes/resources/Boolean.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class Boolean(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/BoundaryPoint.py b/pycgmes/resources/BoundaryPoint.py index ff887e43..65457f0e 100644 --- a/pycgmes/resources/BoundaryPoint.py +++ b/pycgmes/resources/BoundaryPoint.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemResource import PowerSystemResource @@ -128,7 +130,7 @@ class BoundaryPoint(PowerSystemResource): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Breaker.py b/pycgmes/resources/Breaker.py index a91fa35c..f77c452b 100644 --- a/pycgmes/resources/Breaker.py +++ b/pycgmes/resources/Breaker.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ProtectedSwitch import ProtectedSwitch @@ -24,7 +26,7 @@ class Breaker(ProtectedSwitch): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/BusNameMarker.py b/pycgmes/resources/BusNameMarker.py index 5aa03e56..569329eb 100644 --- a/pycgmes/resources/BusNameMarker.py +++ b/pycgmes/resources/BusNameMarker.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -49,7 +51,7 @@ class BusNameMarker(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/BusbarSection.py b/pycgmes/resources/BusbarSection.py index 7df91024..fbf5ad51 100644 --- a/pycgmes/resources/BusbarSection.py +++ b/pycgmes/resources/BusbarSection.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Connector import Connector @@ -33,7 +35,7 @@ class BusbarSection(Connector): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/CAESPlant.py b/pycgmes/resources/CAESPlant.py index 0afe944e..64385ed4 100644 --- a/pycgmes/resources/CAESPlant.py +++ b/pycgmes/resources/CAESPlant.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemResource import PowerSystemResource @@ -25,7 +27,7 @@ class CAESPlant(PowerSystemResource): # ThermalGeneratingUnit : Optional[str] = Field(default=None, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/CSCDynamics.py b/pycgmes/resources/CSCDynamics.py index 4e5d7752..6befcb72 100644 --- a/pycgmes/resources/CSCDynamics.py +++ b/pycgmes/resources/CSCDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .HVDCDynamics import HVDCDynamics @@ -31,7 +33,7 @@ class CSCDynamics(HVDCDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/CSCUserDefined.py b/pycgmes/resources/CSCUserDefined.py index 50e4ddc2..30a18f6b 100644 --- a/pycgmes/resources/CSCUserDefined.py +++ b/pycgmes/resources/CSCUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .CSCDynamics import CSCDynamics @@ -37,7 +39,7 @@ class CSCUserDefined(CSCDynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Capacitance.py b/pycgmes/resources/Capacitance.py index 75cfce07..aebda394 100644 --- a/pycgmes/resources/Capacitance.py +++ b/pycgmes/resources/Capacitance.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -46,7 +48,7 @@ class Capacitance(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Clamp.py b/pycgmes/resources/Clamp.py index f1329dd0..4ae740ed 100644 --- a/pycgmes/resources/Clamp.py +++ b/pycgmes/resources/Clamp.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ConductingEquipment import ConductingEquipment @@ -41,7 +43,7 @@ class Clamp(ConductingEquipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/CogenerationPlant.py b/pycgmes/resources/CogenerationPlant.py index 97e2b3a1..59cc8aa5 100644 --- a/pycgmes/resources/CogenerationPlant.py +++ b/pycgmes/resources/CogenerationPlant.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemResource import PowerSystemResource @@ -27,7 +29,7 @@ class CogenerationPlant(PowerSystemResource): # ThermalGeneratingUnits : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/CombinedCyclePlant.py b/pycgmes/resources/CombinedCyclePlant.py index b83f64be..c2f3f4f8 100644 --- a/pycgmes/resources/CombinedCyclePlant.py +++ b/pycgmes/resources/CombinedCyclePlant.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemResource import PowerSystemResource @@ -26,7 +28,7 @@ class CombinedCyclePlant(PowerSystemResource): # ThermalGeneratingUnits : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Command.py b/pycgmes/resources/Command.py index 6c07f243..d113935a 100644 --- a/pycgmes/resources/Command.py +++ b/pycgmes/resources/Command.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Control import Control @@ -54,7 +56,7 @@ class Command(Control): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Conductance.py b/pycgmes/resources/Conductance.py index 928e313b..c49980cf 100644 --- a/pycgmes/resources/Conductance.py +++ b/pycgmes/resources/Conductance.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -49,7 +51,7 @@ class Conductance(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ConductingEquipment.py b/pycgmes/resources/ConductingEquipment.py index 1a60803c..538b4c39 100644 --- a/pycgmes/resources/ConductingEquipment.py +++ b/pycgmes/resources/ConductingEquipment.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Equipment import Equipment @@ -43,7 +45,7 @@ class ConductingEquipment(Equipment): # SvStatus : Optional[str] = Field(default=None, in_profiles = [Profile.SV, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Conductor.py b/pycgmes/resources/Conductor.py index 9722a68c..c2ff9321 100644 --- a/pycgmes/resources/Conductor.py +++ b/pycgmes/resources/Conductor.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ConductingEquipment import ConductingEquipment @@ -30,7 +32,7 @@ class Conductor(ConductingEquipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ConformLoad.py b/pycgmes/resources/ConformLoad.py index eebafaf9..17f25941 100644 --- a/pycgmes/resources/ConformLoad.py +++ b/pycgmes/resources/ConformLoad.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EnergyConsumer import EnergyConsumer @@ -31,7 +33,7 @@ class ConformLoad(EnergyConsumer): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ConformLoadGroup.py b/pycgmes/resources/ConformLoadGroup.py index 180e7809..cb7a06d0 100644 --- a/pycgmes/resources/ConformLoadGroup.py +++ b/pycgmes/resources/ConformLoadGroup.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .LoadGroup import LoadGroup @@ -30,7 +32,7 @@ class ConformLoadGroup(LoadGroup): # EnergyConsumers : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ConformLoadSchedule.py b/pycgmes/resources/ConformLoadSchedule.py index cee8b111..fde8de00 100644 --- a/pycgmes/resources/ConformLoadSchedule.py +++ b/pycgmes/resources/ConformLoadSchedule.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .SeasonDayTypeSchedule import SeasonDayTypeSchedule @@ -32,7 +34,7 @@ class ConformLoadSchedule(SeasonDayTypeSchedule): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ConnectivityNode.py b/pycgmes/resources/ConnectivityNode.py index c8067cb8..27d73e81 100644 --- a/pycgmes/resources/ConnectivityNode.py +++ b/pycgmes/resources/ConnectivityNode.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -50,7 +52,7 @@ class ConnectivityNode(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ConnectivityNodeContainer.py b/pycgmes/resources/ConnectivityNodeContainer.py index ecc5442a..dbee29e5 100644 --- a/pycgmes/resources/ConnectivityNodeContainer.py +++ b/pycgmes/resources/ConnectivityNodeContainer.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemResource import PowerSystemResource @@ -30,7 +32,7 @@ class ConnectivityNodeContainer(PowerSystemResource): # ConnectivityNodes : list = Field(default_factory=list, in_profiles = [Profile.EQBD, Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Connector.py b/pycgmes/resources/Connector.py index c2b4a9dc..c9d1254b 100644 --- a/pycgmes/resources/Connector.py +++ b/pycgmes/resources/Connector.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ConductingEquipment import ConductingEquipment @@ -23,7 +25,7 @@ class Connector(ConductingEquipment): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Control.py b/pycgmes/resources/Control.py index 589c97fa..2e4fc251 100644 --- a/pycgmes/resources/Control.py +++ b/pycgmes/resources/Control.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IOPoint import IOPoint @@ -72,7 +74,7 @@ class Control(IOPoint): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ControlArea.py b/pycgmes/resources/ControlArea.py index a26f4089..1b28a3b9 100644 --- a/pycgmes/resources/ControlArea.py +++ b/pycgmes/resources/ControlArea.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemResource import PowerSystemResource @@ -83,7 +85,7 @@ class ControlArea(PowerSystemResource): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ControlAreaGeneratingUnit.py b/pycgmes/resources/ControlAreaGeneratingUnit.py index 56d86054..15bbe9b2 100644 --- a/pycgmes/resources/ControlAreaGeneratingUnit.py +++ b/pycgmes/resources/ControlAreaGeneratingUnit.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -41,7 +43,7 @@ class ControlAreaGeneratingUnit(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ControlAreaTypeKind.py b/pycgmes/resources/ControlAreaTypeKind.py index 1bad8481..873fdb35 100644 --- a/pycgmes/resources/ControlAreaTypeKind.py +++ b/pycgmes/resources/ControlAreaTypeKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class ControlAreaTypeKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/CoordinateSystem.py b/pycgmes/resources/CoordinateSystem.py index c40a243e..5355b365 100644 --- a/pycgmes/resources/CoordinateSystem.py +++ b/pycgmes/resources/CoordinateSystem.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -40,7 +42,7 @@ class CoordinateSystem(IdentifiedObject): # Locations : list = Field(default_factory=list, in_profiles = [Profile.GL, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/CrossCompoundTurbineGovernorDynamics.py b/pycgmes/resources/CrossCompoundTurbineGovernorDynamics.py index 8a4614fc..b8467911 100644 --- a/pycgmes/resources/CrossCompoundTurbineGovernorDynamics.py +++ b/pycgmes/resources/CrossCompoundTurbineGovernorDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -41,7 +43,7 @@ class CrossCompoundTurbineGovernorDynamics(DynamicsFunctionBlock): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/CsConverter.py b/pycgmes/resources/CsConverter.py index ee22b50d..d4f86cd4 100644 --- a/pycgmes/resources/CsConverter.py +++ b/pycgmes/resources/CsConverter.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ACDCConverter import ACDCConverter @@ -170,7 +172,7 @@ class CsConverter(ACDCConverter): # CSCDynamics : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/CsOperatingModeKind.py b/pycgmes/resources/CsOperatingModeKind.py index a9b78328..1e8eb136 100644 --- a/pycgmes/resources/CsOperatingModeKind.py +++ b/pycgmes/resources/CsOperatingModeKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class CsOperatingModeKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/CsPpccControlKind.py b/pycgmes/resources/CsPpccControlKind.py index 4a4594cb..66e8d180 100644 --- a/pycgmes/resources/CsPpccControlKind.py +++ b/pycgmes/resources/CsPpccControlKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class CsPpccControlKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Currency.py b/pycgmes/resources/Currency.py index 079c7b0e..215685ef 100644 --- a/pycgmes/resources/Currency.py +++ b/pycgmes/resources/Currency.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class Currency(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/CurrentFlow.py b/pycgmes/resources/CurrentFlow.py index 9c50fb1c..f6b51095 100644 --- a/pycgmes/resources/CurrentFlow.py +++ b/pycgmes/resources/CurrentFlow.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -56,7 +58,7 @@ class CurrentFlow(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/CurrentLimit.py b/pycgmes/resources/CurrentLimit.py index c6e73674..99fbc055 100644 --- a/pycgmes/resources/CurrentLimit.py +++ b/pycgmes/resources/CurrentLimit.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .OperationalLimit import OperationalLimit @@ -37,7 +39,7 @@ class CurrentLimit(OperationalLimit): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/CurrentTransformer.py b/pycgmes/resources/CurrentTransformer.py index 978be78f..47ee832c 100644 --- a/pycgmes/resources/CurrentTransformer.py +++ b/pycgmes/resources/CurrentTransformer.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Sensor import Sensor @@ -24,7 +26,7 @@ class CurrentTransformer(Sensor): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Curve.py b/pycgmes/resources/Curve.py index 8009853b..f34a8813 100644 --- a/pycgmes/resources/Curve.py +++ b/pycgmes/resources/Curve.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -60,7 +62,7 @@ class Curve(IdentifiedObject): # CurveDatas : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/CurveData.py b/pycgmes/resources/CurveData.py index c5b936a5..bc921023 100644 --- a/pycgmes/resources/CurveData.py +++ b/pycgmes/resources/CurveData.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -55,7 +57,7 @@ class can be used to specify the X and Y axis values along with their specific d ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/CurveStyle.py b/pycgmes/resources/CurveStyle.py index 8b19275e..9e81d963 100644 --- a/pycgmes/resources/CurveStyle.py +++ b/pycgmes/resources/CurveStyle.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class CurveStyle(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Cut.py b/pycgmes/resources/Cut.py index 75ed4ad6..7a290b1f 100644 --- a/pycgmes/resources/Cut.py +++ b/pycgmes/resources/Cut.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Switch import Switch @@ -46,7 +48,7 @@ class Cut(Switch): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCBaseTerminal.py b/pycgmes/resources/DCBaseTerminal.py index 976fabdd..f1a68875 100644 --- a/pycgmes/resources/DCBaseTerminal.py +++ b/pycgmes/resources/DCBaseTerminal.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ACDCTerminal import ACDCTerminal @@ -40,7 +42,7 @@ class DCBaseTerminal(ACDCTerminal): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCBreaker.py b/pycgmes/resources/DCBreaker.py index 25dcc152..24c67de1 100644 --- a/pycgmes/resources/DCBreaker.py +++ b/pycgmes/resources/DCBreaker.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DCSwitch import DCSwitch @@ -22,7 +24,7 @@ class DCBreaker(DCSwitch): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCBusbar.py b/pycgmes/resources/DCBusbar.py index cc2dfb69..3ee5df02 100644 --- a/pycgmes/resources/DCBusbar.py +++ b/pycgmes/resources/DCBusbar.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DCConductingEquipment import DCConductingEquipment @@ -22,7 +24,7 @@ class DCBusbar(DCConductingEquipment): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCChopper.py b/pycgmes/resources/DCChopper.py index 8241429b..c36837bf 100644 --- a/pycgmes/resources/DCChopper.py +++ b/pycgmes/resources/DCChopper.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DCConductingEquipment import DCConductingEquipment @@ -23,7 +25,7 @@ class DCChopper(DCConductingEquipment): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCConductingEquipment.py b/pycgmes/resources/DCConductingEquipment.py index 38e7c7c8..589f6125 100644 --- a/pycgmes/resources/DCConductingEquipment.py +++ b/pycgmes/resources/DCConductingEquipment.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Equipment import Equipment @@ -36,7 +38,7 @@ class DCConductingEquipment(Equipment): # DCTerminals : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCConverterOperatingModeKind.py b/pycgmes/resources/DCConverterOperatingModeKind.py index 3b274a0c..7bcd6d6a 100644 --- a/pycgmes/resources/DCConverterOperatingModeKind.py +++ b/pycgmes/resources/DCConverterOperatingModeKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class DCConverterOperatingModeKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCConverterUnit.py b/pycgmes/resources/DCConverterUnit.py index e6cc9665..b5343d30 100644 --- a/pycgmes/resources/DCConverterUnit.py +++ b/pycgmes/resources/DCConverterUnit.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DCEquipmentContainer import DCEquipmentContainer @@ -41,7 +43,7 @@ class DCConverterUnit(DCEquipmentContainer): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCDisconnector.py b/pycgmes/resources/DCDisconnector.py index 120f4582..d4534933 100644 --- a/pycgmes/resources/DCDisconnector.py +++ b/pycgmes/resources/DCDisconnector.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DCSwitch import DCSwitch @@ -22,7 +24,7 @@ class DCDisconnector(DCSwitch): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCEquipmentContainer.py b/pycgmes/resources/DCEquipmentContainer.py index df1411c3..4fc5e677 100644 --- a/pycgmes/resources/DCEquipmentContainer.py +++ b/pycgmes/resources/DCEquipmentContainer.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EquipmentContainer import EquipmentContainer @@ -32,7 +34,7 @@ class DCEquipmentContainer(EquipmentContainer): # DCNodes : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCGround.py b/pycgmes/resources/DCGround.py index 49126cf9..01366773 100644 --- a/pycgmes/resources/DCGround.py +++ b/pycgmes/resources/DCGround.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DCConductingEquipment import DCConductingEquipment @@ -37,7 +39,7 @@ class DCGround(DCConductingEquipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCLine.py b/pycgmes/resources/DCLine.py index e6589836..f807de3b 100644 --- a/pycgmes/resources/DCLine.py +++ b/pycgmes/resources/DCLine.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DCEquipmentContainer import DCEquipmentContainer @@ -30,7 +32,7 @@ class DCLine(DCEquipmentContainer): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCLineSegment.py b/pycgmes/resources/DCLineSegment.py index cfacf89c..3cbb7db7 100644 --- a/pycgmes/resources/DCLineSegment.py +++ b/pycgmes/resources/DCLineSegment.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DCConductingEquipment import DCConductingEquipment @@ -54,7 +56,7 @@ class DCLineSegment(DCConductingEquipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCNode.py b/pycgmes/resources/DCNode.py index 1eabeeb6..dbfa162d 100644 --- a/pycgmes/resources/DCNode.py +++ b/pycgmes/resources/DCNode.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -44,7 +46,7 @@ class DCNode(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCPolarityKind.py b/pycgmes/resources/DCPolarityKind.py index 4fc249e7..5f14f599 100644 --- a/pycgmes/resources/DCPolarityKind.py +++ b/pycgmes/resources/DCPolarityKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class DCPolarityKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCSeriesDevice.py b/pycgmes/resources/DCSeriesDevice.py index 7b632398..14af4de5 100644 --- a/pycgmes/resources/DCSeriesDevice.py +++ b/pycgmes/resources/DCSeriesDevice.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DCConductingEquipment import DCConductingEquipment @@ -38,7 +40,7 @@ class DCSeriesDevice(DCConductingEquipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCShunt.py b/pycgmes/resources/DCShunt.py index 5c0daaba..b22cd69d 100644 --- a/pycgmes/resources/DCShunt.py +++ b/pycgmes/resources/DCShunt.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DCConductingEquipment import DCConductingEquipment @@ -37,7 +39,7 @@ class DCShunt(DCConductingEquipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCSwitch.py b/pycgmes/resources/DCSwitch.py index a7bbc165..532616a9 100644 --- a/pycgmes/resources/DCSwitch.py +++ b/pycgmes/resources/DCSwitch.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DCConductingEquipment import DCConductingEquipment @@ -22,7 +24,7 @@ class DCSwitch(DCConductingEquipment): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCTerminal.py b/pycgmes/resources/DCTerminal.py index c9c148d3..bd6bdf97 100644 --- a/pycgmes/resources/DCTerminal.py +++ b/pycgmes/resources/DCTerminal.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DCBaseTerminal import DCBaseTerminal @@ -30,7 +32,7 @@ class DCTerminal(DCBaseTerminal): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCTopologicalIsland.py b/pycgmes/resources/DCTopologicalIsland.py index df0d0091..8cadda8b 100644 --- a/pycgmes/resources/DCTopologicalIsland.py +++ b/pycgmes/resources/DCTopologicalIsland.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -32,7 +34,7 @@ class DCTopologicalIsland(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DCTopologicalNode.py b/pycgmes/resources/DCTopologicalNode.py index 611f8bdb..b396126e 100644 --- a/pycgmes/resources/DCTopologicalNode.py +++ b/pycgmes/resources/DCTopologicalNode.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -46,7 +48,7 @@ class DCTopologicalNode(IdentifiedObject): # DCTopologicalIsland : Optional[str] = Field(default=None, in_profiles = [Profile.SV, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Date.py b/pycgmes/resources/Date.py index 466066a4..a3cdcb15 100644 --- a/pycgmes/resources/Date.py +++ b/pycgmes/resources/Date.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -23,7 +25,7 @@ class Date(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DateTime.py b/pycgmes/resources/DateTime.py index 5a06dd2b..23bb1c57 100644 --- a/pycgmes/resources/DateTime.py +++ b/pycgmes/resources/DateTime.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -25,7 +27,7 @@ class DateTime(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DayType.py b/pycgmes/resources/DayType.py index 7745ef56..fa593dcf 100644 --- a/pycgmes/resources/DayType.py +++ b/pycgmes/resources/DayType.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -25,7 +27,7 @@ class DayType(IdentifiedObject): # SeasonDayTypeSchedules : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Decimal.py b/pycgmes/resources/Decimal.py index eebdd877..a8fad7c8 100644 --- a/pycgmes/resources/Decimal.py +++ b/pycgmes/resources/Decimal.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class Decimal(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Diagram.py b/pycgmes/resources/Diagram.py index 7f9c1a22..a89cb73e 100644 --- a/pycgmes/resources/Diagram.py +++ b/pycgmes/resources/Diagram.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -82,7 +84,7 @@ class Diagram(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DiagramObject.py b/pycgmes/resources/DiagramObject.py index f290ffb3..02928efb 100644 --- a/pycgmes/resources/DiagramObject.py +++ b/pycgmes/resources/DiagramObject.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -117,7 +119,7 @@ class DiagramObject(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DiagramObjectGluePoint.py b/pycgmes/resources/DiagramObjectGluePoint.py index f9f7efe3..fd3e9a69 100644 --- a/pycgmes/resources/DiagramObjectGluePoint.py +++ b/pycgmes/resources/DiagramObjectGluePoint.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -27,7 +29,7 @@ class DiagramObjectGluePoint(Base): # DiagramObjectPoints : list = Field(default_factory=list, in_profiles = [Profile.DL, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DiagramObjectPoint.py b/pycgmes/resources/DiagramObjectPoint.py index d16c5165..4fe615d6 100644 --- a/pycgmes/resources/DiagramObjectPoint.py +++ b/pycgmes/resources/DiagramObjectPoint.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -72,7 +74,7 @@ class DiagramObjectPoint(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DiagramObjectStyle.py b/pycgmes/resources/DiagramObjectStyle.py index 9bde66ed..0c4845b8 100644 --- a/pycgmes/resources/DiagramObjectStyle.py +++ b/pycgmes/resources/DiagramObjectStyle.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -26,7 +28,7 @@ class DiagramObjectStyle(IdentifiedObject): # StyledObjects : list = Field(default_factory=list, in_profiles = [Profile.DL, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DiagramStyle.py b/pycgmes/resources/DiagramStyle.py index 3319500b..057e1533 100644 --- a/pycgmes/resources/DiagramStyle.py +++ b/pycgmes/resources/DiagramStyle.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -26,7 +28,7 @@ class DiagramStyle(IdentifiedObject): # Diagram : list = Field(default_factory=list, in_profiles = [Profile.DL, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DiscExcContIEEEDEC1A.py b/pycgmes/resources/DiscExcContIEEEDEC1A.py index 47de857d..de9379a1 100644 --- a/pycgmes/resources/DiscExcContIEEEDEC1A.py +++ b/pycgmes/resources/DiscExcContIEEEDEC1A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DiscontinuousExcitationControlDynamics import DiscontinuousExcitationControlDynamics @@ -167,7 +169,7 @@ class DiscExcContIEEEDEC1A(DiscontinuousExcitationControlDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DiscExcContIEEEDEC2A.py b/pycgmes/resources/DiscExcContIEEEDEC2A.py index 31f0c077..1e01dabd 100644 --- a/pycgmes/resources/DiscExcContIEEEDEC2A.py +++ b/pycgmes/resources/DiscExcContIEEEDEC2A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DiscontinuousExcitationControlDynamics import DiscontinuousExcitationControlDynamics @@ -62,7 +64,7 @@ class DiscExcContIEEEDEC2A(DiscontinuousExcitationControlDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DiscExcContIEEEDEC3A.py b/pycgmes/resources/DiscExcContIEEEDEC3A.py index c4bcd29d..58b2a61a 100644 --- a/pycgmes/resources/DiscExcContIEEEDEC3A.py +++ b/pycgmes/resources/DiscExcContIEEEDEC3A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DiscontinuousExcitationControlDynamics import DiscontinuousExcitationControlDynamics @@ -39,7 +41,7 @@ class DiscExcContIEEEDEC3A(DiscontinuousExcitationControlDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DisconnectingCircuitBreaker.py b/pycgmes/resources/DisconnectingCircuitBreaker.py index f9a0c184..0eac2400 100644 --- a/pycgmes/resources/DisconnectingCircuitBreaker.py +++ b/pycgmes/resources/DisconnectingCircuitBreaker.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Breaker import Breaker @@ -22,7 +24,7 @@ class DisconnectingCircuitBreaker(Breaker): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Disconnector.py b/pycgmes/resources/Disconnector.py index c6361121..9ba4ece7 100644 --- a/pycgmes/resources/Disconnector.py +++ b/pycgmes/resources/Disconnector.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Switch import Switch @@ -24,7 +26,7 @@ class Disconnector(Switch): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DiscontinuousExcitationControlDynamics.py b/pycgmes/resources/DiscontinuousExcitationControlDynamics.py index b1dad884..404da132 100644 --- a/pycgmes/resources/DiscontinuousExcitationControlDynamics.py +++ b/pycgmes/resources/DiscontinuousExcitationControlDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -37,7 +39,7 @@ class DiscontinuousExcitationControlDynamics(DynamicsFunctionBlock): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DiscontinuousExcitationControlUserDefined.py b/pycgmes/resources/DiscontinuousExcitationControlUserDefined.py index a26f5e84..0fe6f6f1 100644 --- a/pycgmes/resources/DiscontinuousExcitationControlUserDefined.py +++ b/pycgmes/resources/DiscontinuousExcitationControlUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DiscontinuousExcitationControlDynamics import DiscontinuousExcitationControlDynamics @@ -37,7 +39,7 @@ class DiscontinuousExcitationControlUserDefined(DiscontinuousExcitationControlDy # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Discrete.py b/pycgmes/resources/Discrete.py index abfc0876..f4d9ebb2 100644 --- a/pycgmes/resources/Discrete.py +++ b/pycgmes/resources/Discrete.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Measurement import Measurement @@ -36,7 +38,7 @@ class Discrete(Measurement): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DiscreteValue.py b/pycgmes/resources/DiscreteValue.py index 4a94af27..90f40fb5 100644 --- a/pycgmes/resources/DiscreteValue.py +++ b/pycgmes/resources/DiscreteValue.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .MeasurementValue import MeasurementValue @@ -35,7 +37,7 @@ class DiscreteValue(MeasurementValue): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DroopSignalFeedbackKind.py b/pycgmes/resources/DroopSignalFeedbackKind.py index 1d289be0..112f9b71 100644 --- a/pycgmes/resources/DroopSignalFeedbackKind.py +++ b/pycgmes/resources/DroopSignalFeedbackKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class DroopSignalFeedbackKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/DynamicsFunctionBlock.py b/pycgmes/resources/DynamicsFunctionBlock.py index e30bd42c..6d33dd24 100644 --- a/pycgmes/resources/DynamicsFunctionBlock.py +++ b/pycgmes/resources/DynamicsFunctionBlock.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -30,7 +32,7 @@ class DynamicsFunctionBlock(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/EarthFaultCompensator.py b/pycgmes/resources/EarthFaultCompensator.py index d2f483ae..9034283c 100644 --- a/pycgmes/resources/EarthFaultCompensator.py +++ b/pycgmes/resources/EarthFaultCompensator.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ConductingEquipment import ConductingEquipment @@ -31,7 +33,7 @@ class EarthFaultCompensator(ConductingEquipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/EnergyArea.py b/pycgmes/resources/EnergyArea.py index 7c7f623f..a48813b7 100644 --- a/pycgmes/resources/EnergyArea.py +++ b/pycgmes/resources/EnergyArea.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -28,7 +30,7 @@ class EnergyArea(IdentifiedObject): # ControlArea : Optional[str] = Field(default=None, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/EnergyConnection.py b/pycgmes/resources/EnergyConnection.py index 4e9903f8..f5ba21fe 100644 --- a/pycgmes/resources/EnergyConnection.py +++ b/pycgmes/resources/EnergyConnection.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ConductingEquipment import ConductingEquipment @@ -22,7 +24,7 @@ class EnergyConnection(ConductingEquipment): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/EnergyConsumer.py b/pycgmes/resources/EnergyConsumer.py index 48e8cb86..1dab6367 100644 --- a/pycgmes/resources/EnergyConsumer.py +++ b/pycgmes/resources/EnergyConsumer.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EnergyConnection import EnergyConnection @@ -94,7 +96,7 @@ class EnergyConsumer(EnergyConnection): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/EnergySchedulingType.py b/pycgmes/resources/EnergySchedulingType.py index ef3f7f9c..fdea2602 100644 --- a/pycgmes/resources/EnergySchedulingType.py +++ b/pycgmes/resources/EnergySchedulingType.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -25,7 +27,7 @@ class EnergySchedulingType(IdentifiedObject): # EnergySource : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/EnergySource.py b/pycgmes/resources/EnergySource.py index bdc43f53..77b54983 100644 --- a/pycgmes/resources/EnergySource.py +++ b/pycgmes/resources/EnergySource.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EnergyConnection import EnergyConnection @@ -144,7 +146,7 @@ class EnergySource(EnergyConnection): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Equipment.py b/pycgmes/resources/Equipment.py index a0a7c9d8..714dc39a 100644 --- a/pycgmes/resources/Equipment.py +++ b/pycgmes/resources/Equipment.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemResource import PowerSystemResource @@ -72,7 +74,7 @@ class Equipment(PowerSystemResource): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/EquipmentContainer.py b/pycgmes/resources/EquipmentContainer.py index 249b169e..e5be9667 100644 --- a/pycgmes/resources/EquipmentContainer.py +++ b/pycgmes/resources/EquipmentContainer.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ConnectivityNodeContainer import ConnectivityNodeContainer @@ -25,7 +27,7 @@ class EquipmentContainer(ConnectivityNodeContainer): # Equipments : list = Field(default_factory=list, in_profiles = [Profile.EQBD, Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/EquivalentBranch.py b/pycgmes/resources/EquivalentBranch.py index ab132fa9..ba8c6c82 100644 --- a/pycgmes/resources/EquivalentBranch.py +++ b/pycgmes/resources/EquivalentBranch.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EquivalentEquipment import EquivalentEquipment @@ -181,7 +183,7 @@ class EquivalentBranch(EquivalentEquipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/EquivalentEquipment.py b/pycgmes/resources/EquivalentEquipment.py index 64ee0869..e3694d3a 100644 --- a/pycgmes/resources/EquivalentEquipment.py +++ b/pycgmes/resources/EquivalentEquipment.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ConductingEquipment import ConductingEquipment @@ -31,7 +33,7 @@ class EquivalentEquipment(ConductingEquipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/EquivalentInjection.py b/pycgmes/resources/EquivalentInjection.py index c86385c4..986bf9a4 100644 --- a/pycgmes/resources/EquivalentInjection.py +++ b/pycgmes/resources/EquivalentInjection.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EquivalentEquipment import EquivalentEquipment @@ -165,7 +167,7 @@ class EquivalentInjection(EquivalentEquipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/EquivalentNetwork.py b/pycgmes/resources/EquivalentNetwork.py index 30375002..0f55c374 100644 --- a/pycgmes/resources/EquivalentNetwork.py +++ b/pycgmes/resources/EquivalentNetwork.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ConnectivityNodeContainer import ConnectivityNodeContainer @@ -27,7 +29,7 @@ class EquivalentNetwork(ConnectivityNodeContainer): # EquivalentEquipments : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/EquivalentShunt.py b/pycgmes/resources/EquivalentShunt.py index d393d647..90b9aaaf 100644 --- a/pycgmes/resources/EquivalentShunt.py +++ b/pycgmes/resources/EquivalentShunt.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EquivalentEquipment import EquivalentEquipment @@ -37,7 +39,7 @@ class EquivalentShunt(EquivalentEquipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcAC1A.py b/pycgmes/resources/ExcAC1A.py index 314a6313..c43c8d13 100644 --- a/pycgmes/resources/ExcAC1A.py +++ b/pycgmes/resources/ExcAC1A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -202,7 +204,7 @@ class ExcAC1A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcAC2A.py b/pycgmes/resources/ExcAC2A.py index 906f3cc6..3ce6b847 100644 --- a/pycgmes/resources/ExcAC2A.py +++ b/pycgmes/resources/ExcAC2A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -250,7 +252,7 @@ class ExcAC2A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcAC3A.py b/pycgmes/resources/ExcAC3A.py index 51a966f1..9ebb0ce2 100644 --- a/pycgmes/resources/ExcAC3A.py +++ b/pycgmes/resources/ExcAC3A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -233,7 +235,7 @@ class ExcAC3A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcAC4A.py b/pycgmes/resources/ExcAC4A.py index 6f8be660..4b034490 100644 --- a/pycgmes/resources/ExcAC4A.py +++ b/pycgmes/resources/ExcAC4A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -93,7 +95,7 @@ class ExcAC4A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcAC5A.py b/pycgmes/resources/ExcAC5A.py index 7f6e6dc6..731eee1b 100644 --- a/pycgmes/resources/ExcAC5A.py +++ b/pycgmes/resources/ExcAC5A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -167,7 +169,7 @@ class ExcAC5A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcAC6A.py b/pycgmes/resources/ExcAC6A.py index b8cc8463..8ee1f460 100644 --- a/pycgmes/resources/ExcAC6A.py +++ b/pycgmes/resources/ExcAC6A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -209,7 +211,7 @@ class ExcAC6A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcAC8B.py b/pycgmes/resources/ExcAC8B.py index 4da90b1d..8c163616 100644 --- a/pycgmes/resources/ExcAC8B.py +++ b/pycgmes/resources/ExcAC8B.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -246,7 +248,7 @@ class ExcAC8B(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcANS.py b/pycgmes/resources/ExcANS.py index aebe92aa..1bae9fc3 100644 --- a/pycgmes/resources/ExcANS.py +++ b/pycgmes/resources/ExcANS.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -135,7 +137,7 @@ class ExcANS(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcAVR1.py b/pycgmes/resources/ExcAVR1.py index 72aad0b5..fd70d1f9 100644 --- a/pycgmes/resources/ExcAVR1.py +++ b/pycgmes/resources/ExcAVR1.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -118,7 +120,7 @@ class ExcAVR1(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcAVR2.py b/pycgmes/resources/ExcAVR2.py index f76487b3..4042d087 100644 --- a/pycgmes/resources/ExcAVR2.py +++ b/pycgmes/resources/ExcAVR2.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -126,7 +128,7 @@ class ExcAVR2(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcAVR3.py b/pycgmes/resources/ExcAVR3.py index b50b838a..8a31305f 100644 --- a/pycgmes/resources/ExcAVR3.py +++ b/pycgmes/resources/ExcAVR3.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -117,7 +119,7 @@ class ExcAVR3(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcAVR4.py b/pycgmes/resources/ExcAVR4.py index 2bb5ef37..f1120372 100644 --- a/pycgmes/resources/ExcAVR4.py +++ b/pycgmes/resources/ExcAVR4.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -134,7 +136,7 @@ class ExcAVR4(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcAVR5.py b/pycgmes/resources/ExcAVR5.py index b2d6fdac..827ceaf9 100644 --- a/pycgmes/resources/ExcAVR5.py +++ b/pycgmes/resources/ExcAVR5.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -47,7 +49,7 @@ class ExcAVR5(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcAVR7.py b/pycgmes/resources/ExcAVR7.py index b50990cd..6566e21c 100644 --- a/pycgmes/resources/ExcAVR7.py +++ b/pycgmes/resources/ExcAVR7.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -189,7 +191,7 @@ class ExcAVR7(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcBBC.py b/pycgmes/resources/ExcBBC.py index 435a413a..e893c9ba 100644 --- a/pycgmes/resources/ExcBBC.py +++ b/pycgmes/resources/ExcBBC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -113,7 +115,7 @@ class ExcBBC(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcCZ.py b/pycgmes/resources/ExcCZ.py index f08f7ee8..c0914a1a 100644 --- a/pycgmes/resources/ExcCZ.py +++ b/pycgmes/resources/ExcCZ.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -101,7 +103,7 @@ class ExcCZ(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcDC1A.py b/pycgmes/resources/ExcDC1A.py index ee761fb8..f33aaa4f 100644 --- a/pycgmes/resources/ExcDC1A.py +++ b/pycgmes/resources/ExcDC1A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -170,7 +172,7 @@ class ExcDC1A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcDC2A.py b/pycgmes/resources/ExcDC2A.py index dcde8c0b..fb25806a 100644 --- a/pycgmes/resources/ExcDC2A.py +++ b/pycgmes/resources/ExcDC2A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -174,7 +176,7 @@ class ExcDC2A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcDC3A.py b/pycgmes/resources/ExcDC3A.py index cd582f99..578d45b7 100644 --- a/pycgmes/resources/ExcDC3A.py +++ b/pycgmes/resources/ExcDC3A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -154,7 +156,7 @@ class ExcDC3A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcDC3A1.py b/pycgmes/resources/ExcDC3A1.py index 5faffd19..d9294e3e 100644 --- a/pycgmes/resources/ExcDC3A1.py +++ b/pycgmes/resources/ExcDC3A1.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -134,7 +136,7 @@ class ExcDC3A1(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcELIN1.py b/pycgmes/resources/ExcELIN1.py index 1586a63e..7403b4b8 100644 --- a/pycgmes/resources/ExcELIN1.py +++ b/pycgmes/resources/ExcELIN1.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -145,7 +147,7 @@ class ExcELIN1(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcELIN2.py b/pycgmes/resources/ExcELIN2.py index cf661f3e..d92273e2 100644 --- a/pycgmes/resources/ExcELIN2.py +++ b/pycgmes/resources/ExcELIN2.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -244,7 +246,7 @@ class ExcELIN2(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcHU.py b/pycgmes/resources/ExcHU.py index 2988e1a0..db8161df 100644 --- a/pycgmes/resources/ExcHU.py +++ b/pycgmes/resources/ExcHU.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -118,7 +120,7 @@ class ExcHU(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEAC1A.py b/pycgmes/resources/ExcIEEEAC1A.py index cd19b746..159e5c05 100644 --- a/pycgmes/resources/ExcIEEEAC1A.py +++ b/pycgmes/resources/ExcIEEEAC1A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -171,7 +173,7 @@ class ExcIEEEAC1A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEAC2A.py b/pycgmes/resources/ExcIEEEAC2A.py index d61b7587..f8000bef 100644 --- a/pycgmes/resources/ExcIEEEAC2A.py +++ b/pycgmes/resources/ExcIEEEAC2A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -196,7 +198,7 @@ class ExcIEEEAC2A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEAC3A.py b/pycgmes/resources/ExcIEEEAC3A.py index 22429c57..6e2d1497 100644 --- a/pycgmes/resources/ExcIEEEAC3A.py +++ b/pycgmes/resources/ExcIEEEAC3A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -199,7 +201,7 @@ class ExcIEEEAC3A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEAC4A.py b/pycgmes/resources/ExcIEEEAC4A.py index 32504e8c..4f4a8f3e 100644 --- a/pycgmes/resources/ExcIEEEAC4A.py +++ b/pycgmes/resources/ExcIEEEAC4A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -98,7 +100,7 @@ class ExcIEEEAC4A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEAC5A.py b/pycgmes/resources/ExcIEEEAC5A.py index 2d1f7946..0f64a2ad 100644 --- a/pycgmes/resources/ExcIEEEAC5A.py +++ b/pycgmes/resources/ExcIEEEAC5A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -140,7 +142,7 @@ class ExcIEEEAC5A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEAC6A.py b/pycgmes/resources/ExcIEEEAC6A.py index bb838111..f7c28fe4 100644 --- a/pycgmes/resources/ExcIEEEAC6A.py +++ b/pycgmes/resources/ExcIEEEAC6A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -204,7 +206,7 @@ class ExcIEEEAC6A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEAC7B.py b/pycgmes/resources/ExcIEEEAC7B.py index b2ff75d3..a1b42e2a 100644 --- a/pycgmes/resources/ExcIEEEAC7B.py +++ b/pycgmes/resources/ExcIEEEAC7B.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -237,7 +239,7 @@ class ExcIEEEAC7B(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEAC8B.py b/pycgmes/resources/ExcIEEEAC8B.py index 2bbaadce..a70b446f 100644 --- a/pycgmes/resources/ExcIEEEAC8B.py +++ b/pycgmes/resources/ExcIEEEAC8B.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -176,7 +178,7 @@ class ExcIEEEAC8B(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEDC1A.py b/pycgmes/resources/ExcIEEEDC1A.py index df314719..6c0d636a 100644 --- a/pycgmes/resources/ExcIEEEDC1A.py +++ b/pycgmes/resources/ExcIEEEDC1A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -158,7 +160,7 @@ class ExcIEEEDC1A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEDC2A.py b/pycgmes/resources/ExcIEEEDC2A.py index fda9f9fb..62629820 100644 --- a/pycgmes/resources/ExcIEEEDC2A.py +++ b/pycgmes/resources/ExcIEEEDC2A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -157,7 +159,7 @@ class ExcIEEEDC2A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEDC3A.py b/pycgmes/resources/ExcIEEEDC3A.py index b2af76c1..25edb3c4 100644 --- a/pycgmes/resources/ExcIEEEDC3A.py +++ b/pycgmes/resources/ExcIEEEDC3A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -119,7 +121,7 @@ class ExcIEEEDC3A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEDC4B.py b/pycgmes/resources/ExcIEEEDC4B.py index 6a79e3f9..1fa15040 100644 --- a/pycgmes/resources/ExcIEEEDC4B.py +++ b/pycgmes/resources/ExcIEEEDC4B.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -177,7 +179,7 @@ class ExcIEEEDC4B(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEST1A.py b/pycgmes/resources/ExcIEEEST1A.py index e5bdd61a..6f2cd98a 100644 --- a/pycgmes/resources/ExcIEEEST1A.py +++ b/pycgmes/resources/ExcIEEEST1A.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -178,7 +180,7 @@ class ExcIEEEST1A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEST1AUELselectorKind.py b/pycgmes/resources/ExcIEEEST1AUELselectorKind.py index fff8e82c..9b5daf34 100644 --- a/pycgmes/resources/ExcIEEEST1AUELselectorKind.py +++ b/pycgmes/resources/ExcIEEEST1AUELselectorKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class ExcIEEEST1AUELselectorKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEST2A.py b/pycgmes/resources/ExcIEEEST2A.py index 852d1a2a..aa69da67 100644 --- a/pycgmes/resources/ExcIEEEST2A.py +++ b/pycgmes/resources/ExcIEEEST2A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -128,7 +130,7 @@ class ExcIEEEST2A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEST3A.py b/pycgmes/resources/ExcIEEEST3A.py index a68b6d7c..8a478efb 100644 --- a/pycgmes/resources/ExcIEEEST3A.py +++ b/pycgmes/resources/ExcIEEEST3A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -188,7 +190,7 @@ class ExcIEEEST3A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEST4B.py b/pycgmes/resources/ExcIEEEST4B.py index 4ed70389..c75602bf 100644 --- a/pycgmes/resources/ExcIEEEST4B.py +++ b/pycgmes/resources/ExcIEEEST4B.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -153,7 +155,7 @@ class ExcIEEEST4B(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEST5B.py b/pycgmes/resources/ExcIEEEST5B.py index 871fa3d3..f8e9f2e5 100644 --- a/pycgmes/resources/ExcIEEEST5B.py +++ b/pycgmes/resources/ExcIEEEST5B.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -160,7 +162,7 @@ class ExcIEEEST5B(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEST6B.py b/pycgmes/resources/ExcIEEEST6B.py index 477d0343..2fb19971 100644 --- a/pycgmes/resources/ExcIEEEST6B.py +++ b/pycgmes/resources/ExcIEEEST6B.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -136,7 +138,7 @@ class ExcIEEEST6B(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcIEEEST7B.py b/pycgmes/resources/ExcIEEEST7B.py index 23cb6fca..60125b35 100644 --- a/pycgmes/resources/ExcIEEEST7B.py +++ b/pycgmes/resources/ExcIEEEST7B.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -150,7 +152,7 @@ class ExcIEEEST7B(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcNI.py b/pycgmes/resources/ExcNI.py index c988b644..2c4b1d9e 100644 --- a/pycgmes/resources/ExcNI.py +++ b/pycgmes/resources/ExcNI.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -103,7 +105,7 @@ class ExcNI(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcOEX3T.py b/pycgmes/resources/ExcOEX3T.py index 50736f0a..39bb403b 100644 --- a/pycgmes/resources/ExcOEX3T.py +++ b/pycgmes/resources/ExcOEX3T.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -173,7 +175,7 @@ class ExcOEX3T(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcPIC.py b/pycgmes/resources/ExcPIC.py index 041e412c..1f5fa0dd 100644 --- a/pycgmes/resources/ExcPIC.py +++ b/pycgmes/resources/ExcPIC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -206,7 +208,7 @@ class ExcPIC(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcREXS.py b/pycgmes/resources/ExcREXS.py index fccb8009..e3d644e0 100644 --- a/pycgmes/resources/ExcREXS.py +++ b/pycgmes/resources/ExcREXS.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -312,7 +314,7 @@ class ExcREXS(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcREXSFeedbackSignalKind.py b/pycgmes/resources/ExcREXSFeedbackSignalKind.py index 55b5742e..eede0a02 100644 --- a/pycgmes/resources/ExcREXSFeedbackSignalKind.py +++ b/pycgmes/resources/ExcREXSFeedbackSignalKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class ExcREXSFeedbackSignalKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcRQB.py b/pycgmes/resources/ExcRQB.py index ef49e300..4a1337d5 100644 --- a/pycgmes/resources/ExcRQB.py +++ b/pycgmes/resources/ExcRQB.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -127,7 +129,7 @@ class ExcRQB(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcSCRX.py b/pycgmes/resources/ExcSCRX.py index 51549114..19f72e18 100644 --- a/pycgmes/resources/ExcSCRX.py +++ b/pycgmes/resources/ExcSCRX.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -87,7 +89,7 @@ class ExcSCRX(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcSEXS.py b/pycgmes/resources/ExcSEXS.py index 65f63c30..b10db96a 100644 --- a/pycgmes/resources/ExcSEXS.py +++ b/pycgmes/resources/ExcSEXS.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -101,7 +103,7 @@ class ExcSEXS(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcSK.py b/pycgmes/resources/ExcSK.py index 3433f285..26e1cd24 100644 --- a/pycgmes/resources/ExcSK.py +++ b/pycgmes/resources/ExcSK.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -283,7 +285,7 @@ class ExcSK(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcST1A.py b/pycgmes/resources/ExcST1A.py index b965150a..2bf616e2 100644 --- a/pycgmes/resources/ExcST1A.py +++ b/pycgmes/resources/ExcST1A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -166,7 +168,7 @@ class ExcST1A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcST2A.py b/pycgmes/resources/ExcST2A.py index eaed5f63..652ab1e4 100644 --- a/pycgmes/resources/ExcST2A.py +++ b/pycgmes/resources/ExcST2A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -141,7 +143,7 @@ class ExcST2A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcST3A.py b/pycgmes/resources/ExcST3A.py index 1f8c0552..8e660d31 100644 --- a/pycgmes/resources/ExcST3A.py +++ b/pycgmes/resources/ExcST3A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -181,7 +183,7 @@ class ExcST3A(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcST4B.py b/pycgmes/resources/ExcST4B.py index 3ab2cdc7..eccb11f3 100644 --- a/pycgmes/resources/ExcST4B.py +++ b/pycgmes/resources/ExcST4B.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -175,7 +177,7 @@ class ExcST4B(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcST6B.py b/pycgmes/resources/ExcST6B.py index fc69c682..13a5d939 100644 --- a/pycgmes/resources/ExcST6B.py +++ b/pycgmes/resources/ExcST6B.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -208,7 +210,7 @@ class ExcST6B(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcST6BOELselectorKind.py b/pycgmes/resources/ExcST6BOELselectorKind.py index c8def93e..81994607 100644 --- a/pycgmes/resources/ExcST6BOELselectorKind.py +++ b/pycgmes/resources/ExcST6BOELselectorKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class ExcST6BOELselectorKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcST7B.py b/pycgmes/resources/ExcST7B.py index 8f49bbea..8f091086 100644 --- a/pycgmes/resources/ExcST7B.py +++ b/pycgmes/resources/ExcST7B.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -151,7 +153,7 @@ class ExcST7B(ExcitationSystemDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcST7BOELselectorKind.py b/pycgmes/resources/ExcST7BOELselectorKind.py index 02e7c78a..d47b4e53 100644 --- a/pycgmes/resources/ExcST7BOELselectorKind.py +++ b/pycgmes/resources/ExcST7BOELselectorKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class ExcST7BOELselectorKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcST7BUELselectorKind.py b/pycgmes/resources/ExcST7BUELselectorKind.py index 2c92415e..c4dd45ae 100644 --- a/pycgmes/resources/ExcST7BUELselectorKind.py +++ b/pycgmes/resources/ExcST7BUELselectorKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class ExcST7BUELselectorKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcitationSystemDynamics.py b/pycgmes/resources/ExcitationSystemDynamics.py index 8fe5d18f..9bcf76be 100644 --- a/pycgmes/resources/ExcitationSystemDynamics.py +++ b/pycgmes/resources/ExcitationSystemDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -69,7 +71,7 @@ class ExcitationSystemDynamics(DynamicsFunctionBlock): # PFVArControllerType1Dynamics : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExcitationSystemUserDefined.py b/pycgmes/resources/ExcitationSystemUserDefined.py index 02e84cff..f56d6a70 100644 --- a/pycgmes/resources/ExcitationSystemUserDefined.py +++ b/pycgmes/resources/ExcitationSystemUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ExcitationSystemDynamics import ExcitationSystemDynamics @@ -37,7 +39,7 @@ class ExcitationSystemUserDefined(ExcitationSystemDynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ExternalNetworkInjection.py b/pycgmes/resources/ExternalNetworkInjection.py index a056e03a..98546653 100644 --- a/pycgmes/resources/ExternalNetworkInjection.py +++ b/pycgmes/resources/ExternalNetworkInjection.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .RegulatingCondEq import RegulatingCondEq @@ -182,7 +184,7 @@ class ExternalNetworkInjection(RegulatingCondEq): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/FaultIndicator.py b/pycgmes/resources/FaultIndicator.py index 060a308e..bb9ba0b2 100644 --- a/pycgmes/resources/FaultIndicator.py +++ b/pycgmes/resources/FaultIndicator.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .AuxiliaryEquipment import AuxiliaryEquipment @@ -25,7 +27,7 @@ class FaultIndicator(AuxiliaryEquipment): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Float.py b/pycgmes/resources/Float.py index 1e76c752..ae85cfee 100644 --- a/pycgmes/resources/Float.py +++ b/pycgmes/resources/Float.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class Float(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/FossilFuel.py b/pycgmes/resources/FossilFuel.py index 8a759624..0b2860b2 100644 --- a/pycgmes/resources/FossilFuel.py +++ b/pycgmes/resources/FossilFuel.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -39,7 +41,7 @@ class FossilFuel(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/FrancisGovernorControlKind.py b/pycgmes/resources/FrancisGovernorControlKind.py index 44303daa..63b1ca3d 100644 --- a/pycgmes/resources/FrancisGovernorControlKind.py +++ b/pycgmes/resources/FrancisGovernorControlKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class FrancisGovernorControlKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Frequency.py b/pycgmes/resources/Frequency.py index 06405a59..3ed6203b 100644 --- a/pycgmes/resources/Frequency.py +++ b/pycgmes/resources/Frequency.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -49,7 +51,7 @@ class Frequency(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/FuelType.py b/pycgmes/resources/FuelType.py index 74907d46..ced10752 100644 --- a/pycgmes/resources/FuelType.py +++ b/pycgmes/resources/FuelType.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class FuelType(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Fuse.py b/pycgmes/resources/Fuse.py index da03f1b2..5fce44f5 100644 --- a/pycgmes/resources/Fuse.py +++ b/pycgmes/resources/Fuse.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Switch import Switch @@ -23,7 +25,7 @@ class Fuse(Switch): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GenICompensationForGenJ.py b/pycgmes/resources/GenICompensationForGenJ.py index 28385610..d0cf6af6 100644 --- a/pycgmes/resources/GenICompensationForGenJ.py +++ b/pycgmes/resources/GenICompensationForGenJ.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -57,7 +59,7 @@ class GenICompensationForGenJ(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GeneratingUnit.py b/pycgmes/resources/GeneratingUnit.py index ea1d61b7..f8f52e8a 100644 --- a/pycgmes/resources/GeneratingUnit.py +++ b/pycgmes/resources/GeneratingUnit.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Equipment import Equipment @@ -180,7 +182,7 @@ class GeneratingUnit(Equipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GeneratorControlSource.py b/pycgmes/resources/GeneratorControlSource.py index be49ecf4..b61e865f 100644 --- a/pycgmes/resources/GeneratorControlSource.py +++ b/pycgmes/resources/GeneratorControlSource.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class GeneratorControlSource(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GenericNonLinearLoadModelKind.py b/pycgmes/resources/GenericNonLinearLoadModelKind.py index da797337..4b744b5b 100644 --- a/pycgmes/resources/GenericNonLinearLoadModelKind.py +++ b/pycgmes/resources/GenericNonLinearLoadModelKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class GenericNonLinearLoadModelKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GeographicalRegion.py b/pycgmes/resources/GeographicalRegion.py index dfcaa280..2ea2cea7 100644 --- a/pycgmes/resources/GeographicalRegion.py +++ b/pycgmes/resources/GeographicalRegion.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -25,7 +27,7 @@ class GeographicalRegion(IdentifiedObject): # Regions : list = Field(default_factory=list, in_profiles = [Profile.EQBD, Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovCT1.py b/pycgmes/resources/GovCT1.py index b4f51384..6020f89a 100644 --- a/pycgmes/resources/GovCT1.py +++ b/pycgmes/resources/GovCT1.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -323,7 +325,7 @@ class GovCT1(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovCT2.py b/pycgmes/resources/GovCT2.py index 4c6a560f..aac4d4d3 100644 --- a/pycgmes/resources/GovCT2.py +++ b/pycgmes/resources/GovCT2.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -485,7 +487,7 @@ class GovCT2(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovGAST.py b/pycgmes/resources/GovGAST.py index ca370677..d9440e85 100644 --- a/pycgmes/resources/GovGAST.py +++ b/pycgmes/resources/GovGAST.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -105,7 +107,7 @@ class GovGAST(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovGAST1.py b/pycgmes/resources/GovGAST1.py index 5099805a..88541682 100644 --- a/pycgmes/resources/GovGAST1.py +++ b/pycgmes/resources/GovGAST1.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -299,7 +301,7 @@ class GovGAST1(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovGAST2.py b/pycgmes/resources/GovGAST2.py index eab97d1e..5ab84f16 100644 --- a/pycgmes/resources/GovGAST2.py +++ b/pycgmes/resources/GovGAST2.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -279,7 +281,7 @@ class GovGAST2(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovGAST3.py b/pycgmes/resources/GovGAST3.py index 8c203058..3b158051 100644 --- a/pycgmes/resources/GovGAST3.py +++ b/pycgmes/resources/GovGAST3.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -189,7 +191,7 @@ class GovGAST3(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovGAST4.py b/pycgmes/resources/GovGAST4.py index 886beff1..b80ea9d7 100644 --- a/pycgmes/resources/GovGAST4.py +++ b/pycgmes/resources/GovGAST4.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -109,7 +111,7 @@ class GovGAST4(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovGASTWD.py b/pycgmes/resources/GovGASTWD.py index c2e05f7d..da54a1f7 100644 --- a/pycgmes/resources/GovGASTWD.py +++ b/pycgmes/resources/GovGASTWD.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -288,7 +290,7 @@ class GovGASTWD(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovHydro1.py b/pycgmes/resources/GovHydro1.py index 8f52277b..672a26af 100644 --- a/pycgmes/resources/GovHydro1.py +++ b/pycgmes/resources/GovHydro1.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -133,7 +135,7 @@ class GovHydro1(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovHydro2.py b/pycgmes/resources/GovHydro2.py index a593a792..f8ffc24e 100644 --- a/pycgmes/resources/GovHydro2.py +++ b/pycgmes/resources/GovHydro2.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -253,7 +255,7 @@ class GovHydro2(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovHydro3.py b/pycgmes/resources/GovHydro3.py index 4384fefe..5fd5a14e 100644 --- a/pycgmes/resources/GovHydro3.py +++ b/pycgmes/resources/GovHydro3.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -311,7 +313,7 @@ class GovHydro3(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovHydro4.py b/pycgmes/resources/GovHydro4.py index d21167a2..6e6ffefb 100644 --- a/pycgmes/resources/GovHydro4.py +++ b/pycgmes/resources/GovHydro4.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -348,7 +350,7 @@ class GovHydro4(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovHydro4ModelKind.py b/pycgmes/resources/GovHydro4ModelKind.py index abcf01bd..e28f59cf 100644 --- a/pycgmes/resources/GovHydro4ModelKind.py +++ b/pycgmes/resources/GovHydro4ModelKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class GovHydro4ModelKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovHydroDD.py b/pycgmes/resources/GovHydroDD.py index dda90a8b..e819e558 100644 --- a/pycgmes/resources/GovHydroDD.py +++ b/pycgmes/resources/GovHydroDD.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -303,7 +305,7 @@ class GovHydroDD(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovHydroFrancis.py b/pycgmes/resources/GovHydroFrancis.py index 5a0c5647..3d0c669e 100644 --- a/pycgmes/resources/GovHydroFrancis.py +++ b/pycgmes/resources/GovHydroFrancis.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -243,7 +245,7 @@ class GovHydroFrancis(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovHydroIEEE0.py b/pycgmes/resources/GovHydroIEEE0.py index baceac4a..0836f526 100644 --- a/pycgmes/resources/GovHydroIEEE0.py +++ b/pycgmes/resources/GovHydroIEEE0.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -88,7 +90,7 @@ class GovHydroIEEE0(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovHydroIEEE2.py b/pycgmes/resources/GovHydroIEEE2.py index 0d6bbdb6..2f993538 100644 --- a/pycgmes/resources/GovHydroIEEE2.py +++ b/pycgmes/resources/GovHydroIEEE2.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -231,7 +233,7 @@ class GovHydroIEEE2(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovHydroPID.py b/pycgmes/resources/GovHydroPID.py index 70250069..53d6a1da 100644 --- a/pycgmes/resources/GovHydroPID.py +++ b/pycgmes/resources/GovHydroPID.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -287,7 +289,7 @@ class GovHydroPID(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovHydroPID2.py b/pycgmes/resources/GovHydroPID2.py index a7a403ac..89fe4aa8 100644 --- a/pycgmes/resources/GovHydroPID2.py +++ b/pycgmes/resources/GovHydroPID2.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -200,7 +202,7 @@ class GovHydroPID2(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovHydroPelton.py b/pycgmes/resources/GovHydroPelton.py index 03b6de12..dc10611f 100644 --- a/pycgmes/resources/GovHydroPelton.py +++ b/pycgmes/resources/GovHydroPelton.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -253,7 +255,7 @@ class GovHydroPelton(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovHydroR.py b/pycgmes/resources/GovHydroR.py index 34593201..e704722f 100644 --- a/pycgmes/resources/GovHydroR.py +++ b/pycgmes/resources/GovHydroR.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -359,7 +361,7 @@ class GovHydroR(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovHydroWEH.py b/pycgmes/resources/GovHydroWEH.py index 33c6ea2e..68060c2d 100644 --- a/pycgmes/resources/GovHydroWEH.py +++ b/pycgmes/resources/GovHydroWEH.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -464,7 +466,7 @@ class GovHydroWEH(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovHydroWPID.py b/pycgmes/resources/GovHydroWPID.py index 91d2253b..cfb823f3 100644 --- a/pycgmes/resources/GovHydroWPID.py +++ b/pycgmes/resources/GovHydroWPID.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -199,7 +201,7 @@ class GovHydroWPID(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovSteam0.py b/pycgmes/resources/GovSteam0.py index 7b94f755..33291d5b 100644 --- a/pycgmes/resources/GovSteam0.py +++ b/pycgmes/resources/GovSteam0.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -85,7 +87,7 @@ class GovSteam0(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovSteam1.py b/pycgmes/resources/GovSteam1.py index 0f022a46..7e59524b 100644 --- a/pycgmes/resources/GovSteam1.py +++ b/pycgmes/resources/GovSteam1.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -336,7 +338,7 @@ class GovSteam1(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovSteam2.py b/pycgmes/resources/GovSteam2.py index 8dccbc97..5bada665 100644 --- a/pycgmes/resources/GovSteam2.py +++ b/pycgmes/resources/GovSteam2.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -85,7 +87,7 @@ class GovSteam2(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovSteamBB.py b/pycgmes/resources/GovSteamBB.py index c8051ad0..8c481e28 100644 --- a/pycgmes/resources/GovSteamBB.py +++ b/pycgmes/resources/GovSteamBB.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -158,7 +160,7 @@ class GovSteamBB(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovSteamCC.py b/pycgmes/resources/GovSteamCC.py index 9f87fc7a..abfa1477 100644 --- a/pycgmes/resources/GovSteamCC.py +++ b/pycgmes/resources/GovSteamCC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .CrossCompoundTurbineGovernorDynamics import CrossCompoundTurbineGovernorDynamics @@ -157,7 +159,7 @@ class GovSteamCC(CrossCompoundTurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovSteamEU.py b/pycgmes/resources/GovSteamEU.py index 076310e1..4a14aef8 100644 --- a/pycgmes/resources/GovSteamEU.py +++ b/pycgmes/resources/GovSteamEU.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -301,7 +303,7 @@ class GovSteamEU(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovSteamFV2.py b/pycgmes/resources/GovSteamFV2.py index d5563a1c..39c78f39 100644 --- a/pycgmes/resources/GovSteamFV2.py +++ b/pycgmes/resources/GovSteamFV2.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -118,7 +120,7 @@ class GovSteamFV2(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovSteamFV3.py b/pycgmes/resources/GovSteamFV3.py index d8112444..1e6450f9 100644 --- a/pycgmes/resources/GovSteamFV3.py +++ b/pycgmes/resources/GovSteamFV3.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -270,7 +272,7 @@ class GovSteamFV3(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovSteamFV4.py b/pycgmes/resources/GovSteamFV4.py index 1e84a83b..ecc18929 100644 --- a/pycgmes/resources/GovSteamFV4.py +++ b/pycgmes/resources/GovSteamFV4.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -430,7 +432,7 @@ class GovSteamFV4(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovSteamIEEE1.py b/pycgmes/resources/GovSteamIEEE1.py index 4ae58c05..6e1bac6c 100644 --- a/pycgmes/resources/GovSteamIEEE1.py +++ b/pycgmes/resources/GovSteamIEEE1.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -190,7 +192,7 @@ class GovSteamIEEE1(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GovSteamSGO.py b/pycgmes/resources/GovSteamSGO.py index c8ff58f7..e3968c89 100644 --- a/pycgmes/resources/GovSteamSGO.py +++ b/pycgmes/resources/GovSteamSGO.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -117,7 +119,7 @@ class GovSteamSGO(TurbineGovernorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GrossToNetActivePowerCurve.py b/pycgmes/resources/GrossToNetActivePowerCurve.py index 7a2b9605..0aa6971c 100644 --- a/pycgmes/resources/GrossToNetActivePowerCurve.py +++ b/pycgmes/resources/GrossToNetActivePowerCurve.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Curve import Curve @@ -34,7 +36,7 @@ class GrossToNetActivePowerCurve(Curve): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Ground.py b/pycgmes/resources/Ground.py index 154ec658..93dce60d 100644 --- a/pycgmes/resources/Ground.py +++ b/pycgmes/resources/Ground.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ConductingEquipment import ConductingEquipment @@ -23,7 +25,7 @@ class Ground(ConductingEquipment): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GroundDisconnector.py b/pycgmes/resources/GroundDisconnector.py index 357f6802..ae99443a 100644 --- a/pycgmes/resources/GroundDisconnector.py +++ b/pycgmes/resources/GroundDisconnector.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Switch import Switch @@ -23,7 +25,7 @@ class GroundDisconnector(Switch): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/GroundingImpedance.py b/pycgmes/resources/GroundingImpedance.py index c33468e6..980d07ea 100644 --- a/pycgmes/resources/GroundingImpedance.py +++ b/pycgmes/resources/GroundingImpedance.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EarthFaultCompensator import EarthFaultCompensator @@ -29,7 +31,7 @@ class GroundingImpedance(EarthFaultCompensator): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/HVDCDynamics.py b/pycgmes/resources/HVDCDynamics.py index a5cfa90b..f12ccc83 100644 --- a/pycgmes/resources/HVDCDynamics.py +++ b/pycgmes/resources/HVDCDynamics.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -22,7 +24,7 @@ class HVDCDynamics(DynamicsFunctionBlock): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/HydroEnergyConversionKind.py b/pycgmes/resources/HydroEnergyConversionKind.py index 42fa05ed..b6948283 100644 --- a/pycgmes/resources/HydroEnergyConversionKind.py +++ b/pycgmes/resources/HydroEnergyConversionKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class HydroEnergyConversionKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/HydroGeneratingUnit.py b/pycgmes/resources/HydroGeneratingUnit.py index 3f5e685c..14195e50 100644 --- a/pycgmes/resources/HydroGeneratingUnit.py +++ b/pycgmes/resources/HydroGeneratingUnit.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .GeneratingUnit import GeneratingUnit @@ -54,7 +56,7 @@ class HydroGeneratingUnit(GeneratingUnit): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/HydroPlantStorageKind.py b/pycgmes/resources/HydroPlantStorageKind.py index dc35ac14..ee5b663d 100644 --- a/pycgmes/resources/HydroPlantStorageKind.py +++ b/pycgmes/resources/HydroPlantStorageKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class HydroPlantStorageKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/HydroPowerPlant.py b/pycgmes/resources/HydroPowerPlant.py index 494128cb..f8581f9d 100644 --- a/pycgmes/resources/HydroPowerPlant.py +++ b/pycgmes/resources/HydroPowerPlant.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemResource import PowerSystemResource @@ -41,7 +43,7 @@ class HydroPowerPlant(PowerSystemResource): # HydroPumps : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/HydroPump.py b/pycgmes/resources/HydroPump.py index 3885d79c..8a0744f6 100644 --- a/pycgmes/resources/HydroPump.py +++ b/pycgmes/resources/HydroPump.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Equipment import Equipment @@ -40,7 +42,7 @@ class HydroPump(Equipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/HydroTurbineKind.py b/pycgmes/resources/HydroTurbineKind.py index 89cc77d9..9271be2b 100644 --- a/pycgmes/resources/HydroTurbineKind.py +++ b/pycgmes/resources/HydroTurbineKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class HydroTurbineKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/IOPoint.py b/pycgmes/resources/IOPoint.py index b9244bf6..e9242b62 100644 --- a/pycgmes/resources/IOPoint.py +++ b/pycgmes/resources/IOPoint.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -23,7 +25,7 @@ class IOPoint(IdentifiedObject): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/IdentifiedObject.py b/pycgmes/resources/IdentifiedObject.py index 0a921008..04558016 100644 --- a/pycgmes/resources/IdentifiedObject.py +++ b/pycgmes/resources/IdentifiedObject.py @@ -9,8 +9,10 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -98,7 +100,7 @@ class IdentifiedObject(Base): # DiagramObjects : list = Field(default_factory=list, in_profiles = [Profile.DL, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/IfdBaseKind.py b/pycgmes/resources/IfdBaseKind.py index 0f67c5cb..8989e9ab 100644 --- a/pycgmes/resources/IfdBaseKind.py +++ b/pycgmes/resources/IfdBaseKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class IfdBaseKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Inductance.py b/pycgmes/resources/Inductance.py index 6e2599e2..be0b4fd0 100644 --- a/pycgmes/resources/Inductance.py +++ b/pycgmes/resources/Inductance.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -46,7 +48,7 @@ class Inductance(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/InputSignalKind.py b/pycgmes/resources/InputSignalKind.py index c6e437fb..fb01ded7 100644 --- a/pycgmes/resources/InputSignalKind.py +++ b/pycgmes/resources/InputSignalKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class InputSignalKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Integer.py b/pycgmes/resources/Integer.py index 5526008d..c3481ad8 100644 --- a/pycgmes/resources/Integer.py +++ b/pycgmes/resources/Integer.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class Integer(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Jumper.py b/pycgmes/resources/Jumper.py index eefe51b1..8cd04db6 100644 --- a/pycgmes/resources/Jumper.py +++ b/pycgmes/resources/Jumper.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Switch import Switch @@ -23,7 +25,7 @@ class Jumper(Switch): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Junction.py b/pycgmes/resources/Junction.py index ed9eb043..52e26cb9 100644 --- a/pycgmes/resources/Junction.py +++ b/pycgmes/resources/Junction.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Connector import Connector @@ -22,7 +24,7 @@ class Junction(Connector): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Length.py b/pycgmes/resources/Length.py index 3b40af4d..5ebeb52f 100644 --- a/pycgmes/resources/Length.py +++ b/pycgmes/resources/Length.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -52,7 +54,7 @@ class Length(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Limit.py b/pycgmes/resources/Limit.py index f7772310..3d596429 100644 --- a/pycgmes/resources/Limit.py +++ b/pycgmes/resources/Limit.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -25,7 +27,7 @@ class Limit(IdentifiedObject): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/LimitKind.py b/pycgmes/resources/LimitKind.py index b0243a59..e4ed0e1b 100644 --- a/pycgmes/resources/LimitKind.py +++ b/pycgmes/resources/LimitKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class LimitKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/LimitSet.py b/pycgmes/resources/LimitSet.py index 94560131..d679f0a2 100644 --- a/pycgmes/resources/LimitSet.py +++ b/pycgmes/resources/LimitSet.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -33,7 +35,7 @@ class LimitSet(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Line.py b/pycgmes/resources/Line.py index 78500c5e..e38f2279 100644 --- a/pycgmes/resources/Line.py +++ b/pycgmes/resources/Line.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EquipmentContainer import EquipmentContainer @@ -31,7 +33,7 @@ class Line(EquipmentContainer): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/LinearShuntCompensator.py b/pycgmes/resources/LinearShuntCompensator.py index c5859794..eb265e77 100644 --- a/pycgmes/resources/LinearShuntCompensator.py +++ b/pycgmes/resources/LinearShuntCompensator.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ShuntCompensator import ShuntCompensator @@ -53,7 +55,7 @@ class LinearShuntCompensator(ShuntCompensator): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/LoadAggregate.py b/pycgmes/resources/LoadAggregate.py index 76ad20e1..9c37f80d 100644 --- a/pycgmes/resources/LoadAggregate.py +++ b/pycgmes/resources/LoadAggregate.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .LoadDynamics import LoadDynamics @@ -36,7 +38,7 @@ class LoadAggregate(LoadDynamics): # LoadStatic : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/LoadArea.py b/pycgmes/resources/LoadArea.py index 163a220d..232e8db7 100644 --- a/pycgmes/resources/LoadArea.py +++ b/pycgmes/resources/LoadArea.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EnergyArea import EnergyArea @@ -26,7 +28,7 @@ class LoadArea(EnergyArea): # SubLoadAreas : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/LoadBreakSwitch.py b/pycgmes/resources/LoadBreakSwitch.py index 3377973a..6e1ac548 100644 --- a/pycgmes/resources/LoadBreakSwitch.py +++ b/pycgmes/resources/LoadBreakSwitch.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ProtectedSwitch import ProtectedSwitch @@ -22,7 +24,7 @@ class LoadBreakSwitch(ProtectedSwitch): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/LoadComposite.py b/pycgmes/resources/LoadComposite.py index 32e8340f..ca09cbe5 100644 --- a/pycgmes/resources/LoadComposite.py +++ b/pycgmes/resources/LoadComposite.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .LoadDynamics import LoadDynamics @@ -111,7 +113,7 @@ class LoadComposite(LoadDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/LoadDynamics.py b/pycgmes/resources/LoadDynamics.py index 9fff04c1..64372237 100644 --- a/pycgmes/resources/LoadDynamics.py +++ b/pycgmes/resources/LoadDynamics.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -28,7 +30,7 @@ class LoadDynamics(IdentifiedObject): # EnergyConsumer : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/LoadGenericNonLinear.py b/pycgmes/resources/LoadGenericNonLinear.py index 23fc8142..a4f02a80 100644 --- a/pycgmes/resources/LoadGenericNonLinear.py +++ b/pycgmes/resources/LoadGenericNonLinear.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .LoadDynamics import LoadDynamics @@ -80,7 +82,7 @@ class LoadGenericNonLinear(LoadDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/LoadGroup.py b/pycgmes/resources/LoadGroup.py index a23b28c6..cf744428 100644 --- a/pycgmes/resources/LoadGroup.py +++ b/pycgmes/resources/LoadGroup.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -31,7 +33,7 @@ class LoadGroup(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/LoadMotor.py b/pycgmes/resources/LoadMotor.py index c5b3118d..acf9b7ba 100644 --- a/pycgmes/resources/LoadMotor.py +++ b/pycgmes/resources/LoadMotor.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -149,7 +151,7 @@ class LoadMotor(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/LoadResponseCharacteristic.py b/pycgmes/resources/LoadResponseCharacteristic.py index 325485b3..c608edf3 100644 --- a/pycgmes/resources/LoadResponseCharacteristic.py +++ b/pycgmes/resources/LoadResponseCharacteristic.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -133,7 +135,7 @@ class LoadResponseCharacteristic(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/LoadStatic.py b/pycgmes/resources/LoadStatic.py index 62bb6fb0..921d8d79 100644 --- a/pycgmes/resources/LoadStatic.py +++ b/pycgmes/resources/LoadStatic.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -169,7 +171,7 @@ class LoadStatic(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/LoadUserDefined.py b/pycgmes/resources/LoadUserDefined.py index 885f4221..bc4d54e0 100644 --- a/pycgmes/resources/LoadUserDefined.py +++ b/pycgmes/resources/LoadUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .LoadDynamics import LoadDynamics @@ -37,7 +39,7 @@ class LoadUserDefined(LoadDynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Location.py b/pycgmes/resources/Location.py index ef0ea54a..6b991299 100644 --- a/pycgmes/resources/Location.py +++ b/pycgmes/resources/Location.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -53,7 +55,7 @@ class Location(IdentifiedObject): # PositionPoints : list = Field(default_factory=list, in_profiles = [Profile.GL, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Measurement.py b/pycgmes/resources/Measurement.py index b18bdb45..b67c97ed 100644 --- a/pycgmes/resources/Measurement.py +++ b/pycgmes/resources/Measurement.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -91,7 +93,7 @@ class Measurement(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/MeasurementValue.py b/pycgmes/resources/MeasurementValue.py index 20443ef0..ddcc8e0c 100644 --- a/pycgmes/resources/MeasurementValue.py +++ b/pycgmes/resources/MeasurementValue.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IOPoint import IOPoint @@ -56,7 +58,7 @@ class MeasurementValue(IOPoint): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/MeasurementValueQuality.py b/pycgmes/resources/MeasurementValueQuality.py index 14919003..09ddccee 100644 --- a/pycgmes/resources/MeasurementValueQuality.py +++ b/pycgmes/resources/MeasurementValueQuality.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Quality61850 import Quality61850 @@ -31,7 +33,7 @@ class MeasurementValueQuality(Quality61850): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/MeasurementValueSource.py b/pycgmes/resources/MeasurementValueSource.py index 66533491..bd9675c3 100644 --- a/pycgmes/resources/MeasurementValueSource.py +++ b/pycgmes/resources/MeasurementValueSource.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -26,7 +28,7 @@ class MeasurementValueSource(IdentifiedObject): # MeasurementValues : list = Field(default_factory=list, in_profiles = [Profile.OP, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/MechLoad1.py b/pycgmes/resources/MechLoad1.py index 341d6502..cca80443 100644 --- a/pycgmes/resources/MechLoad1.py +++ b/pycgmes/resources/MechLoad1.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .MechanicalLoadDynamics import MechanicalLoadDynamics @@ -53,7 +55,7 @@ class MechLoad1(MechanicalLoadDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/MechanicalLoadDynamics.py b/pycgmes/resources/MechanicalLoadDynamics.py index e6a41a1f..7e00c7ac 100644 --- a/pycgmes/resources/MechanicalLoadDynamics.py +++ b/pycgmes/resources/MechanicalLoadDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -43,7 +45,7 @@ class MechanicalLoadDynamics(DynamicsFunctionBlock): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/MechanicalLoadUserDefined.py b/pycgmes/resources/MechanicalLoadUserDefined.py index c2177a23..41df9f88 100644 --- a/pycgmes/resources/MechanicalLoadUserDefined.py +++ b/pycgmes/resources/MechanicalLoadUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .MechanicalLoadDynamics import MechanicalLoadDynamics @@ -37,7 +39,7 @@ class MechanicalLoadUserDefined(MechanicalLoadDynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Money.py b/pycgmes/resources/Money.py index e7ce86c7..5080b42f 100644 --- a/pycgmes/resources/Money.py +++ b/pycgmes/resources/Money.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -46,7 +48,7 @@ class Money(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/MonthDay.py b/pycgmes/resources/MonthDay.py index 50083588..61861321 100644 --- a/pycgmes/resources/MonthDay.py +++ b/pycgmes/resources/MonthDay.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class MonthDay(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/MutualCoupling.py b/pycgmes/resources/MutualCoupling.py index d7e230f3..6056fc0d 100644 --- a/pycgmes/resources/MutualCoupling.py +++ b/pycgmes/resources/MutualCoupling.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -107,7 +109,7 @@ class MutualCoupling(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/NonConformLoad.py b/pycgmes/resources/NonConformLoad.py index 99a529e7..7678977d 100644 --- a/pycgmes/resources/NonConformLoad.py +++ b/pycgmes/resources/NonConformLoad.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EnergyConsumer import EnergyConsumer @@ -31,7 +33,7 @@ class NonConformLoad(EnergyConsumer): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/NonConformLoadGroup.py b/pycgmes/resources/NonConformLoadGroup.py index 325515cc..5e1028c3 100644 --- a/pycgmes/resources/NonConformLoadGroup.py +++ b/pycgmes/resources/NonConformLoadGroup.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .LoadGroup import LoadGroup @@ -30,7 +32,7 @@ class NonConformLoadGroup(LoadGroup): # NonConformLoadSchedules : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/NonConformLoadSchedule.py b/pycgmes/resources/NonConformLoadSchedule.py index a09ea948..6455504b 100644 --- a/pycgmes/resources/NonConformLoadSchedule.py +++ b/pycgmes/resources/NonConformLoadSchedule.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .SeasonDayTypeSchedule import SeasonDayTypeSchedule @@ -31,7 +33,7 @@ class NonConformLoadSchedule(SeasonDayTypeSchedule): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/NonlinearShuntCompensator.py b/pycgmes/resources/NonlinearShuntCompensator.py index f3ee135a..d4250459 100644 --- a/pycgmes/resources/NonlinearShuntCompensator.py +++ b/pycgmes/resources/NonlinearShuntCompensator.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ShuntCompensator import ShuntCompensator @@ -27,7 +29,7 @@ class NonlinearShuntCompensator(ShuntCompensator): # NonlinearShuntCompensatorPoints : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/NonlinearShuntCompensatorPoint.py b/pycgmes/resources/NonlinearShuntCompensatorPoint.py index 00ff897a..8f49fe30 100644 --- a/pycgmes/resources/NonlinearShuntCompensatorPoint.py +++ b/pycgmes/resources/NonlinearShuntCompensatorPoint.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -73,7 +75,7 @@ class NonlinearShuntCompensatorPoint(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/NuclearGeneratingUnit.py b/pycgmes/resources/NuclearGeneratingUnit.py index 6a000735..d53d5306 100644 --- a/pycgmes/resources/NuclearGeneratingUnit.py +++ b/pycgmes/resources/NuclearGeneratingUnit.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .GeneratingUnit import GeneratingUnit @@ -22,7 +24,7 @@ class NuclearGeneratingUnit(GeneratingUnit): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/OperationalLimit.py b/pycgmes/resources/OperationalLimit.py index c4a8ffb1..020085eb 100644 --- a/pycgmes/resources/OperationalLimit.py +++ b/pycgmes/resources/OperationalLimit.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -44,7 +46,7 @@ class OperationalLimit(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/OperationalLimitDirectionKind.py b/pycgmes/resources/OperationalLimitDirectionKind.py index fa64d71e..4a775189 100644 --- a/pycgmes/resources/OperationalLimitDirectionKind.py +++ b/pycgmes/resources/OperationalLimitDirectionKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class OperationalLimitDirectionKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/OperationalLimitSet.py b/pycgmes/resources/OperationalLimitSet.py index 40bb8f4b..0664baa1 100644 --- a/pycgmes/resources/OperationalLimitSet.py +++ b/pycgmes/resources/OperationalLimitSet.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -46,7 +48,7 @@ class OperationalLimitSet(IdentifiedObject): # OperationalLimitValue : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/OperationalLimitType.py b/pycgmes/resources/OperationalLimitType.py index a03424fd..88e4ebf5 100644 --- a/pycgmes/resources/OperationalLimitType.py +++ b/pycgmes/resources/OperationalLimitType.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -65,7 +67,7 @@ class OperationalLimitType(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/OrientationKind.py b/pycgmes/resources/OrientationKind.py index b2133f24..b1f80637 100644 --- a/pycgmes/resources/OrientationKind.py +++ b/pycgmes/resources/OrientationKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class OrientationKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/OverexcLim2.py b/pycgmes/resources/OverexcLim2.py index 485f4ff5..675685e3 100644 --- a/pycgmes/resources/OverexcLim2.py +++ b/pycgmes/resources/OverexcLim2.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .OverexcitationLimiterDynamics import OverexcitationLimiterDynamics @@ -55,7 +57,7 @@ class OverexcLim2(OverexcitationLimiterDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/OverexcLimIEEE.py b/pycgmes/resources/OverexcLimIEEE.py index 8447b4ee..9bb6f624 100644 --- a/pycgmes/resources/OverexcLimIEEE.py +++ b/pycgmes/resources/OverexcLimIEEE.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .OverexcitationLimiterDynamics import OverexcitationLimiterDynamics @@ -73,7 +75,7 @@ class OverexcLimIEEE(OverexcitationLimiterDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/OverexcLimX1.py b/pycgmes/resources/OverexcLimX1.py index f7ba041e..85a6c9f2 100644 --- a/pycgmes/resources/OverexcLimX1.py +++ b/pycgmes/resources/OverexcLimX1.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .OverexcitationLimiterDynamics import OverexcitationLimiterDynamics @@ -104,7 +106,7 @@ class OverexcLimX1(OverexcitationLimiterDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/OverexcLimX2.py b/pycgmes/resources/OverexcLimX2.py index 498056cc..a79889a0 100644 --- a/pycgmes/resources/OverexcLimX2.py +++ b/pycgmes/resources/OverexcLimX2.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .OverexcitationLimiterDynamics import OverexcitationLimiterDynamics @@ -113,7 +115,7 @@ class OverexcLimX2(OverexcitationLimiterDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/OverexcitationLimiterDynamics.py b/pycgmes/resources/OverexcitationLimiterDynamics.py index 5bc0a3a0..bd810b39 100644 --- a/pycgmes/resources/OverexcitationLimiterDynamics.py +++ b/pycgmes/resources/OverexcitationLimiterDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -31,7 +33,7 @@ class OverexcitationLimiterDynamics(DynamicsFunctionBlock): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/OverexcitationLimiterUserDefined.py b/pycgmes/resources/OverexcitationLimiterUserDefined.py index c937e946..14b1d017 100644 --- a/pycgmes/resources/OverexcitationLimiterUserDefined.py +++ b/pycgmes/resources/OverexcitationLimiterUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .OverexcitationLimiterDynamics import OverexcitationLimiterDynamics @@ -37,7 +39,7 @@ class OverexcitationLimiterUserDefined(OverexcitationLimiterDynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PFVArControllerType1Dynamics.py b/pycgmes/resources/PFVArControllerType1Dynamics.py index 448f1bfc..54a5fd1b 100644 --- a/pycgmes/resources/PFVArControllerType1Dynamics.py +++ b/pycgmes/resources/PFVArControllerType1Dynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -42,7 +44,7 @@ class PFVArControllerType1Dynamics(DynamicsFunctionBlock): # VoltageAdjusterDynamics : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PFVArControllerType1UserDefined.py b/pycgmes/resources/PFVArControllerType1UserDefined.py index ed1978e7..bce0fdfb 100644 --- a/pycgmes/resources/PFVArControllerType1UserDefined.py +++ b/pycgmes/resources/PFVArControllerType1UserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PFVArControllerType1Dynamics import PFVArControllerType1Dynamics @@ -37,7 +39,7 @@ class PFVArControllerType1UserDefined(PFVArControllerType1Dynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PFVArControllerType2Dynamics.py b/pycgmes/resources/PFVArControllerType2Dynamics.py index c20e88a0..54a39f1e 100644 --- a/pycgmes/resources/PFVArControllerType2Dynamics.py +++ b/pycgmes/resources/PFVArControllerType2Dynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -32,7 +34,7 @@ class PFVArControllerType2Dynamics(DynamicsFunctionBlock): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PFVArControllerType2UserDefined.py b/pycgmes/resources/PFVArControllerType2UserDefined.py index 9ea1f35f..df59dcf7 100644 --- a/pycgmes/resources/PFVArControllerType2UserDefined.py +++ b/pycgmes/resources/PFVArControllerType2UserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PFVArControllerType2Dynamics import PFVArControllerType2Dynamics @@ -37,7 +39,7 @@ class PFVArControllerType2UserDefined(PFVArControllerType2Dynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PFVArType1IEEEPFController.py b/pycgmes/resources/PFVArType1IEEEPFController.py index 0bd53cee..227a4149 100644 --- a/pycgmes/resources/PFVArType1IEEEPFController.py +++ b/pycgmes/resources/PFVArType1IEEEPFController.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PFVArControllerType1Dynamics import PFVArControllerType1Dynamics @@ -87,7 +89,7 @@ class PFVArType1IEEEPFController(PFVArControllerType1Dynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PFVArType1IEEEVArController.py b/pycgmes/resources/PFVArType1IEEEVArController.py index 2f917908..2942aa3f 100644 --- a/pycgmes/resources/PFVArType1IEEEVArController.py +++ b/pycgmes/resources/PFVArType1IEEEVArController.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PFVArControllerType1Dynamics import PFVArControllerType1Dynamics @@ -72,7 +74,7 @@ class PFVArType1IEEEVArController(PFVArControllerType1Dynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PFVArType2Common1.py b/pycgmes/resources/PFVArType2Common1.py index 94def9f5..9cc1f03f 100644 --- a/pycgmes/resources/PFVArType2Common1.py +++ b/pycgmes/resources/PFVArType2Common1.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PFVArControllerType2Dynamics import PFVArControllerType2Dynamics @@ -67,7 +69,7 @@ class PFVArType2Common1(PFVArControllerType2Dynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PFVArType2IEEEPFController.py b/pycgmes/resources/PFVArType2IEEEPFController.py index 1ceb899c..998a585e 100644 --- a/pycgmes/resources/PFVArType2IEEEPFController.py +++ b/pycgmes/resources/PFVArType2IEEEPFController.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PFVArControllerType2Dynamics import PFVArControllerType2Dynamics @@ -81,7 +83,7 @@ class PFVArType2IEEEPFController(PFVArControllerType2Dynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PFVArType2IEEEVArController.py b/pycgmes/resources/PFVArType2IEEEVArController.py index d0f0416d..0d628d28 100644 --- a/pycgmes/resources/PFVArType2IEEEVArController.py +++ b/pycgmes/resources/PFVArType2IEEEVArController.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PFVArControllerType2Dynamics import PFVArControllerType2Dynamics @@ -81,7 +83,7 @@ class PFVArType2IEEEVArController(PFVArControllerType2Dynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PU.py b/pycgmes/resources/PU.py index 3fbc74bf..03c73a76 100644 --- a/pycgmes/resources/PU.py +++ b/pycgmes/resources/PU.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -52,7 +54,7 @@ class PU(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PerCent.py b/pycgmes/resources/PerCent.py index ecbf9b8c..ba12925c 100644 --- a/pycgmes/resources/PerCent.py +++ b/pycgmes/resources/PerCent.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -55,7 +57,7 @@ class PerCent(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PetersenCoil.py b/pycgmes/resources/PetersenCoil.py index 4a964299..3ee3cb20 100644 --- a/pycgmes/resources/PetersenCoil.py +++ b/pycgmes/resources/PetersenCoil.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EarthFaultCompensator import EarthFaultCompensator @@ -84,7 +86,7 @@ class PetersenCoil(EarthFaultCompensator): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PetersenCoilModeKind.py b/pycgmes/resources/PetersenCoilModeKind.py index d5aa24df..4ef23c91 100644 --- a/pycgmes/resources/PetersenCoilModeKind.py +++ b/pycgmes/resources/PetersenCoilModeKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class PetersenCoilModeKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PhaseCode.py b/pycgmes/resources/PhaseCode.py index cda367cc..518fedb4 100644 --- a/pycgmes/resources/PhaseCode.py +++ b/pycgmes/resources/PhaseCode.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -29,7 +31,7 @@ class PhaseCode(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PhaseTapChanger.py b/pycgmes/resources/PhaseTapChanger.py index 046122af..d0315f17 100644 --- a/pycgmes/resources/PhaseTapChanger.py +++ b/pycgmes/resources/PhaseTapChanger.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TapChanger import TapChanger @@ -32,7 +34,7 @@ class PhaseTapChanger(TapChanger): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PhaseTapChangerAsymmetrical.py b/pycgmes/resources/PhaseTapChangerAsymmetrical.py index 1988ca59..2ca06cbc 100644 --- a/pycgmes/resources/PhaseTapChangerAsymmetrical.py +++ b/pycgmes/resources/PhaseTapChangerAsymmetrical.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PhaseTapChangerNonLinear import PhaseTapChangerNonLinear @@ -36,7 +38,7 @@ class PhaseTapChangerAsymmetrical(PhaseTapChangerNonLinear): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PhaseTapChangerLinear.py b/pycgmes/resources/PhaseTapChangerLinear.py index 5c04c49b..f49431ac 100644 --- a/pycgmes/resources/PhaseTapChangerLinear.py +++ b/pycgmes/resources/PhaseTapChangerLinear.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PhaseTapChanger import PhaseTapChanger @@ -57,7 +59,7 @@ class PhaseTapChangerLinear(PhaseTapChanger): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PhaseTapChangerNonLinear.py b/pycgmes/resources/PhaseTapChangerNonLinear.py index bede9e05..cab13434 100644 --- a/pycgmes/resources/PhaseTapChangerNonLinear.py +++ b/pycgmes/resources/PhaseTapChangerNonLinear.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PhaseTapChanger import PhaseTapChanger @@ -55,7 +57,7 @@ class PhaseTapChangerNonLinear(PhaseTapChanger): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PhaseTapChangerSymmetrical.py b/pycgmes/resources/PhaseTapChangerSymmetrical.py index c5d80a7e..133a428c 100644 --- a/pycgmes/resources/PhaseTapChangerSymmetrical.py +++ b/pycgmes/resources/PhaseTapChangerSymmetrical.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PhaseTapChangerNonLinear import PhaseTapChangerNonLinear @@ -25,7 +27,7 @@ class PhaseTapChangerSymmetrical(PhaseTapChangerNonLinear): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PhaseTapChangerTable.py b/pycgmes/resources/PhaseTapChangerTable.py index ffa77668..655134d9 100644 --- a/pycgmes/resources/PhaseTapChangerTable.py +++ b/pycgmes/resources/PhaseTapChangerTable.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -30,7 +32,7 @@ class PhaseTapChangerTable(IdentifiedObject): # PhaseTapChangerTabular : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PhaseTapChangerTablePoint.py b/pycgmes/resources/PhaseTapChangerTablePoint.py index 16b54dc5..9fd67d8b 100644 --- a/pycgmes/resources/PhaseTapChangerTablePoint.py +++ b/pycgmes/resources/PhaseTapChangerTablePoint.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TapChangerTablePoint import TapChangerTablePoint @@ -39,7 +41,7 @@ class PhaseTapChangerTablePoint(TapChangerTablePoint): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PhaseTapChangerTabular.py b/pycgmes/resources/PhaseTapChangerTabular.py index 3b8d10e3..716a8463 100644 --- a/pycgmes/resources/PhaseTapChangerTabular.py +++ b/pycgmes/resources/PhaseTapChangerTabular.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PhaseTapChanger import PhaseTapChanger @@ -31,7 +33,7 @@ class PhaseTapChangerTabular(PhaseTapChanger): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PhotoVoltaicUnit.py b/pycgmes/resources/PhotoVoltaicUnit.py index c2eb3477..93791880 100644 --- a/pycgmes/resources/PhotoVoltaicUnit.py +++ b/pycgmes/resources/PhotoVoltaicUnit.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerElectronicsUnit import PowerElectronicsUnit @@ -22,7 +24,7 @@ class PhotoVoltaicUnit(PowerElectronicsUnit): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PositionPoint.py b/pycgmes/resources/PositionPoint.py index 3c420a01..3bb4f8ed 100644 --- a/pycgmes/resources/PositionPoint.py +++ b/pycgmes/resources/PositionPoint.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -66,7 +68,7 @@ class PositionPoint(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PostLineSensor.py b/pycgmes/resources/PostLineSensor.py index aa03ece5..15da67a0 100644 --- a/pycgmes/resources/PostLineSensor.py +++ b/pycgmes/resources/PostLineSensor.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Sensor import Sensor @@ -22,7 +24,7 @@ class PostLineSensor(Sensor): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PotentialTransformer.py b/pycgmes/resources/PotentialTransformer.py index 7ab69dad..a90ae171 100644 --- a/pycgmes/resources/PotentialTransformer.py +++ b/pycgmes/resources/PotentialTransformer.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Sensor import Sensor @@ -24,7 +26,7 @@ class PotentialTransformer(Sensor): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PowerElectronicsConnection.py b/pycgmes/resources/PowerElectronicsConnection.py index ce376e9c..ffd475c9 100644 --- a/pycgmes/resources/PowerElectronicsConnection.py +++ b/pycgmes/resources/PowerElectronicsConnection.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .RegulatingCondEq import RegulatingCondEq @@ -88,7 +90,7 @@ class PowerElectronicsConnection(RegulatingCondEq): # WindTurbineType3or4Dynamics : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PowerElectronicsUnit.py b/pycgmes/resources/PowerElectronicsUnit.py index 8ab58bfa..1bbef12f 100644 --- a/pycgmes/resources/PowerElectronicsUnit.py +++ b/pycgmes/resources/PowerElectronicsUnit.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Equipment import Equipment @@ -43,7 +45,7 @@ class PowerElectronicsUnit(Equipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PowerElectronicsWindUnit.py b/pycgmes/resources/PowerElectronicsWindUnit.py index 9c254fa6..3b590f2c 100644 --- a/pycgmes/resources/PowerElectronicsWindUnit.py +++ b/pycgmes/resources/PowerElectronicsWindUnit.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerElectronicsUnit import PowerElectronicsUnit @@ -23,7 +25,7 @@ class PowerElectronicsWindUnit(PowerElectronicsUnit): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PowerSystemResource.py b/pycgmes/resources/PowerSystemResource.py index 330855ed..747c5e7f 100644 --- a/pycgmes/resources/PowerSystemResource.py +++ b/pycgmes/resources/PowerSystemResource.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -38,7 +40,7 @@ class PowerSystemResource(IdentifiedObject): # Measurements : list = Field(default_factory=list, in_profiles = [Profile.OP, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PowerSystemStabilizerDynamics.py b/pycgmes/resources/PowerSystemStabilizerDynamics.py index cd876fcc..2e1601fb 100644 --- a/pycgmes/resources/PowerSystemStabilizerDynamics.py +++ b/pycgmes/resources/PowerSystemStabilizerDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -36,7 +38,7 @@ class PowerSystemStabilizerDynamics(DynamicsFunctionBlock): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PowerSystemStabilizerUserDefined.py b/pycgmes/resources/PowerSystemStabilizerUserDefined.py index f6abd2c7..d938c8b8 100644 --- a/pycgmes/resources/PowerSystemStabilizerUserDefined.py +++ b/pycgmes/resources/PowerSystemStabilizerUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -37,7 +39,7 @@ class PowerSystemStabilizerUserDefined(PowerSystemStabilizerDynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PowerTransformer.py b/pycgmes/resources/PowerTransformer.py index a45bb04a..65c60fe3 100644 --- a/pycgmes/resources/PowerTransformer.py +++ b/pycgmes/resources/PowerTransformer.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ConductingEquipment import ConductingEquipment @@ -97,7 +99,7 @@ class PowerTransformer(ConductingEquipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PowerTransformerEnd.py b/pycgmes/resources/PowerTransformerEnd.py index d19bfa9c..f0068538 100644 --- a/pycgmes/resources/PowerTransformerEnd.py +++ b/pycgmes/resources/PowerTransformerEnd.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TransformerEnd import TransformerEnd @@ -150,7 +152,7 @@ class PowerTransformerEnd(TransformerEnd): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ProprietaryParameterDynamics.py b/pycgmes/resources/ProprietaryParameterDynamics.py index 89e4e92b..c22eed90 100644 --- a/pycgmes/resources/ProprietaryParameterDynamics.py +++ b/pycgmes/resources/ProprietaryParameterDynamics.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -228,7 +230,7 @@ class ProprietaryParameterDynamics(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ProtectedSwitch.py b/pycgmes/resources/ProtectedSwitch.py index fa999dda..8758c119 100644 --- a/pycgmes/resources/ProtectedSwitch.py +++ b/pycgmes/resources/ProtectedSwitch.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Switch import Switch @@ -22,7 +24,7 @@ class ProtectedSwitch(Switch): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Pss1.py b/pycgmes/resources/Pss1.py index 84b31a1f..ba695f4c 100644 --- a/pycgmes/resources/Pss1.py +++ b/pycgmes/resources/Pss1.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -142,7 +144,7 @@ class Pss1(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Pss1A.py b/pycgmes/resources/Pss1A.py index a5bab270..de365a00 100644 --- a/pycgmes/resources/Pss1A.py +++ b/pycgmes/resources/Pss1A.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -200,7 +202,7 @@ class Pss1A(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Pss2B.py b/pycgmes/resources/Pss2B.py index 9cbb1299..d3891c16 100644 --- a/pycgmes/resources/Pss2B.py +++ b/pycgmes/resources/Pss2B.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -253,7 +255,7 @@ class Pss2B(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Pss2ST.py b/pycgmes/resources/Pss2ST.py index 9d3241ce..5513c098 100644 --- a/pycgmes/resources/Pss2ST.py +++ b/pycgmes/resources/Pss2ST.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -171,7 +173,7 @@ class Pss2ST(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Pss5.py b/pycgmes/resources/Pss5.py index a84e4375..d74223ef 100644 --- a/pycgmes/resources/Pss5.py +++ b/pycgmes/resources/Pss5.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -161,7 +163,7 @@ class Pss5(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PssELIN2.py b/pycgmes/resources/PssELIN2.py index 89a7f263..db37a1e0 100644 --- a/pycgmes/resources/PssELIN2.py +++ b/pycgmes/resources/PssELIN2.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -109,7 +111,7 @@ class PssELIN2(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PssIEEE1A.py b/pycgmes/resources/PssIEEE1A.py index 9b7e8e9a..4bbe5e8b 100644 --- a/pycgmes/resources/PssIEEE1A.py +++ b/pycgmes/resources/PssIEEE1A.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -120,7 +122,7 @@ class PssIEEE1A(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PssIEEE2B.py b/pycgmes/resources/PssIEEE2B.py index 510f71f7..86c9030c 100644 --- a/pycgmes/resources/PssIEEE2B.py +++ b/pycgmes/resources/PssIEEE2B.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -241,7 +243,7 @@ class PssIEEE2B(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PssIEEE3B.py b/pycgmes/resources/PssIEEE3B.py index b9c388fd..53dc041f 100644 --- a/pycgmes/resources/PssIEEE3B.py +++ b/pycgmes/resources/PssIEEE3B.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -161,7 +163,7 @@ class PssIEEE3B(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PssIEEE4B.py b/pycgmes/resources/PssIEEE4B.py index a2138069..ce5754b7 100644 --- a/pycgmes/resources/PssIEEE4B.py +++ b/pycgmes/resources/PssIEEE4B.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -563,7 +565,7 @@ class PssIEEE4B(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PssPTIST1.py b/pycgmes/resources/PssPTIST1.py index 6e71f00b..64d372a3 100644 --- a/pycgmes/resources/PssPTIST1.py +++ b/pycgmes/resources/PssPTIST1.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -109,7 +111,7 @@ class PssPTIST1(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PssPTIST3.py b/pycgmes/resources/PssPTIST3.py index 57a7946c..c31f1016 100644 --- a/pycgmes/resources/PssPTIST3.py +++ b/pycgmes/resources/PssPTIST3.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -294,7 +296,7 @@ class PssPTIST3(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PssRQB.py b/pycgmes/resources/PssRQB.py index b297e187..60621d58 100644 --- a/pycgmes/resources/PssRQB.py +++ b/pycgmes/resources/PssRQB.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -102,7 +104,7 @@ class PssRQB(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PssSB4.py b/pycgmes/resources/PssSB4.py index 8d145ef7..9a229432 100644 --- a/pycgmes/resources/PssSB4.py +++ b/pycgmes/resources/PssSB4.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -109,7 +111,7 @@ class PssSB4(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PssSH.py b/pycgmes/resources/PssSH.py index 43198317..626a5902 100644 --- a/pycgmes/resources/PssSH.py +++ b/pycgmes/resources/PssSH.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -128,7 +130,7 @@ class PssSH(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PssSK.py b/pycgmes/resources/PssSK.py index a10ab566..fcb5b1d7 100644 --- a/pycgmes/resources/PssSK.py +++ b/pycgmes/resources/PssSK.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -109,7 +111,7 @@ class PssSK(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PssSTAB2A.py b/pycgmes/resources/PssSTAB2A.py index df7bec26..c0d91ed0 100644 --- a/pycgmes/resources/PssSTAB2A.py +++ b/pycgmes/resources/PssSTAB2A.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -87,7 +89,7 @@ class PssSTAB2A(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/PssWECC.py b/pycgmes/resources/PssWECC.py index 6c27886c..218b4541 100644 --- a/pycgmes/resources/PssWECC.py +++ b/pycgmes/resources/PssWECC.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics @@ -172,7 +174,7 @@ class PssWECC(PowerSystemStabilizerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Quality61850.py b/pycgmes/resources/Quality61850.py index f8896f5d..85d50ed4 100644 --- a/pycgmes/resources/Quality61850.py +++ b/pycgmes/resources/Quality61850.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -135,7 +137,7 @@ class Quality61850(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RaiseLowerCommand.py b/pycgmes/resources/RaiseLowerCommand.py index 7f8f1d79..9bef07e2 100644 --- a/pycgmes/resources/RaiseLowerCommand.py +++ b/pycgmes/resources/RaiseLowerCommand.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .AnalogControl import AnalogControl @@ -31,7 +33,7 @@ class RaiseLowerCommand(AnalogControl): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RatioTapChanger.py b/pycgmes/resources/RatioTapChanger.py index 34f9c186..a6aa3e29 100644 --- a/pycgmes/resources/RatioTapChanger.py +++ b/pycgmes/resources/RatioTapChanger.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TapChanger import TapChanger @@ -50,7 +52,7 @@ class RatioTapChanger(TapChanger): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RatioTapChangerTable.py b/pycgmes/resources/RatioTapChangerTable.py index 82be2f1b..e0cabf6f 100644 --- a/pycgmes/resources/RatioTapChangerTable.py +++ b/pycgmes/resources/RatioTapChangerTable.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -30,7 +32,7 @@ class RatioTapChangerTable(IdentifiedObject): # RatioTapChangerTablePoint : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RatioTapChangerTablePoint.py b/pycgmes/resources/RatioTapChangerTablePoint.py index 887ad40a..e6915714 100644 --- a/pycgmes/resources/RatioTapChangerTablePoint.py +++ b/pycgmes/resources/RatioTapChangerTablePoint.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TapChangerTablePoint import TapChangerTablePoint @@ -30,7 +32,7 @@ class RatioTapChangerTablePoint(TapChangerTablePoint): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Reactance.py b/pycgmes/resources/Reactance.py index 139c4ca0..9f32a560 100644 --- a/pycgmes/resources/Reactance.py +++ b/pycgmes/resources/Reactance.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -49,7 +51,7 @@ class Reactance(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ReactiveCapabilityCurve.py b/pycgmes/resources/ReactiveCapabilityCurve.py index cb496ada..c55a374d 100644 --- a/pycgmes/resources/ReactiveCapabilityCurve.py +++ b/pycgmes/resources/ReactiveCapabilityCurve.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Curve import Curve @@ -33,7 +35,7 @@ class ReactiveCapabilityCurve(Curve): # InitiallyUsedBySynchronousMachines : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ReactivePower.py b/pycgmes/resources/ReactivePower.py index f5d2cea2..c7eed3f6 100644 --- a/pycgmes/resources/ReactivePower.py +++ b/pycgmes/resources/ReactivePower.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -52,7 +54,7 @@ class ReactivePower(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RealEnergy.py b/pycgmes/resources/RealEnergy.py index 59cc4bdf..f9978b2f 100644 --- a/pycgmes/resources/RealEnergy.py +++ b/pycgmes/resources/RealEnergy.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -49,7 +51,7 @@ class RealEnergy(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RegularIntervalSchedule.py b/pycgmes/resources/RegularIntervalSchedule.py index 8234345a..acda93c9 100644 --- a/pycgmes/resources/RegularIntervalSchedule.py +++ b/pycgmes/resources/RegularIntervalSchedule.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .BasicIntervalSchedule import BasicIntervalSchedule @@ -42,7 +44,7 @@ class RegularIntervalSchedule(BasicIntervalSchedule): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RegularTimePoint.py b/pycgmes/resources/RegularTimePoint.py index 3ac98371..4b750bf9 100644 --- a/pycgmes/resources/RegularTimePoint.py +++ b/pycgmes/resources/RegularTimePoint.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -60,7 +62,7 @@ class RegularTimePoint(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RegulatingCondEq.py b/pycgmes/resources/RegulatingCondEq.py index 848a6130..b7e0e1d9 100644 --- a/pycgmes/resources/RegulatingCondEq.py +++ b/pycgmes/resources/RegulatingCondEq.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EnergyConnection import EnergyConnection @@ -39,7 +41,7 @@ class RegulatingCondEq(EnergyConnection): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RegulatingControl.py b/pycgmes/resources/RegulatingControl.py index d4111216..2b95e173 100644 --- a/pycgmes/resources/RegulatingControl.py +++ b/pycgmes/resources/RegulatingControl.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemResource import PowerSystemResource @@ -130,7 +132,7 @@ class RegulatingControl(PowerSystemResource): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RegulatingControlModeKind.py b/pycgmes/resources/RegulatingControlModeKind.py index aed98d05..ca153869 100644 --- a/pycgmes/resources/RegulatingControlModeKind.py +++ b/pycgmes/resources/RegulatingControlModeKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class RegulatingControlModeKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RegulationSchedule.py b/pycgmes/resources/RegulationSchedule.py index 1c3a9f92..d466a239 100644 --- a/pycgmes/resources/RegulationSchedule.py +++ b/pycgmes/resources/RegulationSchedule.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .SeasonDayTypeSchedule import SeasonDayTypeSchedule @@ -30,7 +32,7 @@ class RegulationSchedule(SeasonDayTypeSchedule): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RemoteInputSignal.py b/pycgmes/resources/RemoteInputSignal.py index 2353c591..312bbec5 100644 --- a/pycgmes/resources/RemoteInputSignal.py +++ b/pycgmes/resources/RemoteInputSignal.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -94,7 +96,7 @@ class RemoteInputSignal(IdentifiedObject): # WindTurbineType3or4Dynamics : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RemoteSignalKind.py b/pycgmes/resources/RemoteSignalKind.py index a718de31..31058351 100644 --- a/pycgmes/resources/RemoteSignalKind.py +++ b/pycgmes/resources/RemoteSignalKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class RemoteSignalKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ReportingGroup.py b/pycgmes/resources/ReportingGroup.py index 3ef881d7..6cd89250 100644 --- a/pycgmes/resources/ReportingGroup.py +++ b/pycgmes/resources/ReportingGroup.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -30,7 +32,7 @@ class ReportingGroup(IdentifiedObject): # BusNameMarker : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Resistance.py b/pycgmes/resources/Resistance.py index e68d69db..752f8c6b 100644 --- a/pycgmes/resources/Resistance.py +++ b/pycgmes/resources/Resistance.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -52,7 +54,7 @@ class Resistance(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RotatingMachine.py b/pycgmes/resources/RotatingMachine.py index f9ae78fb..5a7116c7 100644 --- a/pycgmes/resources/RotatingMachine.py +++ b/pycgmes/resources/RotatingMachine.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .RegulatingCondEq import RegulatingCondEq @@ -81,7 +83,7 @@ class RotatingMachine(RegulatingCondEq): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RotatingMachineDynamics.py b/pycgmes/resources/RotatingMachineDynamics.py index c24f6b72..5a2961e1 100644 --- a/pycgmes/resources/RotatingMachineDynamics.py +++ b/pycgmes/resources/RotatingMachineDynamics.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -81,7 +83,7 @@ class RotatingMachineDynamics(DynamicsFunctionBlock): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RotationSpeed.py b/pycgmes/resources/RotationSpeed.py index dbb351dd..39082363 100644 --- a/pycgmes/resources/RotationSpeed.py +++ b/pycgmes/resources/RotationSpeed.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -46,7 +48,7 @@ class RotationSpeed(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/RotorKind.py b/pycgmes/resources/RotorKind.py index bcbe5300..f055c719 100644 --- a/pycgmes/resources/RotorKind.py +++ b/pycgmes/resources/RotorKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class RotorKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SVCControlMode.py b/pycgmes/resources/SVCControlMode.py index 46a17af4..20d8ef06 100644 --- a/pycgmes/resources/SVCControlMode.py +++ b/pycgmes/resources/SVCControlMode.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class SVCControlMode(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SVCUserDefined.py b/pycgmes/resources/SVCUserDefined.py index 98178a1a..21e25b83 100644 --- a/pycgmes/resources/SVCUserDefined.py +++ b/pycgmes/resources/SVCUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .StaticVarCompensatorDynamics import StaticVarCompensatorDynamics @@ -37,7 +39,7 @@ class SVCUserDefined(StaticVarCompensatorDynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Season.py b/pycgmes/resources/Season.py index 15b10db4..a57b5f82 100644 --- a/pycgmes/resources/Season.py +++ b/pycgmes/resources/Season.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -42,7 +44,7 @@ class Season(IdentifiedObject): # SeasonDayTypeSchedules : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SeasonDayTypeSchedule.py b/pycgmes/resources/SeasonDayTypeSchedule.py index 4eae4763..580518c2 100644 --- a/pycgmes/resources/SeasonDayTypeSchedule.py +++ b/pycgmes/resources/SeasonDayTypeSchedule.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .RegularIntervalSchedule import RegularIntervalSchedule @@ -38,7 +40,7 @@ class SeasonDayTypeSchedule(RegularIntervalSchedule): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Seconds.py b/pycgmes/resources/Seconds.py index e2be4fd7..8f3e432a 100644 --- a/pycgmes/resources/Seconds.py +++ b/pycgmes/resources/Seconds.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -49,7 +51,7 @@ class Seconds(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Sensor.py b/pycgmes/resources/Sensor.py index d3a627dd..195bcf5b 100644 --- a/pycgmes/resources/Sensor.py +++ b/pycgmes/resources/Sensor.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .AuxiliaryEquipment import AuxiliaryEquipment @@ -23,7 +25,7 @@ class Sensor(AuxiliaryEquipment): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SeriesCompensator.py b/pycgmes/resources/SeriesCompensator.py index d43bdc2c..73fd6c70 100644 --- a/pycgmes/resources/SeriesCompensator.py +++ b/pycgmes/resources/SeriesCompensator.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ConductingEquipment import ConductingEquipment @@ -82,7 +84,7 @@ class SeriesCompensator(ConductingEquipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ServiceLocation.py b/pycgmes/resources/ServiceLocation.py index f7a8fbe8..ae72bbec 100644 --- a/pycgmes/resources/ServiceLocation.py +++ b/pycgmes/resources/ServiceLocation.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .WorkLocation import WorkLocation @@ -22,7 +24,7 @@ class ServiceLocation(WorkLocation): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SetPoint.py b/pycgmes/resources/SetPoint.py index 7b8387f5..43aaa9a0 100644 --- a/pycgmes/resources/SetPoint.py +++ b/pycgmes/resources/SetPoint.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .AnalogControl import AnalogControl @@ -37,7 +39,7 @@ class SetPoint(AnalogControl): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ShortCircuitRotorKind.py b/pycgmes/resources/ShortCircuitRotorKind.py index 6d9edffb..7c05372b 100644 --- a/pycgmes/resources/ShortCircuitRotorKind.py +++ b/pycgmes/resources/ShortCircuitRotorKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class ShortCircuitRotorKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ShuntCompensator.py b/pycgmes/resources/ShuntCompensator.py index 49e1513e..42fac566 100644 --- a/pycgmes/resources/ShuntCompensator.py +++ b/pycgmes/resources/ShuntCompensator.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .RegulatingCondEq import RegulatingCondEq @@ -97,7 +99,7 @@ class ShuntCompensator(RegulatingCondEq): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SolarGeneratingUnit.py b/pycgmes/resources/SolarGeneratingUnit.py index f0561142..6477b44d 100644 --- a/pycgmes/resources/SolarGeneratingUnit.py +++ b/pycgmes/resources/SolarGeneratingUnit.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .GeneratingUnit import GeneratingUnit @@ -31,7 +33,7 @@ class SolarGeneratingUnit(GeneratingUnit): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SolarPowerPlant.py b/pycgmes/resources/SolarPowerPlant.py index 7e140823..424c89a2 100644 --- a/pycgmes/resources/SolarPowerPlant.py +++ b/pycgmes/resources/SolarPowerPlant.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemResource import PowerSystemResource @@ -25,7 +27,7 @@ class SolarPowerPlant(PowerSystemResource): # SolarGeneratingUnits : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Source.py b/pycgmes/resources/Source.py index b75a9632..162395f5 100644 --- a/pycgmes/resources/Source.py +++ b/pycgmes/resources/Source.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class Source(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/StaticLoadModelKind.py b/pycgmes/resources/StaticLoadModelKind.py index aa55e9ba..263523b0 100644 --- a/pycgmes/resources/StaticLoadModelKind.py +++ b/pycgmes/resources/StaticLoadModelKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class StaticLoadModelKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/StaticVarCompensator.py b/pycgmes/resources/StaticVarCompensator.py index 5586a078..03cadd2e 100644 --- a/pycgmes/resources/StaticVarCompensator.py +++ b/pycgmes/resources/StaticVarCompensator.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .RegulatingCondEq import RegulatingCondEq @@ -86,7 +88,7 @@ class StaticVarCompensator(RegulatingCondEq): # StaticVarCompensatorDynamics : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/StaticVarCompensatorDynamics.py b/pycgmes/resources/StaticVarCompensatorDynamics.py index 79521696..9e1f4c0d 100644 --- a/pycgmes/resources/StaticVarCompensatorDynamics.py +++ b/pycgmes/resources/StaticVarCompensatorDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -31,7 +33,7 @@ class StaticVarCompensatorDynamics(DynamicsFunctionBlock): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/StationSupply.py b/pycgmes/resources/StationSupply.py index f72973f0..bfda6d1d 100644 --- a/pycgmes/resources/StationSupply.py +++ b/pycgmes/resources/StationSupply.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EnergyConsumer import EnergyConsumer @@ -22,7 +24,7 @@ class StationSupply(EnergyConsumer): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Status.py b/pycgmes/resources/Status.py index abfe5f01..a9eaaca3 100644 --- a/pycgmes/resources/Status.py +++ b/pycgmes/resources/Status.py @@ -9,8 +9,10 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -54,7 +56,7 @@ class Status(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/StreetAddress.py b/pycgmes/resources/StreetAddress.py index 7d26dbe5..acb7b0bf 100644 --- a/pycgmes/resources/StreetAddress.py +++ b/pycgmes/resources/StreetAddress.py @@ -9,8 +9,10 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -69,7 +71,7 @@ class StreetAddress(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/StreetDetail.py b/pycgmes/resources/StreetDetail.py index c138c94e..f62fe40f 100644 --- a/pycgmes/resources/StreetDetail.py +++ b/pycgmes/resources/StreetDetail.py @@ -9,8 +9,10 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -129,7 +131,7 @@ class StreetDetail(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/StringMeasurement.py b/pycgmes/resources/StringMeasurement.py index ba5203c8..59fc8b5e 100644 --- a/pycgmes/resources/StringMeasurement.py +++ b/pycgmes/resources/StringMeasurement.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Measurement import Measurement @@ -25,7 +27,7 @@ class StringMeasurement(Measurement): # StringMeasurementValues : list = Field(default_factory=list, in_profiles = [Profile.OP, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/StringMeasurementValue.py b/pycgmes/resources/StringMeasurementValue.py index 2e49eea5..d5143d40 100644 --- a/pycgmes/resources/StringMeasurementValue.py +++ b/pycgmes/resources/StringMeasurementValue.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .MeasurementValue import MeasurementValue @@ -30,7 +32,7 @@ class StringMeasurementValue(MeasurementValue): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SubGeographicalRegion.py b/pycgmes/resources/SubGeographicalRegion.py index 2ab5a6da..b20db7e2 100644 --- a/pycgmes/resources/SubGeographicalRegion.py +++ b/pycgmes/resources/SubGeographicalRegion.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -46,7 +48,7 @@ class SubGeographicalRegion(IdentifiedObject): # DCLines : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SubLoadArea.py b/pycgmes/resources/SubLoadArea.py index cc2871e3..c973df96 100644 --- a/pycgmes/resources/SubLoadArea.py +++ b/pycgmes/resources/SubLoadArea.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EnergyArea import EnergyArea @@ -36,7 +38,7 @@ class SubLoadArea(EnergyArea): # LoadGroups : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Substation.py b/pycgmes/resources/Substation.py index 510217fe..4f5f7b54 100644 --- a/pycgmes/resources/Substation.py +++ b/pycgmes/resources/Substation.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EquipmentContainer import EquipmentContainer @@ -42,7 +44,7 @@ class Substation(EquipmentContainer): # DCConverterUnit : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SurgeArrester.py b/pycgmes/resources/SurgeArrester.py index 9a5b4822..dc9fa758 100644 --- a/pycgmes/resources/SurgeArrester.py +++ b/pycgmes/resources/SurgeArrester.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .AuxiliaryEquipment import AuxiliaryEquipment @@ -23,7 +25,7 @@ class SurgeArrester(AuxiliaryEquipment): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Susceptance.py b/pycgmes/resources/Susceptance.py index ad2613a0..86b8f515 100644 --- a/pycgmes/resources/Susceptance.py +++ b/pycgmes/resources/Susceptance.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -49,7 +51,7 @@ class Susceptance(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SvInjection.py b/pycgmes/resources/SvInjection.py index 97bd2411..4eaacf22 100644 --- a/pycgmes/resources/SvInjection.py +++ b/pycgmes/resources/SvInjection.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -50,7 +52,7 @@ class SvInjection(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SvPowerFlow.py b/pycgmes/resources/SvPowerFlow.py index b12e4ada..50e66a46 100644 --- a/pycgmes/resources/SvPowerFlow.py +++ b/pycgmes/resources/SvPowerFlow.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -49,7 +51,7 @@ class SvPowerFlow(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SvShuntCompensatorSections.py b/pycgmes/resources/SvShuntCompensatorSections.py index 7547c199..028b40bd 100644 --- a/pycgmes/resources/SvShuntCompensatorSections.py +++ b/pycgmes/resources/SvShuntCompensatorSections.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -39,7 +41,7 @@ class SvShuntCompensatorSections(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SvStatus.py b/pycgmes/resources/SvStatus.py index 4aafa249..3842a33f 100644 --- a/pycgmes/resources/SvStatus.py +++ b/pycgmes/resources/SvStatus.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -40,7 +42,7 @@ class SvStatus(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SvSwitch.py b/pycgmes/resources/SvSwitch.py index b7eff546..ea950dcd 100644 --- a/pycgmes/resources/SvSwitch.py +++ b/pycgmes/resources/SvSwitch.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -38,7 +40,7 @@ class SvSwitch(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SvTapStep.py b/pycgmes/resources/SvTapStep.py index 433c5eab..55f6748c 100644 --- a/pycgmes/resources/SvTapStep.py +++ b/pycgmes/resources/SvTapStep.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -40,7 +42,7 @@ class SvTapStep(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SvVoltage.py b/pycgmes/resources/SvVoltage.py index 3fd43d0e..2b13e1ff 100644 --- a/pycgmes/resources/SvVoltage.py +++ b/pycgmes/resources/SvVoltage.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -46,7 +48,7 @@ class SvVoltage(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Switch.py b/pycgmes/resources/Switch.py index 1fe2d8f4..1e7da3b1 100644 --- a/pycgmes/resources/Switch.py +++ b/pycgmes/resources/Switch.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ConductingEquipment import ConductingEquipment @@ -79,7 +81,7 @@ class Switch(ConductingEquipment): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SwitchSchedule.py b/pycgmes/resources/SwitchSchedule.py index b935bab4..482d4650 100644 --- a/pycgmes/resources/SwitchSchedule.py +++ b/pycgmes/resources/SwitchSchedule.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .SeasonDayTypeSchedule import SeasonDayTypeSchedule @@ -30,7 +32,7 @@ class SwitchSchedule(SeasonDayTypeSchedule): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SynchronousMachine.py b/pycgmes/resources/SynchronousMachine.py index 60b36a00..51ea37da 100644 --- a/pycgmes/resources/SynchronousMachine.py +++ b/pycgmes/resources/SynchronousMachine.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .RotatingMachine import RotatingMachine @@ -223,7 +225,7 @@ class SynchronousMachine(RotatingMachine): # SynchronousMachineDynamics : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SynchronousMachineDetailed.py b/pycgmes/resources/SynchronousMachineDetailed.py index 7db11125..8d77248d 100644 --- a/pycgmes/resources/SynchronousMachineDetailed.py +++ b/pycgmes/resources/SynchronousMachineDetailed.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .SynchronousMachineDynamics import SynchronousMachineDynamics @@ -65,7 +67,7 @@ class SynchronousMachineDetailed(SynchronousMachineDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SynchronousMachineDynamics.py b/pycgmes/resources/SynchronousMachineDynamics.py index 3369b335..cf304cb1 100644 --- a/pycgmes/resources/SynchronousMachineDynamics.py +++ b/pycgmes/resources/SynchronousMachineDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .RotatingMachineDynamics import RotatingMachineDynamics @@ -72,7 +74,7 @@ class SynchronousMachineDynamics(RotatingMachineDynamics): # GenICompensationForGenJ : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SynchronousMachineEquivalentCircuit.py b/pycgmes/resources/SynchronousMachineEquivalentCircuit.py index 6abd76ed..67792be6 100644 --- a/pycgmes/resources/SynchronousMachineEquivalentCircuit.py +++ b/pycgmes/resources/SynchronousMachineEquivalentCircuit.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .SynchronousMachineDetailed import SynchronousMachineDetailed @@ -126,7 +128,7 @@ class SynchronousMachineEquivalentCircuit(SynchronousMachineDetailed): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SynchronousMachineKind.py b/pycgmes/resources/SynchronousMachineKind.py index add9e15d..83ddc614 100644 --- a/pycgmes/resources/SynchronousMachineKind.py +++ b/pycgmes/resources/SynchronousMachineKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class SynchronousMachineKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SynchronousMachineModelKind.py b/pycgmes/resources/SynchronousMachineModelKind.py index f3c175c1..6f1e3c1d 100644 --- a/pycgmes/resources/SynchronousMachineModelKind.py +++ b/pycgmes/resources/SynchronousMachineModelKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class SynchronousMachineModelKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SynchronousMachineOperatingMode.py b/pycgmes/resources/SynchronousMachineOperatingMode.py index ff093381..7748c88b 100644 --- a/pycgmes/resources/SynchronousMachineOperatingMode.py +++ b/pycgmes/resources/SynchronousMachineOperatingMode.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class SynchronousMachineOperatingMode(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SynchronousMachineSimplified.py b/pycgmes/resources/SynchronousMachineSimplified.py index 973b23de..731cce97 100644 --- a/pycgmes/resources/SynchronousMachineSimplified.py +++ b/pycgmes/resources/SynchronousMachineSimplified.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .SynchronousMachineDynamics import SynchronousMachineDynamics @@ -28,7 +30,7 @@ class SynchronousMachineSimplified(SynchronousMachineDynamics): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SynchronousMachineTimeConstantReactance.py b/pycgmes/resources/SynchronousMachineTimeConstantReactance.py index c03b7ff0..90e3898a 100644 --- a/pycgmes/resources/SynchronousMachineTimeConstantReactance.py +++ b/pycgmes/resources/SynchronousMachineTimeConstantReactance.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .SynchronousMachineDetailed import SynchronousMachineDetailed @@ -157,7 +159,7 @@ class SynchronousMachineTimeConstantReactance(SynchronousMachineDetailed): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/SynchronousMachineUserDefined.py b/pycgmes/resources/SynchronousMachineUserDefined.py index b84bbdea..dfd14902 100644 --- a/pycgmes/resources/SynchronousMachineUserDefined.py +++ b/pycgmes/resources/SynchronousMachineUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .SynchronousMachineDynamics import SynchronousMachineDynamics @@ -37,7 +39,7 @@ class SynchronousMachineUserDefined(SynchronousMachineDynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/TapChanger.py b/pycgmes/resources/TapChanger.py index aaf236a3..adf4861f 100644 --- a/pycgmes/resources/TapChanger.py +++ b/pycgmes/resources/TapChanger.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemResource import PowerSystemResource @@ -118,7 +120,7 @@ class TapChanger(PowerSystemResource): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/TapChangerControl.py b/pycgmes/resources/TapChangerControl.py index 2338ebbd..c8a46fa1 100644 --- a/pycgmes/resources/TapChangerControl.py +++ b/pycgmes/resources/TapChangerControl.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .RegulatingControl import RegulatingControl @@ -26,7 +28,7 @@ class TapChangerControl(RegulatingControl): # TapChanger : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/TapChangerTablePoint.py b/pycgmes/resources/TapChangerTablePoint.py index 42a61d50..e0f64a6d 100644 --- a/pycgmes/resources/TapChangerTablePoint.py +++ b/pycgmes/resources/TapChangerTablePoint.py @@ -9,8 +9,10 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -83,7 +85,7 @@ class TapChangerTablePoint(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/TapSchedule.py b/pycgmes/resources/TapSchedule.py index d4e888bf..3d2210cb 100644 --- a/pycgmes/resources/TapSchedule.py +++ b/pycgmes/resources/TapSchedule.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .SeasonDayTypeSchedule import SeasonDayTypeSchedule @@ -30,7 +32,7 @@ class TapSchedule(SeasonDayTypeSchedule): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Temperature.py b/pycgmes/resources/Temperature.py index 26626ca2..a5f0b0c7 100644 --- a/pycgmes/resources/Temperature.py +++ b/pycgmes/resources/Temperature.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -49,7 +51,7 @@ class Temperature(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Terminal.py b/pycgmes/resources/Terminal.py index f297cce8..3d2e4f44 100644 --- a/pycgmes/resources/Terminal.py +++ b/pycgmes/resources/Terminal.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ACDCTerminal import ACDCTerminal @@ -113,7 +115,7 @@ class Terminal(ACDCTerminal): # RemoteInputSignal : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/TextDiagramObject.py b/pycgmes/resources/TextDiagramObject.py index 1a1ca225..d279a60e 100644 --- a/pycgmes/resources/TextDiagramObject.py +++ b/pycgmes/resources/TextDiagramObject.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DiagramObject import DiagramObject @@ -29,7 +31,7 @@ class TextDiagramObject(DiagramObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ThermalGeneratingUnit.py b/pycgmes/resources/ThermalGeneratingUnit.py index b91a9517..40f35054 100644 --- a/pycgmes/resources/ThermalGeneratingUnit.py +++ b/pycgmes/resources/ThermalGeneratingUnit.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .GeneratingUnit import GeneratingUnit @@ -51,7 +53,7 @@ class ThermalGeneratingUnit(GeneratingUnit): # FossilFuels : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/TieFlow.py b/pycgmes/resources/TieFlow.py index d85aa971..2fe9e5f3 100644 --- a/pycgmes/resources/TieFlow.py +++ b/pycgmes/resources/TieFlow.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -49,7 +51,7 @@ class TieFlow(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/TopologicalIsland.py b/pycgmes/resources/TopologicalIsland.py index 8ff2ac76..0a7844b9 100644 --- a/pycgmes/resources/TopologicalIsland.py +++ b/pycgmes/resources/TopologicalIsland.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -43,7 +45,7 @@ class TopologicalIsland(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/TopologicalNode.py b/pycgmes/resources/TopologicalNode.py index bbe473db..ec71b2aa 100644 --- a/pycgmes/resources/TopologicalNode.py +++ b/pycgmes/resources/TopologicalNode.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -85,7 +87,7 @@ class TopologicalNode(IdentifiedObject): # TopologicalIsland : Optional[str] = Field(default=None, in_profiles = [Profile.SV, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/TownDetail.py b/pycgmes/resources/TownDetail.py index 37b6a291..12eb6be3 100644 --- a/pycgmes/resources/TownDetail.py +++ b/pycgmes/resources/TownDetail.py @@ -9,8 +9,10 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -61,7 +63,7 @@ class TownDetail(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/TransformerEnd.py b/pycgmes/resources/TransformerEnd.py index de183fe8..ca0be2cd 100644 --- a/pycgmes/resources/TransformerEnd.py +++ b/pycgmes/resources/TransformerEnd.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -85,7 +87,7 @@ class TransformerEnd(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/TurbLCFB1.py b/pycgmes/resources/TurbLCFB1.py index 81d7b916..285f0764 100644 --- a/pycgmes/resources/TurbLCFB1.py +++ b/pycgmes/resources/TurbLCFB1.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineLoadControllerDynamics import TurbineLoadControllerDynamics @@ -122,7 +124,7 @@ class TurbLCFB1(TurbineLoadControllerDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/TurbineGovernorDynamics.py b/pycgmes/resources/TurbineGovernorDynamics.py index f0f46a2d..98b9241c 100644 --- a/pycgmes/resources/TurbineGovernorDynamics.py +++ b/pycgmes/resources/TurbineGovernorDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -48,7 +50,7 @@ class TurbineGovernorDynamics(DynamicsFunctionBlock): # TurbineLoadControllerDynamics : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/TurbineGovernorUserDefined.py b/pycgmes/resources/TurbineGovernorUserDefined.py index e9ea0210..4109a49d 100644 --- a/pycgmes/resources/TurbineGovernorUserDefined.py +++ b/pycgmes/resources/TurbineGovernorUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineGovernorDynamics import TurbineGovernorDynamics @@ -37,7 +39,7 @@ class TurbineGovernorUserDefined(TurbineGovernorDynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/TurbineLoadControllerDynamics.py b/pycgmes/resources/TurbineLoadControllerDynamics.py index 74d1c94b..0d6e7905 100644 --- a/pycgmes/resources/TurbineLoadControllerDynamics.py +++ b/pycgmes/resources/TurbineLoadControllerDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -31,7 +33,7 @@ class TurbineLoadControllerDynamics(DynamicsFunctionBlock): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/TurbineLoadControllerUserDefined.py b/pycgmes/resources/TurbineLoadControllerUserDefined.py index b1a5c3e7..b9a45bdd 100644 --- a/pycgmes/resources/TurbineLoadControllerUserDefined.py +++ b/pycgmes/resources/TurbineLoadControllerUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .TurbineLoadControllerDynamics import TurbineLoadControllerDynamics @@ -37,7 +39,7 @@ class TurbineLoadControllerUserDefined(TurbineLoadControllerDynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/UnderexcLim2Simplified.py b/pycgmes/resources/UnderexcLim2Simplified.py index b5f95025..fe1fe14a 100644 --- a/pycgmes/resources/UnderexcLim2Simplified.py +++ b/pycgmes/resources/UnderexcLim2Simplified.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .UnderexcitationLimiterDynamics import UnderexcitationLimiterDynamics @@ -79,7 +81,7 @@ class UnderexcLim2Simplified(UnderexcitationLimiterDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/UnderexcLimIEEE1.py b/pycgmes/resources/UnderexcLimIEEE1.py index fada4b49..619d95f3 100644 --- a/pycgmes/resources/UnderexcLimIEEE1.py +++ b/pycgmes/resources/UnderexcLimIEEE1.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .UnderexcitationLimiterDynamics import UnderexcitationLimiterDynamics @@ -142,7 +144,7 @@ class UnderexcLimIEEE1(UnderexcitationLimiterDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/UnderexcLimIEEE2.py b/pycgmes/resources/UnderexcLimIEEE2.py index 3b34bd53..e68d6626 100644 --- a/pycgmes/resources/UnderexcLimIEEE2.py +++ b/pycgmes/resources/UnderexcLimIEEE2.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .UnderexcitationLimiterDynamics import UnderexcitationLimiterDynamics @@ -345,7 +347,7 @@ class UnderexcLimIEEE2(UnderexcitationLimiterDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/UnderexcLimX1.py b/pycgmes/resources/UnderexcLimX1.py index 19a05341..7d7ed83d 100644 --- a/pycgmes/resources/UnderexcLimX1.py +++ b/pycgmes/resources/UnderexcLimX1.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .UnderexcitationLimiterDynamics import UnderexcitationLimiterDynamics @@ -69,7 +71,7 @@ class UnderexcLimX1(UnderexcitationLimiterDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/UnderexcLimX2.py b/pycgmes/resources/UnderexcLimX2.py index bc220eba..f48cee12 100644 --- a/pycgmes/resources/UnderexcLimX2.py +++ b/pycgmes/resources/UnderexcLimX2.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .UnderexcitationLimiterDynamics import UnderexcitationLimiterDynamics @@ -77,7 +79,7 @@ class UnderexcLimX2(UnderexcitationLimiterDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/UnderexcitationLimiterDynamics.py b/pycgmes/resources/UnderexcitationLimiterDynamics.py index 05bcbba0..ccaffb60 100644 --- a/pycgmes/resources/UnderexcitationLimiterDynamics.py +++ b/pycgmes/resources/UnderexcitationLimiterDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -36,7 +38,7 @@ class UnderexcitationLimiterDynamics(DynamicsFunctionBlock): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/UnderexcitationLimiterUserDefined.py b/pycgmes/resources/UnderexcitationLimiterUserDefined.py index 723ed503..1b39f90a 100644 --- a/pycgmes/resources/UnderexcitationLimiterUserDefined.py +++ b/pycgmes/resources/UnderexcitationLimiterUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .UnderexcitationLimiterDynamics import UnderexcitationLimiterDynamics @@ -37,7 +39,7 @@ class UnderexcitationLimiterUserDefined(UnderexcitationLimiterDynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/UnitMultiplier.py b/pycgmes/resources/UnitMultiplier.py index f80d98d1..de14e521 100644 --- a/pycgmes/resources/UnitMultiplier.py +++ b/pycgmes/resources/UnitMultiplier.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -36,7 +38,7 @@ class UnitMultiplier(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/UnitSymbol.py b/pycgmes/resources/UnitSymbol.py index e408f120..960d23c2 100644 --- a/pycgmes/resources/UnitSymbol.py +++ b/pycgmes/resources/UnitSymbol.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -39,7 +41,7 @@ class UnitSymbol(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VAdjIEEE.py b/pycgmes/resources/VAdjIEEE.py index 7ea14b19..a60938e4 100644 --- a/pycgmes/resources/VAdjIEEE.py +++ b/pycgmes/resources/VAdjIEEE.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .VoltageAdjusterDynamics import VoltageAdjusterDynamics @@ -70,7 +72,7 @@ class VAdjIEEE(VoltageAdjusterDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VCompIEEEType1.py b/pycgmes/resources/VCompIEEEType1.py index 01c41ea3..001e3a59 100644 --- a/pycgmes/resources/VCompIEEEType1.py +++ b/pycgmes/resources/VCompIEEEType1.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .VoltageCompensatorDynamics import VoltageCompensatorDynamics @@ -48,7 +50,7 @@ class VCompIEEEType1(VoltageCompensatorDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VCompIEEEType2.py b/pycgmes/resources/VCompIEEEType2.py index 0cc5cb46..5dded8bc 100644 --- a/pycgmes/resources/VCompIEEEType2.py +++ b/pycgmes/resources/VCompIEEEType2.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .VoltageCompensatorDynamics import VoltageCompensatorDynamics @@ -37,7 +39,7 @@ class VCompIEEEType2(VoltageCompensatorDynamics): # GenICompensationForGenJ : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VSCDynamics.py b/pycgmes/resources/VSCDynamics.py index c80b1db7..0201e4f1 100644 --- a/pycgmes/resources/VSCDynamics.py +++ b/pycgmes/resources/VSCDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .HVDCDynamics import HVDCDynamics @@ -31,7 +33,7 @@ class VSCDynamics(HVDCDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VSCUserDefined.py b/pycgmes/resources/VSCUserDefined.py index 0ccb324b..887f8337 100644 --- a/pycgmes/resources/VSCUserDefined.py +++ b/pycgmes/resources/VSCUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .VSCDynamics import VSCDynamics @@ -37,7 +39,7 @@ class VSCUserDefined(VSCDynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Validity.py b/pycgmes/resources/Validity.py index 2f467cc0..e800976e 100644 --- a/pycgmes/resources/Validity.py +++ b/pycgmes/resources/Validity.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class Validity(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ValueAliasSet.py b/pycgmes/resources/ValueAliasSet.py index 8297a724..d36bac29 100644 --- a/pycgmes/resources/ValueAliasSet.py +++ b/pycgmes/resources/ValueAliasSet.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -44,7 +46,7 @@ class ValueAliasSet(IdentifiedObject): # Values : list = Field(default_factory=list, in_profiles = [Profile.OP, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/ValueToAlias.py b/pycgmes/resources/ValueToAlias.py index 674c95df..f24604f9 100644 --- a/pycgmes/resources/ValueToAlias.py +++ b/pycgmes/resources/ValueToAlias.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -38,7 +40,7 @@ class ValueToAlias(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VisibilityLayer.py b/pycgmes/resources/VisibilityLayer.py index 4468fb83..1e135b33 100644 --- a/pycgmes/resources/VisibilityLayer.py +++ b/pycgmes/resources/VisibilityLayer.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -43,7 +45,7 @@ class VisibilityLayer(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/Voltage.py b/pycgmes/resources/Voltage.py index 2cc66cda..fadd5974 100644 --- a/pycgmes/resources/Voltage.py +++ b/pycgmes/resources/Voltage.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -58,7 +60,7 @@ class Voltage(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VoltageAdjusterDynamics.py b/pycgmes/resources/VoltageAdjusterDynamics.py index 86428ff7..3ed435e6 100644 --- a/pycgmes/resources/VoltageAdjusterDynamics.py +++ b/pycgmes/resources/VoltageAdjusterDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -32,7 +34,7 @@ class VoltageAdjusterDynamics(DynamicsFunctionBlock): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VoltageAdjusterUserDefined.py b/pycgmes/resources/VoltageAdjusterUserDefined.py index 06487f74..9a0bf7e9 100644 --- a/pycgmes/resources/VoltageAdjusterUserDefined.py +++ b/pycgmes/resources/VoltageAdjusterUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .VoltageAdjusterDynamics import VoltageAdjusterDynamics @@ -37,7 +39,7 @@ class VoltageAdjusterUserDefined(VoltageAdjusterDynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VoltageCompensatorDynamics.py b/pycgmes/resources/VoltageCompensatorDynamics.py index 93f7634c..73c31fff 100644 --- a/pycgmes/resources/VoltageCompensatorDynamics.py +++ b/pycgmes/resources/VoltageCompensatorDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -36,7 +38,7 @@ class VoltageCompensatorDynamics(DynamicsFunctionBlock): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VoltageCompensatorUserDefined.py b/pycgmes/resources/VoltageCompensatorUserDefined.py index 2a1983e7..d0f82b7c 100644 --- a/pycgmes/resources/VoltageCompensatorUserDefined.py +++ b/pycgmes/resources/VoltageCompensatorUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .VoltageCompensatorDynamics import VoltageCompensatorDynamics @@ -37,7 +39,7 @@ class VoltageCompensatorUserDefined(VoltageCompensatorDynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VoltageLevel.py b/pycgmes/resources/VoltageLevel.py index e61de11a..4f25aaf9 100644 --- a/pycgmes/resources/VoltageLevel.py +++ b/pycgmes/resources/VoltageLevel.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .EquipmentContainer import EquipmentContainer @@ -69,7 +71,7 @@ class VoltageLevel(EquipmentContainer): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VoltageLimit.py b/pycgmes/resources/VoltageLimit.py index 88871b49..9a94cb8f 100644 --- a/pycgmes/resources/VoltageLimit.py +++ b/pycgmes/resources/VoltageLimit.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .OperationalLimit import OperationalLimit @@ -40,7 +42,7 @@ class VoltageLimit(OperationalLimit): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VoltagePerReactivePower.py b/pycgmes/resources/VoltagePerReactivePower.py index 43b5af85..017d567d 100644 --- a/pycgmes/resources/VoltagePerReactivePower.py +++ b/pycgmes/resources/VoltagePerReactivePower.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -46,7 +48,7 @@ class VoltagePerReactivePower(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VolumeFlowRate.py b/pycgmes/resources/VolumeFlowRate.py index 0af98b63..dc482f4f 100644 --- a/pycgmes/resources/VolumeFlowRate.py +++ b/pycgmes/resources/VolumeFlowRate.py @@ -10,8 +10,10 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -46,7 +48,7 @@ class VolumeFlowRate(Base): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VsCapabilityCurve.py b/pycgmes/resources/VsCapabilityCurve.py index 910cd672..748bf724 100644 --- a/pycgmes/resources/VsCapabilityCurve.py +++ b/pycgmes/resources/VsCapabilityCurve.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Curve import Curve @@ -25,7 +27,7 @@ class VsCapabilityCurve(Curve): # VsConverterDCSides : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VsConverter.py b/pycgmes/resources/VsConverter.py index 8ad6e45f..268b01b5 100644 --- a/pycgmes/resources/VsConverter.py +++ b/pycgmes/resources/VsConverter.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .ACDCConverter import ACDCConverter @@ -146,7 +148,7 @@ class VsConverter(ACDCConverter): # VSCDynamics : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VsPpccControlKind.py b/pycgmes/resources/VsPpccControlKind.py index 16a4cd1b..ea1b1885 100644 --- a/pycgmes/resources/VsPpccControlKind.py +++ b/pycgmes/resources/VsPpccControlKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class VsPpccControlKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/VsQpccControlKind.py b/pycgmes/resources/VsQpccControlKind.py index 9f437989..6bd4f881 100644 --- a/pycgmes/resources/VsQpccControlKind.py +++ b/pycgmes/resources/VsQpccControlKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class VsQpccControlKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WaveTrap.py b/pycgmes/resources/WaveTrap.py index d06d44a4..ba258dad 100644 --- a/pycgmes/resources/WaveTrap.py +++ b/pycgmes/resources/WaveTrap.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .AuxiliaryEquipment import AuxiliaryEquipment @@ -23,7 +25,7 @@ class WaveTrap(AuxiliaryEquipment): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindAeroConstIEC.py b/pycgmes/resources/WindAeroConstIEC.py index 746052a4..a8d35e1f 100644 --- a/pycgmes/resources/WindAeroConstIEC.py +++ b/pycgmes/resources/WindAeroConstIEC.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -26,7 +28,7 @@ class WindAeroConstIEC(IdentifiedObject): # WindGenTurbineType1aIEC : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindAeroOneDimIEC.py b/pycgmes/resources/WindAeroOneDimIEC.py index 4f93d070..7e3994f7 100644 --- a/pycgmes/resources/WindAeroOneDimIEC.py +++ b/pycgmes/resources/WindAeroOneDimIEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -42,7 +44,7 @@ class WindAeroOneDimIEC(IdentifiedObject): # WindTurbineType3IEC : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindAeroTwoDimIEC.py b/pycgmes/resources/WindAeroTwoDimIEC.py index 13b843ed..f87c94c4 100644 --- a/pycgmes/resources/WindAeroTwoDimIEC.py +++ b/pycgmes/resources/WindAeroTwoDimIEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -84,7 +86,7 @@ class WindAeroTwoDimIEC(IdentifiedObject): # WindTurbineType3IEC : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindContCurrLimIEC.py b/pycgmes/resources/WindContCurrLimIEC.py index f3851722..41d9a7f9 100644 --- a/pycgmes/resources/WindContCurrLimIEC.py +++ b/pycgmes/resources/WindContCurrLimIEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -94,7 +96,7 @@ class WindContCurrLimIEC(IdentifiedObject): # WindDynamicsLookupTable : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindContPType3IEC.py b/pycgmes/resources/WindContPType3IEC.py index 97692b6e..eebabfa6 100644 --- a/pycgmes/resources/WindContPType3IEC.py +++ b/pycgmes/resources/WindContPType3IEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -220,7 +222,7 @@ class WindContPType3IEC(IdentifiedObject): # WindDynamicsLookupTable : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindContPType4aIEC.py b/pycgmes/resources/WindContPType4aIEC.py index 845b5d04..4467ea22 100644 --- a/pycgmes/resources/WindContPType4aIEC.py +++ b/pycgmes/resources/WindContPType4aIEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -50,7 +52,7 @@ class WindContPType4aIEC(IdentifiedObject): # WindTurbineType4aIEC : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindContPType4bIEC.py b/pycgmes/resources/WindContPType4bIEC.py index fb1abf0b..a349867f 100644 --- a/pycgmes/resources/WindContPType4bIEC.py +++ b/pycgmes/resources/WindContPType4bIEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -58,7 +60,7 @@ class WindContPType4bIEC(IdentifiedObject): # WindTurbineType4bIEC : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindContPitchAngleIEC.py b/pycgmes/resources/WindContPitchAngleIEC.py index 8d626b7a..f4d1c893 100644 --- a/pycgmes/resources/WindContPitchAngleIEC.py +++ b/pycgmes/resources/WindContPitchAngleIEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -108,7 +110,7 @@ class WindContPitchAngleIEC(IdentifiedObject): # WindTurbineType3IEC : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindContQIEC.py b/pycgmes/resources/WindContQIEC.py index 791209d2..de99e4ad 100644 --- a/pycgmes/resources/WindContQIEC.py +++ b/pycgmes/resources/WindContQIEC.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -214,7 +216,7 @@ class WindContQIEC(IdentifiedObject): # WindTurbineType3or4IEC : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindContQLimIEC.py b/pycgmes/resources/WindContQLimIEC.py index c476ce99..d61c1a12 100644 --- a/pycgmes/resources/WindContQLimIEC.py +++ b/pycgmes/resources/WindContQLimIEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -43,7 +45,7 @@ class WindContQLimIEC(IdentifiedObject): # WindTurbineType3or4IEC : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindContQPQULimIEC.py b/pycgmes/resources/WindContQPQULimIEC.py index 4b007899..0d129b1b 100644 --- a/pycgmes/resources/WindContQPQULimIEC.py +++ b/pycgmes/resources/WindContQPQULimIEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -49,7 +51,7 @@ class WindContQPQULimIEC(IdentifiedObject): # WindDynamicsLookupTable : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindContRotorRIEC.py b/pycgmes/resources/WindContRotorRIEC.py index 269556ef..1f01f134 100644 --- a/pycgmes/resources/WindContRotorRIEC.py +++ b/pycgmes/resources/WindContRotorRIEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -97,7 +99,7 @@ class WindContRotorRIEC(IdentifiedObject): # WindGenTurbineType2IEC : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindDynamicsLookupTable.py b/pycgmes/resources/WindDynamicsLookupTable.py index 9c67fb14..16a6a077 100644 --- a/pycgmes/resources/WindDynamicsLookupTable.py +++ b/pycgmes/resources/WindDynamicsLookupTable.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -128,7 +130,7 @@ class WindDynamicsLookupTable(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindGenTurbineType1aIEC.py b/pycgmes/resources/WindGenTurbineType1aIEC.py index 97bef58b..f8522a41 100644 --- a/pycgmes/resources/WindGenTurbineType1aIEC.py +++ b/pycgmes/resources/WindGenTurbineType1aIEC.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .WindTurbineType1or2IEC import WindTurbineType1or2IEC @@ -30,7 +32,7 @@ class WindGenTurbineType1aIEC(WindTurbineType1or2IEC): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindGenTurbineType1bIEC.py b/pycgmes/resources/WindGenTurbineType1bIEC.py index 94ad389a..1fd825e9 100644 --- a/pycgmes/resources/WindGenTurbineType1bIEC.py +++ b/pycgmes/resources/WindGenTurbineType1bIEC.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .WindTurbineType1or2IEC import WindTurbineType1or2IEC @@ -30,7 +32,7 @@ class WindGenTurbineType1bIEC(WindTurbineType1or2IEC): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindGenTurbineType2IEC.py b/pycgmes/resources/WindGenTurbineType2IEC.py index edebf50f..9ba65cf5 100644 --- a/pycgmes/resources/WindGenTurbineType2IEC.py +++ b/pycgmes/resources/WindGenTurbineType2IEC.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .WindTurbineType1or2IEC import WindTurbineType1or2IEC @@ -38,7 +40,7 @@ class WindGenTurbineType2IEC(WindTurbineType1or2IEC): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindGenType3IEC.py b/pycgmes/resources/WindGenType3IEC.py index 62a754bc..59c7f1a2 100644 --- a/pycgmes/resources/WindGenType3IEC.py +++ b/pycgmes/resources/WindGenType3IEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -50,7 +52,7 @@ class WindGenType3IEC(IdentifiedObject): # WindTurbineType3IEC : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindGenType3aIEC.py b/pycgmes/resources/WindGenType3aIEC.py index defb08e2..f48ce7bf 100644 --- a/pycgmes/resources/WindGenType3aIEC.py +++ b/pycgmes/resources/WindGenType3aIEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .WindGenType3IEC import WindGenType3IEC @@ -42,7 +44,7 @@ class WindGenType3aIEC(WindGenType3IEC): # WindTurbineType4IEC : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindGenType3bIEC.py b/pycgmes/resources/WindGenType3bIEC.py index 3b659b5e..5dde3c4c 100644 --- a/pycgmes/resources/WindGenType3bIEC.py +++ b/pycgmes/resources/WindGenType3bIEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .WindGenType3IEC import WindGenType3IEC @@ -51,7 +53,7 @@ class WindGenType3bIEC(WindGenType3IEC): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindGenType4IEC.py b/pycgmes/resources/WindGenType4IEC.py index ab90c804..147c7b7b 100644 --- a/pycgmes/resources/WindGenType4IEC.py +++ b/pycgmes/resources/WindGenType4IEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -63,7 +65,7 @@ class WindGenType4IEC(IdentifiedObject): # WindTurbineType4bIEC : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindGenUnitKind.py b/pycgmes/resources/WindGenUnitKind.py index d47a22cf..0203ac9a 100644 --- a/pycgmes/resources/WindGenUnitKind.py +++ b/pycgmes/resources/WindGenUnitKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class WindGenUnitKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindGeneratingUnit.py b/pycgmes/resources/WindGeneratingUnit.py index 774ac01e..594d63b7 100644 --- a/pycgmes/resources/WindGeneratingUnit.py +++ b/pycgmes/resources/WindGeneratingUnit.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .GeneratingUnit import GeneratingUnit @@ -39,7 +41,7 @@ class WindGeneratingUnit(GeneratingUnit): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindLookupTableFunctionKind.py b/pycgmes/resources/WindLookupTableFunctionKind.py index a64d8458..be4a1fcf 100644 --- a/pycgmes/resources/WindLookupTableFunctionKind.py +++ b/pycgmes/resources/WindLookupTableFunctionKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class WindLookupTableFunctionKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindMechIEC.py b/pycgmes/resources/WindMechIEC.py index a2dac6b4..0fbbf37b 100644 --- a/pycgmes/resources/WindMechIEC.py +++ b/pycgmes/resources/WindMechIEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -68,7 +70,7 @@ class WindMechIEC(IdentifiedObject): # WindTurbineType4bIEC : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindPitchContPowerIEC.py b/pycgmes/resources/WindPitchContPowerIEC.py index 8de4036f..8cecfef6 100644 --- a/pycgmes/resources/WindPitchContPowerIEC.py +++ b/pycgmes/resources/WindPitchContPowerIEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -93,7 +95,7 @@ class WindPitchContPowerIEC(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindPlantDynamics.py b/pycgmes/resources/WindPlantDynamics.py index 4c1f3ebb..50509dc7 100644 --- a/pycgmes/resources/WindPlantDynamics.py +++ b/pycgmes/resources/WindPlantDynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -36,7 +38,7 @@ class WindPlantDynamics(DynamicsFunctionBlock): # WindTurbineType3or4Dynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindPlantFreqPcontrolIEC.py b/pycgmes/resources/WindPlantFreqPcontrolIEC.py index 0fdde8b5..dca90265 100644 --- a/pycgmes/resources/WindPlantFreqPcontrolIEC.py +++ b/pycgmes/resources/WindPlantFreqPcontrolIEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -161,7 +163,7 @@ class WindPlantFreqPcontrolIEC(IdentifiedObject): # WindPlantIEC : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindPlantIEC.py b/pycgmes/resources/WindPlantIEC.py index 6564bf3e..42f01a30 100644 --- a/pycgmes/resources/WindPlantIEC.py +++ b/pycgmes/resources/WindPlantIEC.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .WindPlantDynamics import WindPlantDynamics @@ -38,7 +40,7 @@ class WindPlantIEC(WindPlantDynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindPlantQcontrolModeKind.py b/pycgmes/resources/WindPlantQcontrolModeKind.py index e8c196d1..33f7da18 100644 --- a/pycgmes/resources/WindPlantQcontrolModeKind.py +++ b/pycgmes/resources/WindPlantQcontrolModeKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class WindPlantQcontrolModeKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindPlantReactiveControlIEC.py b/pycgmes/resources/WindPlantReactiveControlIEC.py index aaf39756..06a805ff 100644 --- a/pycgmes/resources/WindPlantReactiveControlIEC.py +++ b/pycgmes/resources/WindPlantReactiveControlIEC.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -187,7 +189,7 @@ class WindPlantReactiveControlIEC(IdentifiedObject): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindPlantUserDefined.py b/pycgmes/resources/WindPlantUserDefined.py index 87c10a57..7a961eb3 100644 --- a/pycgmes/resources/WindPlantUserDefined.py +++ b/pycgmes/resources/WindPlantUserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .WindPlantDynamics import WindPlantDynamics @@ -37,7 +39,7 @@ class WindPlantUserDefined(WindPlantDynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindPowerPlant.py b/pycgmes/resources/WindPowerPlant.py index 373e1201..9ea2b4cc 100644 --- a/pycgmes/resources/WindPowerPlant.py +++ b/pycgmes/resources/WindPowerPlant.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .PowerSystemResource import PowerSystemResource @@ -25,7 +27,7 @@ class WindPowerPlant(PowerSystemResource): # WindGeneratingUnits : list = Field(default_factory=list, in_profiles = [Profile.EQ, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindProtectionIEC.py b/pycgmes/resources/WindProtectionIEC.py index a45ebe82..6fe30a8a 100644 --- a/pycgmes/resources/WindProtectionIEC.py +++ b/pycgmes/resources/WindProtectionIEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -97,7 +99,7 @@ class WindProtectionIEC(IdentifiedObject): # WindTurbineType1or2IEC : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindQcontrolModeKind.py b/pycgmes/resources/WindQcontrolModeKind.py index ba2e3cb7..1a290926 100644 --- a/pycgmes/resources/WindQcontrolModeKind.py +++ b/pycgmes/resources/WindQcontrolModeKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class WindQcontrolModeKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindRefFrameRotIEC.py b/pycgmes/resources/WindRefFrameRotIEC.py index 42c86847..80876ee8 100644 --- a/pycgmes/resources/WindRefFrameRotIEC.py +++ b/pycgmes/resources/WindRefFrameRotIEC.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .IdentifiedObject import IdentifiedObject @@ -53,7 +55,7 @@ class WindRefFrameRotIEC(IdentifiedObject): # WindTurbineType3or4IEC : Optional[str] = Field(default=None, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindTurbineType1or2Dynamics.py b/pycgmes/resources/WindTurbineType1or2Dynamics.py index 34de03e1..2c1a8da2 100644 --- a/pycgmes/resources/WindTurbineType1or2Dynamics.py +++ b/pycgmes/resources/WindTurbineType1or2Dynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -40,7 +42,7 @@ class WindTurbineType1or2Dynamics(DynamicsFunctionBlock): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindTurbineType1or2IEC.py b/pycgmes/resources/WindTurbineType1or2IEC.py index f2b20852..737e194f 100644 --- a/pycgmes/resources/WindTurbineType1or2IEC.py +++ b/pycgmes/resources/WindTurbineType1or2IEC.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .WindTurbineType1or2Dynamics import WindTurbineType1or2Dynamics @@ -40,7 +42,7 @@ class WindTurbineType1or2IEC(WindTurbineType1or2Dynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindTurbineType3IEC.py b/pycgmes/resources/WindTurbineType3IEC.py index ae7c6ce4..42f00878 100644 --- a/pycgmes/resources/WindTurbineType3IEC.py +++ b/pycgmes/resources/WindTurbineType3IEC.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .WindTurbineType3or4IEC import WindTurbineType3or4IEC @@ -70,7 +72,7 @@ class WindTurbineType3IEC(WindTurbineType3or4IEC): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindTurbineType3or4Dynamics.py b/pycgmes/resources/WindTurbineType3or4Dynamics.py index 616b7b6f..c7cf95fb 100644 --- a/pycgmes/resources/WindTurbineType3or4Dynamics.py +++ b/pycgmes/resources/WindTurbineType3or4Dynamics.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .DynamicsFunctionBlock import DynamicsFunctionBlock @@ -48,7 +50,7 @@ class WindTurbineType3or4Dynamics(DynamicsFunctionBlock): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindTurbineType3or4IEC.py b/pycgmes/resources/WindTurbineType3or4IEC.py index eb7fae5e..bf9923f7 100644 --- a/pycgmes/resources/WindTurbineType3or4IEC.py +++ b/pycgmes/resources/WindTurbineType3or4IEC.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .WindTurbineType3or4Dynamics import WindTurbineType3or4Dynamics @@ -70,7 +72,7 @@ class WindTurbineType3or4IEC(WindTurbineType3or4Dynamics): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindTurbineType4IEC.py b/pycgmes/resources/WindTurbineType4IEC.py index 8764f709..794869a9 100644 --- a/pycgmes/resources/WindTurbineType4IEC.py +++ b/pycgmes/resources/WindTurbineType4IEC.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .WindTurbineType3or4IEC import WindTurbineType3or4IEC @@ -30,7 +32,7 @@ class WindTurbineType4IEC(WindTurbineType3or4IEC): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindTurbineType4aIEC.py b/pycgmes/resources/WindTurbineType4aIEC.py index 88d8e9e4..29c65cb0 100644 --- a/pycgmes/resources/WindTurbineType4aIEC.py +++ b/pycgmes/resources/WindTurbineType4aIEC.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .WindTurbineType4IEC import WindTurbineType4IEC @@ -38,7 +40,7 @@ class WindTurbineType4aIEC(WindTurbineType4IEC): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindTurbineType4bIEC.py b/pycgmes/resources/WindTurbineType4bIEC.py index ab2ec41d..e855acb2 100644 --- a/pycgmes/resources/WindTurbineType4bIEC.py +++ b/pycgmes/resources/WindTurbineType4bIEC.py @@ -10,7 +10,9 @@ from typing import Optional from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .WindTurbineType4IEC import WindTurbineType4IEC @@ -46,7 +48,7 @@ class WindTurbineType4bIEC(WindTurbineType4IEC): ) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindType1or2UserDefined.py b/pycgmes/resources/WindType1or2UserDefined.py index cef9d00b..fa3229ac 100644 --- a/pycgmes/resources/WindType1or2UserDefined.py +++ b/pycgmes/resources/WindType1or2UserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .WindTurbineType1or2Dynamics import WindTurbineType1or2Dynamics @@ -37,7 +39,7 @@ class WindType1or2UserDefined(WindTurbineType1or2Dynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindType3or4UserDefined.py b/pycgmes/resources/WindType3or4UserDefined.py index 0045548c..32f39a6a 100644 --- a/pycgmes/resources/WindType3or4UserDefined.py +++ b/pycgmes/resources/WindType3or4UserDefined.py @@ -9,7 +9,9 @@ from functools import cached_property from pydantic import Field from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .WindTurbineType3or4Dynamics import WindTurbineType3or4Dynamics @@ -37,7 +39,7 @@ class WindType3or4UserDefined(WindTurbineType3or4Dynamics): # ProprietaryParameterDynamics : list = Field(default_factory=list, in_profiles = [Profile.DY, ]) @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindUVRTQcontrolModeKind.py b/pycgmes/resources/WindUVRTQcontrolModeKind.py index acceae5d..525b409b 100644 --- a/pycgmes/resources/WindUVRTQcontrolModeKind.py +++ b/pycgmes/resources/WindUVRTQcontrolModeKind.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class WindUVRTQcontrolModeKind(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WindingConnection.py b/pycgmes/resources/WindingConnection.py index 6139bcc0..611128d8 100644 --- a/pycgmes/resources/WindingConnection.py +++ b/pycgmes/resources/WindingConnection.py @@ -8,8 +8,10 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile -from .Base import Base +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + +from ..utils.base import Base @dataclass(config=DataclassConfig) @@ -22,7 +24,7 @@ class WindingConnection(Base): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/WorkLocation.py b/pycgmes/resources/WorkLocation.py index df351068..c391719b 100644 --- a/pycgmes/resources/WorkLocation.py +++ b/pycgmes/resources/WorkLocation.py @@ -8,7 +8,9 @@ from functools import cached_property from pydantic.dataclasses import dataclass -from .Base import DataclassConfig, Profile +from ..utils.dataclassconfig import DataclassConfig +from ..utils.profile import BaseProfile, Profile + from .Location import Location @@ -22,7 +24,7 @@ class WorkLocation(Location): # No attributes defined for this class. @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: """ A resource can be used by multiple profiles. This is the set of profiles where this element can be found. diff --git a/pycgmes/resources/__init__.py b/pycgmes/resources/__init__.py index 1f5dbe02..d28faf66 100644 --- a/pycgmes/resources/__init__.py +++ b/pycgmes/resources/__init__.py @@ -3,1061 +3,4 @@ # SPDX-License-Identifier: Apache-2.0 # pylint: disable=too-many-lines,missing-module-docstring -from .ACDCConverter import ACDCConverter -from .ACDCConverterDCTerminal import ACDCConverterDCTerminal -from .ACDCTerminal import ACDCTerminal -from .ACLineSegment import ACLineSegment -from .Accumulator import Accumulator -from .AccumulatorLimit import AccumulatorLimit -from .AccumulatorLimitSet import AccumulatorLimitSet -from .AccumulatorReset import AccumulatorReset -from .AccumulatorValue import AccumulatorValue -from .ActivePower import ActivePower -from .ActivePowerLimit import ActivePowerLimit -from .ActivePowerPerCurrentFlow import ActivePowerPerCurrentFlow -from .ActivePowerPerFrequency import ActivePowerPerFrequency -from .Analog import Analog -from .AnalogControl import AnalogControl -from .AnalogLimit import AnalogLimit -from .AnalogLimitSet import AnalogLimitSet -from .AnalogValue import AnalogValue -from .AngleDegrees import AngleDegrees -from .AngleRadians import AngleRadians -from .ApparentPower import ApparentPower -from .ApparentPowerLimit import ApparentPowerLimit -from .Area import Area -from .AsynchronousMachine import AsynchronousMachine -from .AsynchronousMachineDynamics import AsynchronousMachineDynamics -from .AsynchronousMachineEquivalentCircuit import AsynchronousMachineEquivalentCircuit -from .AsynchronousMachineKind import AsynchronousMachineKind -from .AsynchronousMachineTimeConstantReactance import AsynchronousMachineTimeConstantReactance -from .AsynchronousMachineUserDefined import AsynchronousMachineUserDefined -from .AuxiliaryEquipment import AuxiliaryEquipment -from .Base import Base -from .BaseVoltage import BaseVoltage -from .BasicIntervalSchedule import BasicIntervalSchedule -from .BatteryStateKind import BatteryStateKind -from .BatteryUnit import BatteryUnit -from .Bay import Bay -from .Boolean import Boolean -from .BoundaryPoint import BoundaryPoint -from .Breaker import Breaker -from .BusNameMarker import BusNameMarker -from .BusbarSection import BusbarSection -from .CAESPlant import CAESPlant -from .CSCDynamics import CSCDynamics -from .CSCUserDefined import CSCUserDefined -from .Capacitance import Capacitance -from .Clamp import Clamp -from .CogenerationPlant import CogenerationPlant -from .CombinedCyclePlant import CombinedCyclePlant -from .Command import Command -from .Conductance import Conductance -from .ConductingEquipment import ConductingEquipment -from .Conductor import Conductor -from .ConformLoad import ConformLoad -from .ConformLoadGroup import ConformLoadGroup -from .ConformLoadSchedule import ConformLoadSchedule -from .ConnectivityNode import ConnectivityNode -from .ConnectivityNodeContainer import ConnectivityNodeContainer -from .Connector import Connector -from .Control import Control -from .ControlArea import ControlArea -from .ControlAreaGeneratingUnit import ControlAreaGeneratingUnit -from .ControlAreaTypeKind import ControlAreaTypeKind -from .CoordinateSystem import CoordinateSystem -from .CrossCompoundTurbineGovernorDynamics import CrossCompoundTurbineGovernorDynamics -from .CsConverter import CsConverter -from .CsOperatingModeKind import CsOperatingModeKind -from .CsPpccControlKind import CsPpccControlKind -from .Currency import Currency -from .CurrentFlow import CurrentFlow -from .CurrentLimit import CurrentLimit -from .CurrentTransformer import CurrentTransformer -from .Curve import Curve -from .CurveData import CurveData -from .CurveStyle import CurveStyle -from .Cut import Cut -from .DCBaseTerminal import DCBaseTerminal -from .DCBreaker import DCBreaker -from .DCBusbar import DCBusbar -from .DCChopper import DCChopper -from .DCConductingEquipment import DCConductingEquipment -from .DCConverterOperatingModeKind import DCConverterOperatingModeKind -from .DCConverterUnit import DCConverterUnit -from .DCDisconnector import DCDisconnector -from .DCEquipmentContainer import DCEquipmentContainer -from .DCGround import DCGround -from .DCLine import DCLine -from .DCLineSegment import DCLineSegment -from .DCNode import DCNode -from .DCPolarityKind import DCPolarityKind -from .DCSeriesDevice import DCSeriesDevice -from .DCShunt import DCShunt -from .DCSwitch import DCSwitch -from .DCTerminal import DCTerminal -from .DCTopologicalIsland import DCTopologicalIsland -from .DCTopologicalNode import DCTopologicalNode -from .Date import Date -from .DateTime import DateTime -from .DayType import DayType -from .Decimal import Decimal -from .Diagram import Diagram -from .DiagramObject import DiagramObject -from .DiagramObjectGluePoint import DiagramObjectGluePoint -from .DiagramObjectPoint import DiagramObjectPoint -from .DiagramObjectStyle import DiagramObjectStyle -from .DiagramStyle import DiagramStyle -from .DiscExcContIEEEDEC1A import DiscExcContIEEEDEC1A -from .DiscExcContIEEEDEC2A import DiscExcContIEEEDEC2A -from .DiscExcContIEEEDEC3A import DiscExcContIEEEDEC3A -from .DisconnectingCircuitBreaker import DisconnectingCircuitBreaker -from .Disconnector import Disconnector -from .DiscontinuousExcitationControlDynamics import DiscontinuousExcitationControlDynamics -from .DiscontinuousExcitationControlUserDefined import DiscontinuousExcitationControlUserDefined -from .Discrete import Discrete -from .DiscreteValue import DiscreteValue -from .DroopSignalFeedbackKind import DroopSignalFeedbackKind -from .DynamicsFunctionBlock import DynamicsFunctionBlock -from .EarthFaultCompensator import EarthFaultCompensator -from .EnergyArea import EnergyArea -from .EnergyConnection import EnergyConnection -from .EnergyConsumer import EnergyConsumer -from .EnergySchedulingType import EnergySchedulingType -from .EnergySource import EnergySource -from .Equipment import Equipment -from .EquipmentContainer import EquipmentContainer -from .EquivalentBranch import EquivalentBranch -from .EquivalentEquipment import EquivalentEquipment -from .EquivalentInjection import EquivalentInjection -from .EquivalentNetwork import EquivalentNetwork -from .EquivalentShunt import EquivalentShunt -from .ExcAC1A import ExcAC1A -from .ExcAC2A import ExcAC2A -from .ExcAC3A import ExcAC3A -from .ExcAC4A import ExcAC4A -from .ExcAC5A import ExcAC5A -from .ExcAC6A import ExcAC6A -from .ExcAC8B import ExcAC8B -from .ExcANS import ExcANS -from .ExcAVR1 import ExcAVR1 -from .ExcAVR2 import ExcAVR2 -from .ExcAVR3 import ExcAVR3 -from .ExcAVR4 import ExcAVR4 -from .ExcAVR5 import ExcAVR5 -from .ExcAVR7 import ExcAVR7 -from .ExcBBC import ExcBBC -from .ExcCZ import ExcCZ -from .ExcDC1A import ExcDC1A -from .ExcDC2A import ExcDC2A -from .ExcDC3A import ExcDC3A -from .ExcDC3A1 import ExcDC3A1 -from .ExcELIN1 import ExcELIN1 -from .ExcELIN2 import ExcELIN2 -from .ExcHU import ExcHU -from .ExcIEEEAC1A import ExcIEEEAC1A -from .ExcIEEEAC2A import ExcIEEEAC2A -from .ExcIEEEAC3A import ExcIEEEAC3A -from .ExcIEEEAC4A import ExcIEEEAC4A -from .ExcIEEEAC5A import ExcIEEEAC5A -from .ExcIEEEAC6A import ExcIEEEAC6A -from .ExcIEEEAC7B import ExcIEEEAC7B -from .ExcIEEEAC8B import ExcIEEEAC8B -from .ExcIEEEDC1A import ExcIEEEDC1A -from .ExcIEEEDC2A import ExcIEEEDC2A -from .ExcIEEEDC3A import ExcIEEEDC3A -from .ExcIEEEDC4B import ExcIEEEDC4B -from .ExcIEEEST1A import ExcIEEEST1A -from .ExcIEEEST1AUELselectorKind import ExcIEEEST1AUELselectorKind -from .ExcIEEEST2A import ExcIEEEST2A -from .ExcIEEEST3A import ExcIEEEST3A -from .ExcIEEEST4B import ExcIEEEST4B -from .ExcIEEEST5B import ExcIEEEST5B -from .ExcIEEEST6B import ExcIEEEST6B -from .ExcIEEEST7B import ExcIEEEST7B -from .ExcNI import ExcNI -from .ExcOEX3T import ExcOEX3T -from .ExcPIC import ExcPIC -from .ExcREXS import ExcREXS -from .ExcREXSFeedbackSignalKind import ExcREXSFeedbackSignalKind -from .ExcRQB import ExcRQB -from .ExcSCRX import ExcSCRX -from .ExcSEXS import ExcSEXS -from .ExcSK import ExcSK -from .ExcST1A import ExcST1A -from .ExcST2A import ExcST2A -from .ExcST3A import ExcST3A -from .ExcST4B import ExcST4B -from .ExcST6B import ExcST6B -from .ExcST6BOELselectorKind import ExcST6BOELselectorKind -from .ExcST7B import ExcST7B -from .ExcST7BOELselectorKind import ExcST7BOELselectorKind -from .ExcST7BUELselectorKind import ExcST7BUELselectorKind -from .ExcitationSystemDynamics import ExcitationSystemDynamics -from .ExcitationSystemUserDefined import ExcitationSystemUserDefined -from .ExternalNetworkInjection import ExternalNetworkInjection -from .FaultIndicator import FaultIndicator -from .Float import Float -from .FossilFuel import FossilFuel -from .FrancisGovernorControlKind import FrancisGovernorControlKind -from .Frequency import Frequency -from .FuelType import FuelType -from .Fuse import Fuse -from .GenICompensationForGenJ import GenICompensationForGenJ -from .GeneratingUnit import GeneratingUnit -from .GeneratorControlSource import GeneratorControlSource -from .GenericNonLinearLoadModelKind import GenericNonLinearLoadModelKind -from .GeographicalRegion import GeographicalRegion -from .GovCT1 import GovCT1 -from .GovCT2 import GovCT2 -from .GovGAST import GovGAST -from .GovGAST1 import GovGAST1 -from .GovGAST2 import GovGAST2 -from .GovGAST3 import GovGAST3 -from .GovGAST4 import GovGAST4 -from .GovGASTWD import GovGASTWD -from .GovHydro1 import GovHydro1 -from .GovHydro2 import GovHydro2 -from .GovHydro3 import GovHydro3 -from .GovHydro4 import GovHydro4 -from .GovHydro4ModelKind import GovHydro4ModelKind -from .GovHydroDD import GovHydroDD -from .GovHydroFrancis import GovHydroFrancis -from .GovHydroIEEE0 import GovHydroIEEE0 -from .GovHydroIEEE2 import GovHydroIEEE2 -from .GovHydroPID import GovHydroPID -from .GovHydroPID2 import GovHydroPID2 -from .GovHydroPelton import GovHydroPelton -from .GovHydroR import GovHydroR -from .GovHydroWEH import GovHydroWEH -from .GovHydroWPID import GovHydroWPID -from .GovSteam0 import GovSteam0 -from .GovSteam1 import GovSteam1 -from .GovSteam2 import GovSteam2 -from .GovSteamBB import GovSteamBB -from .GovSteamCC import GovSteamCC -from .GovSteamEU import GovSteamEU -from .GovSteamFV2 import GovSteamFV2 -from .GovSteamFV3 import GovSteamFV3 -from .GovSteamFV4 import GovSteamFV4 -from .GovSteamIEEE1 import GovSteamIEEE1 -from .GovSteamSGO import GovSteamSGO -from .GrossToNetActivePowerCurve import GrossToNetActivePowerCurve -from .Ground import Ground -from .GroundDisconnector import GroundDisconnector -from .GroundingImpedance import GroundingImpedance -from .HVDCDynamics import HVDCDynamics -from .HydroEnergyConversionKind import HydroEnergyConversionKind -from .HydroGeneratingUnit import HydroGeneratingUnit -from .HydroPlantStorageKind import HydroPlantStorageKind -from .HydroPowerPlant import HydroPowerPlant -from .HydroPump import HydroPump -from .HydroTurbineKind import HydroTurbineKind -from .IOPoint import IOPoint -from .IdentifiedObject import IdentifiedObject -from .IfdBaseKind import IfdBaseKind -from .Inductance import Inductance -from .InputSignalKind import InputSignalKind -from .Integer import Integer -from .Jumper import Jumper -from .Junction import Junction -from .Length import Length -from .Limit import Limit -from .LimitKind import LimitKind -from .LimitSet import LimitSet -from .Line import Line -from .LinearShuntCompensator import LinearShuntCompensator -from .LoadAggregate import LoadAggregate -from .LoadArea import LoadArea -from .LoadBreakSwitch import LoadBreakSwitch -from .LoadComposite import LoadComposite -from .LoadDynamics import LoadDynamics -from .LoadGenericNonLinear import LoadGenericNonLinear -from .LoadGroup import LoadGroup -from .LoadMotor import LoadMotor -from .LoadResponseCharacteristic import LoadResponseCharacteristic -from .LoadStatic import LoadStatic -from .LoadUserDefined import LoadUserDefined -from .Location import Location -from .Measurement import Measurement -from .MeasurementValue import MeasurementValue -from .MeasurementValueQuality import MeasurementValueQuality -from .MeasurementValueSource import MeasurementValueSource -from .MechLoad1 import MechLoad1 -from .MechanicalLoadDynamics import MechanicalLoadDynamics -from .MechanicalLoadUserDefined import MechanicalLoadUserDefined -from .Money import Money -from .MonthDay import MonthDay -from .MutualCoupling import MutualCoupling -from .NonConformLoad import NonConformLoad -from .NonConformLoadGroup import NonConformLoadGroup -from .NonConformLoadSchedule import NonConformLoadSchedule -from .NonlinearShuntCompensator import NonlinearShuntCompensator -from .NonlinearShuntCompensatorPoint import NonlinearShuntCompensatorPoint -from .NuclearGeneratingUnit import NuclearGeneratingUnit -from .OperationalLimit import OperationalLimit -from .OperationalLimitDirectionKind import OperationalLimitDirectionKind -from .OperationalLimitSet import OperationalLimitSet -from .OperationalLimitType import OperationalLimitType -from .OrientationKind import OrientationKind -from .OverexcLim2 import OverexcLim2 -from .OverexcLimIEEE import OverexcLimIEEE -from .OverexcLimX1 import OverexcLimX1 -from .OverexcLimX2 import OverexcLimX2 -from .OverexcitationLimiterDynamics import OverexcitationLimiterDynamics -from .OverexcitationLimiterUserDefined import OverexcitationLimiterUserDefined -from .PFVArControllerType1Dynamics import PFVArControllerType1Dynamics -from .PFVArControllerType1UserDefined import PFVArControllerType1UserDefined -from .PFVArControllerType2Dynamics import PFVArControllerType2Dynamics -from .PFVArControllerType2UserDefined import PFVArControllerType2UserDefined -from .PFVArType1IEEEPFController import PFVArType1IEEEPFController -from .PFVArType1IEEEVArController import PFVArType1IEEEVArController -from .PFVArType2Common1 import PFVArType2Common1 -from .PFVArType2IEEEPFController import PFVArType2IEEEPFController -from .PFVArType2IEEEVArController import PFVArType2IEEEVArController -from .PU import PU -from .PerCent import PerCent -from .PetersenCoil import PetersenCoil -from .PetersenCoilModeKind import PetersenCoilModeKind -from .PhaseCode import PhaseCode -from .PhaseTapChanger import PhaseTapChanger -from .PhaseTapChangerAsymmetrical import PhaseTapChangerAsymmetrical -from .PhaseTapChangerLinear import PhaseTapChangerLinear -from .PhaseTapChangerNonLinear import PhaseTapChangerNonLinear -from .PhaseTapChangerSymmetrical import PhaseTapChangerSymmetrical -from .PhaseTapChangerTable import PhaseTapChangerTable -from .PhaseTapChangerTablePoint import PhaseTapChangerTablePoint -from .PhaseTapChangerTabular import PhaseTapChangerTabular -from .PhotoVoltaicUnit import PhotoVoltaicUnit -from .PositionPoint import PositionPoint -from .PostLineSensor import PostLineSensor -from .PotentialTransformer import PotentialTransformer -from .PowerElectronicsConnection import PowerElectronicsConnection -from .PowerElectronicsUnit import PowerElectronicsUnit -from .PowerElectronicsWindUnit import PowerElectronicsWindUnit -from .PowerSystemResource import PowerSystemResource -from .PowerSystemStabilizerDynamics import PowerSystemStabilizerDynamics -from .PowerSystemStabilizerUserDefined import PowerSystemStabilizerUserDefined -from .PowerTransformer import PowerTransformer -from .PowerTransformerEnd import PowerTransformerEnd -from .ProprietaryParameterDynamics import ProprietaryParameterDynamics -from .ProtectedSwitch import ProtectedSwitch -from .Pss1 import Pss1 -from .Pss1A import Pss1A -from .Pss2B import Pss2B -from .Pss2ST import Pss2ST -from .Pss5 import Pss5 -from .PssELIN2 import PssELIN2 -from .PssIEEE1A import PssIEEE1A -from .PssIEEE2B import PssIEEE2B -from .PssIEEE3B import PssIEEE3B -from .PssIEEE4B import PssIEEE4B -from .PssPTIST1 import PssPTIST1 -from .PssPTIST3 import PssPTIST3 -from .PssRQB import PssRQB -from .PssSB4 import PssSB4 -from .PssSH import PssSH -from .PssSK import PssSK -from .PssSTAB2A import PssSTAB2A -from .PssWECC import PssWECC -from .Quality61850 import Quality61850 -from .RaiseLowerCommand import RaiseLowerCommand -from .RatioTapChanger import RatioTapChanger -from .RatioTapChangerTable import RatioTapChangerTable -from .RatioTapChangerTablePoint import RatioTapChangerTablePoint -from .Reactance import Reactance -from .ReactiveCapabilityCurve import ReactiveCapabilityCurve -from .ReactivePower import ReactivePower -from .RealEnergy import RealEnergy -from .RegularIntervalSchedule import RegularIntervalSchedule -from .RegularTimePoint import RegularTimePoint -from .RegulatingCondEq import RegulatingCondEq -from .RegulatingControl import RegulatingControl -from .RegulatingControlModeKind import RegulatingControlModeKind -from .RegulationSchedule import RegulationSchedule -from .RemoteInputSignal import RemoteInputSignal -from .RemoteSignalKind import RemoteSignalKind -from .ReportingGroup import ReportingGroup -from .Resistance import Resistance -from .RotatingMachine import RotatingMachine -from .RotatingMachineDynamics import RotatingMachineDynamics -from .RotationSpeed import RotationSpeed -from .RotorKind import RotorKind -from .SVCControlMode import SVCControlMode -from .SVCUserDefined import SVCUserDefined -from .Season import Season -from .SeasonDayTypeSchedule import SeasonDayTypeSchedule -from .Seconds import Seconds -from .Sensor import Sensor -from .SeriesCompensator import SeriesCompensator -from .ServiceLocation import ServiceLocation -from .SetPoint import SetPoint -from .ShortCircuitRotorKind import ShortCircuitRotorKind -from .ShuntCompensator import ShuntCompensator -from .SolarGeneratingUnit import SolarGeneratingUnit -from .SolarPowerPlant import SolarPowerPlant -from .Source import Source -from .StaticLoadModelKind import StaticLoadModelKind -from .StaticVarCompensator import StaticVarCompensator -from .StaticVarCompensatorDynamics import StaticVarCompensatorDynamics -from .StationSupply import StationSupply -from .Status import Status -from .StreetAddress import StreetAddress -from .StreetDetail import StreetDetail -from .StringMeasurement import StringMeasurement -from .StringMeasurementValue import StringMeasurementValue -from .SubGeographicalRegion import SubGeographicalRegion -from .SubLoadArea import SubLoadArea -from .Substation import Substation -from .SurgeArrester import SurgeArrester -from .Susceptance import Susceptance -from .SvInjection import SvInjection -from .SvPowerFlow import SvPowerFlow -from .SvShuntCompensatorSections import SvShuntCompensatorSections -from .SvStatus import SvStatus -from .SvSwitch import SvSwitch -from .SvTapStep import SvTapStep -from .SvVoltage import SvVoltage -from .Switch import Switch -from .SwitchSchedule import SwitchSchedule -from .SynchronousMachine import SynchronousMachine -from .SynchronousMachineDetailed import SynchronousMachineDetailed -from .SynchronousMachineDynamics import SynchronousMachineDynamics -from .SynchronousMachineEquivalentCircuit import SynchronousMachineEquivalentCircuit -from .SynchronousMachineKind import SynchronousMachineKind -from .SynchronousMachineModelKind import SynchronousMachineModelKind -from .SynchronousMachineOperatingMode import SynchronousMachineOperatingMode -from .SynchronousMachineSimplified import SynchronousMachineSimplified -from .SynchronousMachineTimeConstantReactance import SynchronousMachineTimeConstantReactance -from .SynchronousMachineUserDefined import SynchronousMachineUserDefined -from .TapChanger import TapChanger -from .TapChangerControl import TapChangerControl -from .TapChangerTablePoint import TapChangerTablePoint -from .TapSchedule import TapSchedule -from .Temperature import Temperature -from .Terminal import Terminal -from .TextDiagramObject import TextDiagramObject -from .ThermalGeneratingUnit import ThermalGeneratingUnit -from .TieFlow import TieFlow -from .TopologicalIsland import TopologicalIsland -from .TopologicalNode import TopologicalNode -from .TownDetail import TownDetail -from .TransformerEnd import TransformerEnd -from .TurbLCFB1 import TurbLCFB1 -from .TurbineGovernorDynamics import TurbineGovernorDynamics -from .TurbineGovernorUserDefined import TurbineGovernorUserDefined -from .TurbineLoadControllerDynamics import TurbineLoadControllerDynamics -from .TurbineLoadControllerUserDefined import TurbineLoadControllerUserDefined -from .UnderexcLim2Simplified import UnderexcLim2Simplified -from .UnderexcLimIEEE1 import UnderexcLimIEEE1 -from .UnderexcLimIEEE2 import UnderexcLimIEEE2 -from .UnderexcLimX1 import UnderexcLimX1 -from .UnderexcLimX2 import UnderexcLimX2 -from .UnderexcitationLimiterDynamics import UnderexcitationLimiterDynamics -from .UnderexcitationLimiterUserDefined import UnderexcitationLimiterUserDefined -from .UnitMultiplier import UnitMultiplier -from .UnitSymbol import UnitSymbol -from .VAdjIEEE import VAdjIEEE -from .VCompIEEEType1 import VCompIEEEType1 -from .VCompIEEEType2 import VCompIEEEType2 -from .VSCDynamics import VSCDynamics -from .VSCUserDefined import VSCUserDefined -from .Validity import Validity -from .ValueAliasSet import ValueAliasSet -from .ValueToAlias import ValueToAlias -from .VisibilityLayer import VisibilityLayer -from .Voltage import Voltage -from .VoltageAdjusterDynamics import VoltageAdjusterDynamics -from .VoltageAdjusterUserDefined import VoltageAdjusterUserDefined -from .VoltageCompensatorDynamics import VoltageCompensatorDynamics -from .VoltageCompensatorUserDefined import VoltageCompensatorUserDefined -from .VoltageLevel import VoltageLevel -from .VoltageLimit import VoltageLimit -from .VoltagePerReactivePower import VoltagePerReactivePower -from .VolumeFlowRate import VolumeFlowRate -from .VsCapabilityCurve import VsCapabilityCurve -from .VsConverter import VsConverter -from .VsPpccControlKind import VsPpccControlKind -from .VsQpccControlKind import VsQpccControlKind -from .WaveTrap import WaveTrap -from .WindAeroConstIEC import WindAeroConstIEC -from .WindAeroOneDimIEC import WindAeroOneDimIEC -from .WindAeroTwoDimIEC import WindAeroTwoDimIEC -from .WindContCurrLimIEC import WindContCurrLimIEC -from .WindContPType3IEC import WindContPType3IEC -from .WindContPType4aIEC import WindContPType4aIEC -from .WindContPType4bIEC import WindContPType4bIEC -from .WindContPitchAngleIEC import WindContPitchAngleIEC -from .WindContQIEC import WindContQIEC -from .WindContQLimIEC import WindContQLimIEC -from .WindContQPQULimIEC import WindContQPQULimIEC -from .WindContRotorRIEC import WindContRotorRIEC -from .WindDynamicsLookupTable import WindDynamicsLookupTable -from .WindGenTurbineType1aIEC import WindGenTurbineType1aIEC -from .WindGenTurbineType1bIEC import WindGenTurbineType1bIEC -from .WindGenTurbineType2IEC import WindGenTurbineType2IEC -from .WindGenType3IEC import WindGenType3IEC -from .WindGenType3aIEC import WindGenType3aIEC -from .WindGenType3bIEC import WindGenType3bIEC -from .WindGenType4IEC import WindGenType4IEC -from .WindGenUnitKind import WindGenUnitKind -from .WindGeneratingUnit import WindGeneratingUnit -from .WindLookupTableFunctionKind import WindLookupTableFunctionKind -from .WindMechIEC import WindMechIEC -from .WindPitchContPowerIEC import WindPitchContPowerIEC -from .WindPlantDynamics import WindPlantDynamics -from .WindPlantFreqPcontrolIEC import WindPlantFreqPcontrolIEC -from .WindPlantIEC import WindPlantIEC -from .WindPlantQcontrolModeKind import WindPlantQcontrolModeKind -from .WindPlantReactiveControlIEC import WindPlantReactiveControlIEC -from .WindPlantUserDefined import WindPlantUserDefined -from .WindPowerPlant import WindPowerPlant -from .WindProtectionIEC import WindProtectionIEC -from .WindQcontrolModeKind import WindQcontrolModeKind -from .WindRefFrameRotIEC import WindRefFrameRotIEC -from .WindTurbineType1or2Dynamics import WindTurbineType1or2Dynamics -from .WindTurbineType1or2IEC import WindTurbineType1or2IEC -from .WindTurbineType3IEC import WindTurbineType3IEC -from .WindTurbineType3or4Dynamics import WindTurbineType3or4Dynamics -from .WindTurbineType3or4IEC import WindTurbineType3or4IEC -from .WindTurbineType4IEC import WindTurbineType4IEC -from .WindTurbineType4aIEC import WindTurbineType4aIEC -from .WindTurbineType4bIEC import WindTurbineType4bIEC -from .WindType1or2UserDefined import WindType1or2UserDefined -from .WindType3or4UserDefined import WindType3or4UserDefined -from .WindUVRTQcontrolModeKind import WindUVRTQcontrolModeKind -from .WindingConnection import WindingConnection -from .WorkLocation import WorkLocation - CGMES_VERSION = "3.0.0" -# This is not needed per se, but by referencing all imports -# this prevents a potential autoflake from cleaning up the whole file. -# FYA, if __all__ is present, only what's in there will be import with a import * -__all__ = [ - "ACDCConverter", - "ACDCConverterDCTerminal", - "ACDCTerminal", - "ACLineSegment", - "Accumulator", - "AccumulatorLimit", - "AccumulatorLimitSet", - "AccumulatorReset", - "AccumulatorValue", - "ActivePower", - "ActivePowerLimit", - "ActivePowerPerCurrentFlow", - "ActivePowerPerFrequency", - "Analog", - "AnalogControl", - "AnalogLimit", - "AnalogLimitSet", - "AnalogValue", - "AngleDegrees", - "AngleRadians", - "ApparentPower", - "ApparentPowerLimit", - "Area", - "AsynchronousMachine", - "AsynchronousMachineDynamics", - "AsynchronousMachineEquivalentCircuit", - "AsynchronousMachineKind", - "AsynchronousMachineTimeConstantReactance", - "AsynchronousMachineUserDefined", - "AuxiliaryEquipment", - "Base", - "BaseVoltage", - "BasicIntervalSchedule", - "BatteryStateKind", - "BatteryUnit", - "Bay", - "Boolean", - "BoundaryPoint", - "Breaker", - "BusNameMarker", - "BusbarSection", - "CAESPlant", - "CSCDynamics", - "CSCUserDefined", - "Capacitance", - "Clamp", - "CogenerationPlant", - "CombinedCyclePlant", - "Command", - "Conductance", - "ConductingEquipment", - "Conductor", - "ConformLoad", - "ConformLoadGroup", - "ConformLoadSchedule", - "ConnectivityNode", - "ConnectivityNodeContainer", - "Connector", - "Control", - "ControlArea", - "ControlAreaGeneratingUnit", - "ControlAreaTypeKind", - "CoordinateSystem", - "CrossCompoundTurbineGovernorDynamics", - "CsConverter", - "CsOperatingModeKind", - "CsPpccControlKind", - "Currency", - "CurrentFlow", - "CurrentLimit", - "CurrentTransformer", - "Curve", - "CurveData", - "CurveStyle", - "Cut", - "DCBaseTerminal", - "DCBreaker", - "DCBusbar", - "DCChopper", - "DCConductingEquipment", - "DCConverterOperatingModeKind", - "DCConverterUnit", - "DCDisconnector", - "DCEquipmentContainer", - "DCGround", - "DCLine", - "DCLineSegment", - "DCNode", - "DCPolarityKind", - "DCSeriesDevice", - "DCShunt", - "DCSwitch", - "DCTerminal", - "DCTopologicalIsland", - "DCTopologicalNode", - "Date", - "DateTime", - "DayType", - "Decimal", - "Diagram", - "DiagramObject", - "DiagramObjectGluePoint", - "DiagramObjectPoint", - "DiagramObjectStyle", - "DiagramStyle", - "DiscExcContIEEEDEC1A", - "DiscExcContIEEEDEC2A", - "DiscExcContIEEEDEC3A", - "DisconnectingCircuitBreaker", - "Disconnector", - "DiscontinuousExcitationControlDynamics", - "DiscontinuousExcitationControlUserDefined", - "Discrete", - "DiscreteValue", - "DroopSignalFeedbackKind", - "DynamicsFunctionBlock", - "EarthFaultCompensator", - "EnergyArea", - "EnergyConnection", - "EnergyConsumer", - "EnergySchedulingType", - "EnergySource", - "Equipment", - "EquipmentContainer", - "EquivalentBranch", - "EquivalentEquipment", - "EquivalentInjection", - "EquivalentNetwork", - "EquivalentShunt", - "ExcAC1A", - "ExcAC2A", - "ExcAC3A", - "ExcAC4A", - "ExcAC5A", - "ExcAC6A", - "ExcAC8B", - "ExcANS", - "ExcAVR1", - "ExcAVR2", - "ExcAVR3", - "ExcAVR4", - "ExcAVR5", - "ExcAVR7", - "ExcBBC", - "ExcCZ", - "ExcDC1A", - "ExcDC2A", - "ExcDC3A", - "ExcDC3A1", - "ExcELIN1", - "ExcELIN2", - "ExcHU", - "ExcIEEEAC1A", - "ExcIEEEAC2A", - "ExcIEEEAC3A", - "ExcIEEEAC4A", - "ExcIEEEAC5A", - "ExcIEEEAC6A", - "ExcIEEEAC7B", - "ExcIEEEAC8B", - "ExcIEEEDC1A", - "ExcIEEEDC2A", - "ExcIEEEDC3A", - "ExcIEEEDC4B", - "ExcIEEEST1A", - "ExcIEEEST1AUELselectorKind", - "ExcIEEEST2A", - "ExcIEEEST3A", - "ExcIEEEST4B", - "ExcIEEEST5B", - "ExcIEEEST6B", - "ExcIEEEST7B", - "ExcNI", - "ExcOEX3T", - "ExcPIC", - "ExcREXS", - "ExcREXSFeedbackSignalKind", - "ExcRQB", - "ExcSCRX", - "ExcSEXS", - "ExcSK", - "ExcST1A", - "ExcST2A", - "ExcST3A", - "ExcST4B", - "ExcST6B", - "ExcST6BOELselectorKind", - "ExcST7B", - "ExcST7BOELselectorKind", - "ExcST7BUELselectorKind", - "ExcitationSystemDynamics", - "ExcitationSystemUserDefined", - "ExternalNetworkInjection", - "FaultIndicator", - "Float", - "FossilFuel", - "FrancisGovernorControlKind", - "Frequency", - "FuelType", - "Fuse", - "GenICompensationForGenJ", - "GeneratingUnit", - "GeneratorControlSource", - "GenericNonLinearLoadModelKind", - "GeographicalRegion", - "GovCT1", - "GovCT2", - "GovGAST", - "GovGAST1", - "GovGAST2", - "GovGAST3", - "GovGAST4", - "GovGASTWD", - "GovHydro1", - "GovHydro2", - "GovHydro3", - "GovHydro4", - "GovHydro4ModelKind", - "GovHydroDD", - "GovHydroFrancis", - "GovHydroIEEE0", - "GovHydroIEEE2", - "GovHydroPID", - "GovHydroPID2", - "GovHydroPelton", - "GovHydroR", - "GovHydroWEH", - "GovHydroWPID", - "GovSteam0", - "GovSteam1", - "GovSteam2", - "GovSteamBB", - "GovSteamCC", - "GovSteamEU", - "GovSteamFV2", - "GovSteamFV3", - "GovSteamFV4", - "GovSteamIEEE1", - "GovSteamSGO", - "GrossToNetActivePowerCurve", - "Ground", - "GroundDisconnector", - "GroundingImpedance", - "HVDCDynamics", - "HydroEnergyConversionKind", - "HydroGeneratingUnit", - "HydroPlantStorageKind", - "HydroPowerPlant", - "HydroPump", - "HydroTurbineKind", - "IOPoint", - "IdentifiedObject", - "IfdBaseKind", - "Inductance", - "InputSignalKind", - "Integer", - "Jumper", - "Junction", - "Length", - "Limit", - "LimitKind", - "LimitSet", - "Line", - "LinearShuntCompensator", - "LoadAggregate", - "LoadArea", - "LoadBreakSwitch", - "LoadComposite", - "LoadDynamics", - "LoadGenericNonLinear", - "LoadGroup", - "LoadMotor", - "LoadResponseCharacteristic", - "LoadStatic", - "LoadUserDefined", - "Location", - "Measurement", - "MeasurementValue", - "MeasurementValueQuality", - "MeasurementValueSource", - "MechLoad1", - "MechanicalLoadDynamics", - "MechanicalLoadUserDefined", - "Money", - "MonthDay", - "MutualCoupling", - "NonConformLoad", - "NonConformLoadGroup", - "NonConformLoadSchedule", - "NonlinearShuntCompensator", - "NonlinearShuntCompensatorPoint", - "NuclearGeneratingUnit", - "OperationalLimit", - "OperationalLimitDirectionKind", - "OperationalLimitSet", - "OperationalLimitType", - "OrientationKind", - "OverexcLim2", - "OverexcLimIEEE", - "OverexcLimX1", - "OverexcLimX2", - "OverexcitationLimiterDynamics", - "OverexcitationLimiterUserDefined", - "PFVArControllerType1Dynamics", - "PFVArControllerType1UserDefined", - "PFVArControllerType2Dynamics", - "PFVArControllerType2UserDefined", - "PFVArType1IEEEPFController", - "PFVArType1IEEEVArController", - "PFVArType2Common1", - "PFVArType2IEEEPFController", - "PFVArType2IEEEVArController", - "PU", - "PerCent", - "PetersenCoil", - "PetersenCoilModeKind", - "PhaseCode", - "PhaseTapChanger", - "PhaseTapChangerAsymmetrical", - "PhaseTapChangerLinear", - "PhaseTapChangerNonLinear", - "PhaseTapChangerSymmetrical", - "PhaseTapChangerTable", - "PhaseTapChangerTablePoint", - "PhaseTapChangerTabular", - "PhotoVoltaicUnit", - "PositionPoint", - "PostLineSensor", - "PotentialTransformer", - "PowerElectronicsConnection", - "PowerElectronicsUnit", - "PowerElectronicsWindUnit", - "PowerSystemResource", - "PowerSystemStabilizerDynamics", - "PowerSystemStabilizerUserDefined", - "PowerTransformer", - "PowerTransformerEnd", - "ProprietaryParameterDynamics", - "ProtectedSwitch", - "Pss1", - "Pss1A", - "Pss2B", - "Pss2ST", - "Pss5", - "PssELIN2", - "PssIEEE1A", - "PssIEEE2B", - "PssIEEE3B", - "PssIEEE4B", - "PssPTIST1", - "PssPTIST3", - "PssRQB", - "PssSB4", - "PssSH", - "PssSK", - "PssSTAB2A", - "PssWECC", - "Quality61850", - "RaiseLowerCommand", - "RatioTapChanger", - "RatioTapChangerTable", - "RatioTapChangerTablePoint", - "Reactance", - "ReactiveCapabilityCurve", - "ReactivePower", - "RealEnergy", - "RegularIntervalSchedule", - "RegularTimePoint", - "RegulatingCondEq", - "RegulatingControl", - "RegulatingControlModeKind", - "RegulationSchedule", - "RemoteInputSignal", - "RemoteSignalKind", - "ReportingGroup", - "Resistance", - "RotatingMachine", - "RotatingMachineDynamics", - "RotationSpeed", - "RotorKind", - "SVCControlMode", - "SVCUserDefined", - "Season", - "SeasonDayTypeSchedule", - "Seconds", - "Sensor", - "SeriesCompensator", - "ServiceLocation", - "SetPoint", - "ShortCircuitRotorKind", - "ShuntCompensator", - "SolarGeneratingUnit", - "SolarPowerPlant", - "Source", - "StaticLoadModelKind", - "StaticVarCompensator", - "StaticVarCompensatorDynamics", - "StationSupply", - "Status", - "StreetAddress", - "StreetDetail", - "StringMeasurement", - "StringMeasurementValue", - "SubGeographicalRegion", - "SubLoadArea", - "Substation", - "SurgeArrester", - "Susceptance", - "SvInjection", - "SvPowerFlow", - "SvShuntCompensatorSections", - "SvStatus", - "SvSwitch", - "SvTapStep", - "SvVoltage", - "Switch", - "SwitchSchedule", - "SynchronousMachine", - "SynchronousMachineDetailed", - "SynchronousMachineDynamics", - "SynchronousMachineEquivalentCircuit", - "SynchronousMachineKind", - "SynchronousMachineModelKind", - "SynchronousMachineOperatingMode", - "SynchronousMachineSimplified", - "SynchronousMachineTimeConstantReactance", - "SynchronousMachineUserDefined", - "TapChanger", - "TapChangerControl", - "TapChangerTablePoint", - "TapSchedule", - "Temperature", - "Terminal", - "TextDiagramObject", - "ThermalGeneratingUnit", - "TieFlow", - "TopologicalIsland", - "TopologicalNode", - "TownDetail", - "TransformerEnd", - "TurbLCFB1", - "TurbineGovernorDynamics", - "TurbineGovernorUserDefined", - "TurbineLoadControllerDynamics", - "TurbineLoadControllerUserDefined", - "UnderexcLim2Simplified", - "UnderexcLimIEEE1", - "UnderexcLimIEEE2", - "UnderexcLimX1", - "UnderexcLimX2", - "UnderexcitationLimiterDynamics", - "UnderexcitationLimiterUserDefined", - "UnitMultiplier", - "UnitSymbol", - "VAdjIEEE", - "VCompIEEEType1", - "VCompIEEEType2", - "VSCDynamics", - "VSCUserDefined", - "Validity", - "ValueAliasSet", - "ValueToAlias", - "VisibilityLayer", - "Voltage", - "VoltageAdjusterDynamics", - "VoltageAdjusterUserDefined", - "VoltageCompensatorDynamics", - "VoltageCompensatorUserDefined", - "VoltageLevel", - "VoltageLimit", - "VoltagePerReactivePower", - "VolumeFlowRate", - "VsCapabilityCurve", - "VsConverter", - "VsPpccControlKind", - "VsQpccControlKind", - "WaveTrap", - "WindAeroConstIEC", - "WindAeroOneDimIEC", - "WindAeroTwoDimIEC", - "WindContCurrLimIEC", - "WindContPType3IEC", - "WindContPType4aIEC", - "WindContPType4bIEC", - "WindContPitchAngleIEC", - "WindContQIEC", - "WindContQLimIEC", - "WindContQPQULimIEC", - "WindContRotorRIEC", - "WindDynamicsLookupTable", - "WindGenTurbineType1aIEC", - "WindGenTurbineType1bIEC", - "WindGenTurbineType2IEC", - "WindGenType3IEC", - "WindGenType3aIEC", - "WindGenType3bIEC", - "WindGenType4IEC", - "WindGenUnitKind", - "WindGeneratingUnit", - "WindLookupTableFunctionKind", - "WindMechIEC", - "WindPitchContPowerIEC", - "WindPlantDynamics", - "WindPlantFreqPcontrolIEC", - "WindPlantIEC", - "WindPlantQcontrolModeKind", - "WindPlantReactiveControlIEC", - "WindPlantUserDefined", - "WindPowerPlant", - "WindProtectionIEC", - "WindQcontrolModeKind", - "WindRefFrameRotIEC", - "WindTurbineType1or2Dynamics", - "WindTurbineType1or2IEC", - "WindTurbineType3IEC", - "WindTurbineType3or4Dynamics", - "WindTurbineType3or4IEC", - "WindTurbineType4IEC", - "WindTurbineType4aIEC", - "WindTurbineType4bIEC", - "WindType1or2UserDefined", - "WindType3or4UserDefined", - "WindUVRTQcontrolModeKind", - "WindingConnection", - "WorkLocation", - "CGMES_VERSION", -] diff --git a/pycgmes/utils/__init__.py b/pycgmes/utils/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pycgmes/resources/Base.py b/pycgmes/utils/base.py similarity index 61% rename from pycgmes/resources/Base.py rename to pycgmes/utils/base.py index 37c75ea5..569f6045 100644 --- a/pycgmes/resources/Base.py +++ b/pycgmes/utils/base.py @@ -2,108 +2,28 @@ # # SPDX-License-Identifier: Apache-2.0 -# We follow the CIM naming convention, not python. -# pylint: disable=invalid-name - -""" -Parent element of all CGMES elements -""" +# Drop in dataclass replacement, allowing easier json dump and validation in the future. import importlib from dataclasses import Field, fields -from enum import Enum -from functools import cache, cached_property +from functools import cached_property from typing import Any, TypeAlias, TypedDict -# Drop in dataclass replacement, allowing easier json dump and validation in the future. from pydantic.dataclasses import dataclass +from pycgmes.utils.constants import NAMESPACES -class Profile(Enum): - """ - Enum containing all CGMES profiles and their export priority. - todo: enums are ordered, so we can have a short->long enum without explicit prio - """ - - EQ = 0 - SSH = 1 - TP = 2 - SV = 3 - DY = 4 - OP = 5 - SC = 6 - GL = 7 - # DI = 8 # Initially mentioned but does not seem used? - DL = 9 - TPBD = 10 - EQBD = 11 - - @cached_property - def long_name(self): - """From the short name, return the long name of the profile.""" - return self._short_to_long()[self.name] - - @classmethod - def from_long_name(cls, long_name): - """From the long name, return the short name of the profile.""" - return cls[cls._long_to_short()[long_name]] - - @classmethod - @cache - def _short_to_long(cls) -> dict[str, str]: - """Returns the long name from a short name""" - return { - "DL": "DiagramLayout", - # "DI": "DiagramLayout", - "DY": "Dynamics", - "EQ": "Equipment", - "EQBD": "EquipmentBoundary", # Not too sure about that one - "GL": "GeographicalLocation", - "OP": "Operation", - "SC": "ShortCircuit", - "SV": "StateVariables", - "SSH": "SteadyStateHypothesis", - "TP": "Topology", - "TPBD": "TopologyBoundary", # Not too sure about that one - } - - @classmethod - @cache - def _long_to_short(cls) -> dict[str, str]: - """Returns the short name from a long name""" - return {_long: _short for _short, _long in cls._short_to_long().items()} - - -class DataclassConfig: # pylint: disable=too-few-public-methods - """ - Used to configure pydantic dataclasses. - - See doc at - https://docs.pydantic.dev/latest/usage/model_config/#options - """ - - # By default, with pydantic extra arguments given to a dataclass are silently ignored. - # This matches the default behaviour by failing noisily. - extra = "forbid" - - -# Default namespaces used by CGMES. -NAMESPACES = { - "cim": "http://iec.ch/TC57/2013/CIM-schema-cim16#", - "entsoe": "http://entsoe.eu/CIM/SchemaExtension/3/1#", - "md": "http://iec.ch/TC57/61970-552/ModelDescription/1#", - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "xsd": "http://www.w3.org/2001/XMLSchema#", -} +from .dataclassconfig import DataclassConfig +from .profile import BaseProfile @dataclass(config=DataclassConfig) class Base: """ - Base Class for CIM. + Base Class for pylint . """ @cached_property - def possible_profiles(self) -> set[Profile]: + def possible_profiles(self) -> set[BaseProfile]: raise NotImplementedError("Method not implemented because not relevant in Base.") @staticmethod @@ -129,7 +49,7 @@ def to_dict(self) -> dict[str, "CgmesAttributeTypes"]: """ attrs = {f.name: getattr(self, f.name) for f in fields(self)} - attrs["__class__"] = self.resource_name + attrs["__class__"] = self.apparent_name() return attrs @cached_property @@ -137,6 +57,13 @@ def resource_name(self) -> str: """Returns the resource type.""" return self.__class__.__name__ + @cached_property + def namespace(self) -> str: + """Returns the namespace. By default, the namespace is the cim namespace for all resources. + Custom resources can override this. + """ + return NAMESPACES["cim"] + @classmethod # From python 3.11, you cannot wrap @classmethod in @property anymore. def apparent_name(cls) -> str: """ @@ -146,7 +73,7 @@ def apparent_name(cls) -> str: """ return cls.__name__ - def cgmes_attribute_names_in_profile(self, profile: Profile | None) -> set[Field]: + def cgmes_attribute_names_in_profile(self, profile: BaseProfile | None) -> set[Field]: """ Returns all fields accross the parent tree which are in the profile in parameter. @@ -171,7 +98,7 @@ def cgmes_attribute_names_in_profile(self, profile: Profile | None) -> set[Field if f.name != "mRID" } - def cgmes_attributes_in_profile(self, profile: Profile | None) -> dict[str, "CgmesAttribute"]: + def cgmes_attributes_in_profile(self, profile: BaseProfile | None) -> dict[str, "CgmesAttribute"]: """ Returns all attribute values as a dict: fully qualified name => CgmesAttribute. Fully qualified names is in the form class_name.attribute_name, where class_name is the @@ -195,12 +122,25 @@ def cgmes_attributes_in_profile(self, profile: Profile | None) -> dict[str, "Cgm # Wrong profile or already found from a parent. continue else: + # Namespace finding + # "class namespace" means the first namespace defined in the inheritance tree. + # This can go up to Base, which will give the default cim NS. + if (extra := getattr(f.default, "extra", None)) is None: + # The attribute does not have extra metadata. It might be a custom atttribute + # without it, or a base type (int...). + # Use the class namespace. + namespace = self.namespace + elif (attr_ns := extra.get("namespace", None)) is None: + # The attribute has some extras, but not namespace. + # Use the class namespace. + namespace = self.namespace + else: + # The attribute has an explicit namesapce + namespace = attr_ns + qual_attrs[qualname] = CgmesAttribute( value=getattr(self, shortname), - # base types (e.g. int) do not have extras - namespace=extra.get("namespace", None) - if (extra := getattr(f.default, "extra", None)) - else None, + namespace=namespace, ) seen_attrs.add(shortname) @@ -208,7 +148,7 @@ def cgmes_attributes_in_profile(self, profile: Profile | None) -> dict[str, "Cgm def __str__(self) -> str: """Returns the string representation of this resource.""" - return "\n".join([f"{k}={v}" for k, v in self.to_dict().items()]) + return "\n".join([f"{k}={v}" for k, v in sorted(self.to_dict().items())]) CgmesAttributeTypes: TypeAlias = str | int | float | Base | list | None diff --git a/pycgmes/utils/constants.py b/pycgmes/utils/constants.py new file mode 100644 index 00000000..7bdb2b30 --- /dev/null +++ b/pycgmes/utils/constants.py @@ -0,0 +1,12 @@ +# SPDX-FileCopyrightText: 2023 Alliander +# +# SPDX-License-Identifier: Apache-2.0 + +# Default namespaces used by CGMES. +NAMESPACES = { + "cim": "http://iec.ch/TC57/CIM100#", + "entsoe": "http://entsoe.eu/CIM/SchemaExtension/3/1#", + "md": "http://iec.ch/TC57/61970-552/ModelDescription/1#", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "xsd": "http://www.w3.org/2001/XMLSchema#", +} diff --git a/pycgmes/utils/dataclassconfig.py b/pycgmes/utils/dataclassconfig.py new file mode 100644 index 00000000..d2b16562 --- /dev/null +++ b/pycgmes/utils/dataclassconfig.py @@ -0,0 +1,16 @@ +# SPDX-FileCopyrightText: 2023 Alliander +# +# SPDX-License-Identifier: Apache-2.0 + + +class DataclassConfig: # pylint: disable=too-few-public-methods + """ + Used to configure pydantic dataclasses. + + See doc at + https://docs.pydantic.dev/latest/usage/model_config/#options + """ + + # By default, with pydantic extra arguments given to a dataclass are silently ignored. + # This matches the default behaviour by failing noisily. + extra = "forbid" diff --git a/pycgmes/utils/profile.py b/pycgmes/utils/profile.py new file mode 100644 index 00000000..1e569fc4 --- /dev/null +++ b/pycgmes/utils/profile.py @@ -0,0 +1,40 @@ +# SPDX-FileCopyrightText: 2023 Alliander +# +# SPDX-License-Identifier: Apache-2.0 + +from enum import Enum +from functools import cached_property + + +class BaseProfile(str, Enum): + """ + Profile parent. Use it if you need your own profiles. + + All pycgmes objects requiring a Profile are actually asking for a `BaseProfile`. As + Enum with fields cannot be inherited or composed, just create your own CustomProfile without + trying to extend Profile. It will work. + """ + + @cached_property + def long_name(self) -> str: + """Return the long name of the profile.""" + return self.value + + +class Profile(BaseProfile): + """ + Enum containing all CGMES profiles and their export priority. + """ + + # DI= "DiagramLayout" # Not too sure about that one + DL = "DiagramLayout" + DY = "Dynamics" + EQ = "Equipment" + EQBD = "EquipmentBoundary" # Not too sure about that one + GL = "GeographicalLocation" + OP = "Operation" + SC = "ShortCircuit" + SSH = "SteadyStateHypothesis" + SV = "StateVariables" + TP = "Topology" + TPBD = "TopologyBoundary" # Not too sure about that one diff --git a/pyproject.toml b/pyproject.toml index 4b9a5a1c..82c9d00d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ [tool.poetry] name = "pycgmes" -version = "1.0.2" +version = "1.1.0" description = "Python dataclasses for CGMES 3.0.0" authors = ["pycgmes "] readme = "README.md" diff --git a/shacl/build.md b/shacl/build.md index 9992885a..52c73a77 100644 --- a/shacl/build.md +++ b/shacl/build.md @@ -13,11 +13,11 @@ The main `pycgmes` package does not have the SHACL files. # Actual Shacl files -They are in the [main tree](../pycgmes/shacl/). +They are in the [main tree](../pycgmes/shacl). # Build -To be able to build multiple pacakges based om the same source, things need to be a bit different, because: +To be able to build multiple packages based on the same source, things need to be a bit different, because: - poetry does not allow another name for `pyproject.toml` - you cannot by default include files outside the directory of the `pyproject.toml` diff --git a/shacl/pyproject.toml b/shacl/pyproject.toml index 68869525..89644f4d 100644 --- a/shacl/pyproject.toml +++ b/shacl/pyproject.toml @@ -5,7 +5,7 @@ [tool.poetry] name = "pycgmes-shacl" version = "1.0.1" -description = "Python dataclasses for CGMES 3.0.0" +description = "SHACL validation files for PyCGMES" authors = ["pycgmes "] readme = "Readme.md" repository = "https://github.com/alliander-opensource/pycgmes" diff --git a/tests/test_bay.py b/tests/test_bay.py index 85fb5a83..53529c34 100644 --- a/tests/test_bay.py +++ b/tests/test_bay.py @@ -2,22 +2,20 @@ # # SPDX-License-Identifier: Apache-2.0 -# Checking only one well known class. +# Checking only one well known class, for its callable module shortcut. # As they are generated, if one is correct, the others should be as well. import textwrap import pytest from pydantic import ValidationError -from pycgmes.resources import ( - Base, - Bay, - ConnectivityNodeContainer, - EquipmentContainer, - IdentifiedObject, - PowerSystemResource, -) -from pycgmes.resources.Base import Profile +from pycgmes.resources.Bay import Bay +from pycgmes.resources.ConnectivityNodeContainer import ConnectivityNodeContainer +from pycgmes.resources.EquipmentContainer import EquipmentContainer +from pycgmes.resources.IdentifiedObject import IdentifiedObject +from pycgmes.resources.PowerSystemResource import PowerSystemResource +from pycgmes.utils.base import Base +from pycgmes.utils.profile import Profile class TestBay: @@ -29,7 +27,7 @@ def test_bay_has_mrid(self): assert getattr(b, "mRID") is not None def test_bay_has_expected_parents(self): - parents = Bay.__mro__[0:6] # after that there's object. + parents = Bay.__mro__[0:6] expected = ( # mro returns a tuple Bay, EquipmentContainer, @@ -43,13 +41,13 @@ def test_bay_has_expected_parents(self): def test_bay_has_expected_str(self): expected = textwrap.dedent( """ + VoltageLevel=None + __class__=Bay description= energyIdentCodeEic= mRID= name= shortName= - VoltageLevel=None - __class__=Bay """ )[ 1:-1 # The first and last characters are newlines, which are not in str() diff --git a/tests/test_custom_attrs.py b/tests/test_custom_attrs.py index 185fed82..84d85873 100644 --- a/tests/test_custom_attrs.py +++ b/tests/test_custom_attrs.py @@ -6,12 +6,16 @@ from pydantic import Field from pydantic.dataclasses import dataclass -from pycgmes.resources import ACLineSegment -from pycgmes.resources.Base import Base, DataclassConfig, Profile +from pycgmes.resources.Bay import Bay +from pycgmes.utils.base import Base +from pycgmes.utils.constants import NAMESPACES +from pycgmes.utils.dataclassconfig import DataclassConfig +from pycgmes.utils.profile import Profile @dataclass(config=DataclassConfig) -class CustomACLineSegment(ACLineSegment): +class CustomBay(Bay): + # Extends Bay. Has a lot of inherited fields. colour: str = Field( default="Red", in_profiles=[ @@ -22,11 +26,12 @@ class CustomACLineSegment(ACLineSegment): @classmethod def apparent_name(cls): - return "ACLineSegment" + return "Bay" @dataclass(config=DataclassConfig) class CustomBase(Base): + # Extends Base. Has no inherited fields. Says its Bay. colour: str = Field( default="Red", in_profiles=[ @@ -37,11 +42,12 @@ class CustomBase(Base): @classmethod def apparent_name(cls): - return "ACLineSegment" + return "Bay" @dataclass(config=DataclassConfig) class CustomButNotmuch(Base): + # Extends Base. No inherited fields. Not namespace defined anywhere. colour: str = Field( default="Red", in_profiles=[ @@ -53,16 +59,37 @@ class CustomButNotmuch(Base): # no apparent_name() +@dataclass(config=DataclassConfig) +class CustomNS(Base): + # Extends Base. No inherited fields. NS only defined at class level, but will be + # used by the attribute. + colour: str = Field( + default="Red", + in_profiles=[ + Profile.EQ, + ], + # no namespace + ) + + @property + def namespace(self): + return "cheesy namespace" + + # no apparent_name() + + class TestCustom: @pytest.mark.parametrize( - "klass, num_attrs, apparent, ns", + ("klass", "num_attrs", "apparent", "ns"), [ - (CustomACLineSegment, 20, "ACLineSegment", "custom"), - (CustomBase, 1, "ACLineSegment", "custom"), - (CustomButNotmuch, 1, "CustomButNotmuch", None), + (CustomBay, 6, "Bay", "custom"), + (CustomBase, 1, "Bay", "custom"), + (CustomButNotmuch, 1, "CustomButNotmuch", NAMESPACES["cim"]), + (CustomNS, 1, "CustomNS", "cheesy namespace"), ], ) def test_customisation(self, klass, num_attrs, apparent, ns): + # Test different variations of class with a 'colour' attribute. colour = "cheese" cust = klass(colour=colour) attrs = cust.cgmes_attributes_in_profile(None) diff --git a/tests/test_custom_profile.py b/tests/test_custom_profile.py new file mode 100644 index 00000000..0c8d99dd --- /dev/null +++ b/tests/test_custom_profile.py @@ -0,0 +1,63 @@ +# SPDX-FileCopyrightText: 2023 Alliander +# +# SPDX-License-Identifier: Apache-2.0 + +import pytest +from pydantic import Field +from pydantic.dataclasses import dataclass + +from pycgmes.resources.Bay import Bay +from pycgmes.utils.base import Base +from pycgmes.utils.dataclassconfig import DataclassConfig +from pycgmes.utils.profile import BaseProfile + + +class CustomProfile(BaseProfile): + CUS = "Tom" + FRO = "Mage" + + +@dataclass(config=DataclassConfig) +class CustomBayAttr(Bay): + colour: str = Field( + default="Red", + in_profiles=[ + CustomProfile.CUS, + ], + namespace="custom", + ) + + @classmethod + def apparent_name(cls): + return "Bay" + + +@dataclass(config=DataclassConfig) +class CustomBayClass(Bay): + @classmethod + def apparent_name(cls): + return "Cheese" + + def possible_profiles(self): + return {CustomProfile.CUS} + + +class TestCustom: + def test_custom_profile_in_attrs(self): + colour = "cheese" + apparent = "Bay" + cust = CustomBayAttr(colour=colour) + mine_attrs = cust.cgmes_attributes_in_profile(CustomProfile.CUS) + none_attrs = cust.cgmes_attributes_in_profile(CustomProfile.FRO) + all_attrs = cust.cgmes_attributes_in_profile(None) + assert len(mine_attrs) == 1 + assert len(all_attrs) == 6 + assert len(none_attrs) == 0 + + assert f"{apparent}.colour" in mine_attrs + assert mine_attrs[f"{apparent}.colour"]["value"] == colour + assert mine_attrs[f"{apparent}.colour"]["namespace"] == "custom" + + def test_custom_class(self): + cust = CustomBayClass() + assert cust.possible_profiles() == {CustomProfile.CUS} diff --git a/tests/test_json_dump.py b/tests/test_json_dump.py index 63c36a92..dcb99b60 100644 --- a/tests/test_json_dump.py +++ b/tests/test_json_dump.py @@ -4,22 +4,29 @@ import json -from pycgmes.resources import Base, VoltageLevel +from pycgmes.resources.Bay import Bay +from pycgmes.utils.base import Base + +descr = "A bay, but not at sea." class TestJsonification: def test_round_robin_json_class_json(self): - start = json.loads('{"__class__":"VoltageLevel", "lowVoltageLimit":32.0}') - complete = Base.parse_json_as(start).to_dict() + # initial_string= + initial_json = json.loads(f'{{"__class__":"Bay", "description":"{descr}"}}') + as_class = Base.parse_json_as(initial_json) + final_json = as_class.to_dict() - # Validates that the given parameters (start) is in the dict of final class, + # Validates that the given parameters (initial_json) is in the dict of final class, # ignoring the other defaults params. # items() is actuallly a set view, and sets can be compared with <=. This line - # thus means: make sure that start is a subset of complete. - assert start.items() <= complete.items() + # thus means: make sure that initial_json is a subset of final_json. + assert initial_json.items() <= final_json.items() def test_round_robin_class_json_class(self): - vl = VoltageLevel(lowVoltageLimit=32.0) - after_rr = Base.parse_json_as(vl.to_dict()) + initial_class = Bay(description=descr) + as_json = initial_class.to_dict() + final_class = Base.parse_json_as(as_json) - assert vl == after_rr + # Pydantic rewrites the == to check dataclasses element. + assert initial_class == final_class diff --git a/tests/test_load_all.py b/tests/test_load_all.py new file mode 100644 index 00000000..4bb1eae8 --- /dev/null +++ b/tests/test_load_all.py @@ -0,0 +1,25 @@ +# SPDX-FileCopyrightText: 2023 Alliander +# +# SPDX-License-Identifier: Apache-2.0 + +import importlib +from pathlib import Path +from typing import Iterator + +import pytest + + +def get_all_resources() -> Iterator[str]: + resource_dir = Path(__file__).parent.parent / "pycgmes" / "resources" + resources = [str(f.stem) for f in resource_dir.glob("*.py") if f.name != "__init__.py"] + return resources + + +class TestLoadAll: + # Importing all resources to make sure there is no syntax error. + + @pytest.mark.parametrize("resource", get_all_resources()) + def test_importing(self, resource): + mod = importlib.import_module(f".{resource}", package="pycgmes.resources") + # Calling possible profiles to have full coverage. + getattr(mod, resource)().possible_profiles