diff --git a/CHANGELOG.md b/CHANGELOG.md index cd4f2ab2863999774af6a751f378da00b81a83e7..2a0c7dd49f9b65865bf319593b73abdf1850c508 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Documentation ### +## [0.7.4] - 2022-05-31 +(Florian Spreckelsen) + +### Fixed ### + +* [#64](https://gitlab.com/caosdb/caosdb-pylib/-/issues/64) Use `Dict[]` and + `List[]` from `typing` for type hinting instead of `dict[]` and `list[]` for + compatibility with Python<3.9. + ## [0.7.3] - 2022-05-03 (Henrik tom Wörden) diff --git a/setup.py b/setup.py index 8d75a0c646d1c78448af7af62530376dfc0f443b..8bca21ab6d256efae6924e4570defba15f032ed2 100755 --- a/setup.py +++ b/setup.py @@ -48,7 +48,7 @@ from setuptools import find_packages, setup ISRELEASED = True MAJOR = 0 MINOR = 7 -MICRO = 3 +MICRO = 4 # Do not tag as pre-release until this commit # https://github.com/pypa/packaging/pull/515 # has made it into a release. Probably we should wait for pypa/packaging>=21.4 diff --git a/src/caosdb/apiutils.py b/src/caosdb/apiutils.py index a376068c372c1b6f460c7927467b8da8df328545..4c8393111bcbb4f9f91e309b81bebdcac55ba626 100644 --- a/src/caosdb/apiutils.py +++ b/src/caosdb/apiutils.py @@ -33,7 +33,7 @@ import warnings from collections.abc import Iterable from subprocess import call -from typing import Optional, Any +from typing import Optional, Any, Dict, List from caosdb.common.datatype import (BOOLEAN, DATETIME, DOUBLE, FILE, INTEGER, REFERENCE, TEXT, is_reference) @@ -205,8 +205,8 @@ def compare_entities(old_entity: Entity, new_entity: Entity): In case of changed information the value listed under the respective key shows the value that is stored in the respective entity. """ - olddiff: dict[str, Any] = {"properties": {}, "parents": []} - newdiff: dict[str, Any] = {"properties": {}, "parents": []} + olddiff: Dict[str, Any] = {"properties": {}, "parents": []} + newdiff: Dict[str, Any] = {"properties": {}, "parents": []} if old_entity is new_entity: return (olddiff, newdiff) @@ -467,7 +467,7 @@ def resolve_reference(prop: Property): prop.value = retrieve_entity_with_id(prop.value) -def create_flat_list(ent_list: list[Entity], flat: list[Entity]): +def create_flat_list(ent_list: List[Entity], flat: List[Entity]): """ Recursively adds all properties contained in entities from ent_list to the output list flat. Each element will only be added once to the list. @@ -483,8 +483,10 @@ def create_flat_list(ent_list: list[Entity], flat: list[Entity]): if isinstance(el, Entity): if el not in flat: flat.append(el) - create_flat_list([el], flat) # TODO: move inside if block? + # TODO: move inside if block? + create_flat_list([el], flat) elif isinstance(p.value, Entity): if p.value not in flat: flat.append(p.value) - create_flat_list([p.value], flat) # TODO: move inside if block? + # TODO: move inside if block? + create_flat_list([p.value], flat) diff --git a/src/caosdb/high_level_api.py b/src/caosdb/high_level_api.py index 0c936112993ccdbb5afdd91f3286880a16bdf431..427a095a4bafc0c372b0169298f2980dbd902c49 100644 --- a/src/caosdb/high_level_api.py +++ b/src/caosdb/high_level_api.py @@ -561,7 +561,7 @@ class CaosDBPythonEntity(object): return propval def resolve_references(self, deep: bool, references: db.Container, - visited: dict[Union[str, int], + visited: Dict[Union[str, int], "CaosDBPythonEntity"] = None): """ Resolve this entity's references. This affects unresolved properties as well @@ -692,7 +692,7 @@ class CaosDBPythonEntity(object): if self in visited: return visited[self] - metadata: dict[str, Any] = dict() + metadata: Dict[str, Any] = dict() properties = dict() parents = list() diff --git a/src/caosdb/utils/plantuml.py b/src/caosdb/utils/plantuml.py index 16bd81d9507b9ecd11870e18b1020d9f47b8f047..6252a48983c62e7a2f33113422205209d616b5b6 100644 --- a/src/caosdb/utils/plantuml.py +++ b/src/caosdb/utils/plantuml.py @@ -39,7 +39,7 @@ import shutil import caosdb as db from caosdb.common.datatype import is_reference, get_referenced_recordtype -from typing import Optional +from typing import List, Optional import tempfile @@ -341,9 +341,9 @@ def retrieve_substructure(start_record_types, depth, result_id_set=None, result_ return None -def to_graphics(recordtypes: list[db.Entity], filename: str, +def to_graphics(recordtypes: List[db.Entity], filename: str, output_dirname: Optional[str] = None, - formats: list[str] = ["tsvg"], + formats: List[str] = ["tsvg"], silent: bool = True, add_properties: bool = True, add_recordtypes: bool = True, @@ -367,7 +367,7 @@ def to_graphics(recordtypes: list[db.Entity], filename: str, the destination directory for the resulting images as defined by the "-o" option by plantuml default is to use current working dir - formats : list[str] + formats : List[str] list of target formats as defined by the -t"..." options by plantuml, e.g. "tsvg" silent : bool Don't output messages. diff --git a/src/doc/conf.py b/src/doc/conf.py index 9a0483597ea89680121576339f2d5b74f96797ee..8080c87b393c6684e92a98d14ac3d7a572a72cc4 100644 --- a/src/doc/conf.py +++ b/src/doc/conf.py @@ -29,10 +29,10 @@ copyright = '2022, IndiScale GmbH' author = 'Daniel Hornung' # The short X.Y version -version = '0.7.3' +version = '0.7.4' # The full version, including alpha/beta/rc tags # release = '0.5.2-rc2' -release = '0.7.3' +release = '0.7.4' # -- General configuration ---------------------------------------------------