From f490e6af26901d03842836fc28ded3bf65c3ace4 Mon Sep 17 00:00:00 2001 From: Alexander Goscinski Date: Fri, 27 Feb 2026 20:10:56 +0100 Subject: [PATCH 1/4] Add support for Python 3.14 in CI (#7240) --- .github/workflows/ci-code.yml | 14 +++++++------- .github/workflows/test-install.yml | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci-code.yml b/.github/workflows/ci-code.yml index e3f58f84b4..e8326c4dbb 100644 --- a/.github/workflows/ci-code.yml +++ b/.github/workflows/ci-code.yml @@ -26,7 +26,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.9', '3.13'] + python-version: ['3.9', '3.14'] database-backend: [psql] services: @@ -72,19 +72,19 @@ jobs: AIIDA_TEST_PROFILE: test_aiida AIIDA_WARN_v3: 1 run: | - pytest -n auto --db-backend ${{ matrix.database-backend }} -m 'not nightly' tests/ ${{ matrix.python-version == '3.13' && '--cov aiida' || '' }} + pytest -n auto --db-backend ${{ matrix.database-backend }} -m 'not nightly' tests/ ${{ matrix.python-version == '3.14' && '--cov aiida' || '' }} - name: Upload coverage report - if: matrix.python-version == 3.13 && github.repository == 'aiidateam/aiida-core' + if: matrix.python-version == 3.14 && github.repository == 'aiidateam/aiida-core' uses: codecov/codecov-action@v5 with: token: ${{ secrets.CODECOV_TOKEN }} - name: aiida-pytests-py3.13 + name: aiida-pytests-py3.14 files: ./coverage.xml fail_ci_if_error: false # don't fail job, if coverage upload fails - name: Upload coverage artifact - if: matrix.python-version == '3.13' + if: matrix.python-version == '3.14' uses: actions/upload-artifact@v6 with: name: coverage @@ -148,7 +148,7 @@ jobs: - name: Install aiida-core uses: ./.github/actions/install-aiida-core with: - python-version: '3.13' + python-version: '3.14' - name: Setup SSH on localhost run: .github/workflows/setup_ssh.sh @@ -170,7 +170,7 @@ jobs: - name: Install aiida-core uses: ./.github/actions/install-aiida-core with: - python-version: '3.13' + python-version: '3.14' from-lock: 'true' extras: '' diff --git a/.github/workflows/test-install.yml b/.github/workflows/test-install.yml index 098f589092..cba2a5ca47 100644 --- a/.github/workflows/test-install.yml +++ b/.github/workflows/test-install.yml @@ -111,7 +111,7 @@ jobs: fail-fast: false matrix: - python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] # Not being able to install with conda on a specific Python version is # not sufficient to fail the run, but something we want to be aware of. @@ -165,7 +165,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] services: postgres: From c8769748e7494deb488289f6b89f10cb122d9739 Mon Sep 17 00:00:00 2001 From: Alexander Goscinski Date: Sat, 28 Feb 2026 06:04:51 +0100 Subject: [PATCH 2/4] Bump asyncssh from ~=2.19.0 to ~=2.21.0 (#7240) asyncssh 2.19.0 uses a custom `Record` class (in `misc.py`) that breaks on Python 3.14. This causes `AttributeError` on any object built on `Record`, including `SFTPLimits` (missing `max_packet_len`) and `SSHCompletedProcess` (missing `exit_status`, `stdout`, etc.), effectively breaking all `core.ssh_async` transport operations. The fix (migrating from `Record` to Python dataclasses) landed in asyncssh 2.20.0, as tracked in ronf/asyncssh#732. We pin to ~=2.21.0 rather than ~=2.22.0 because asyncssh 2.22.0 dropped support for Python 3.9, which this project still supports. --- environment.yml | 2 +- pyproject.toml | 2 +- uv.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/environment.yml b/environment.yml index 11ab953543..d2f19a6afc 100644 --- a/environment.yml +++ b/environment.yml @@ -8,7 +8,7 @@ dependencies: - python~=3.9 - alembic~=1.8 - archive-path~=0.4.2 -- asyncssh~=2.19.0 +- asyncssh~=2.21.0 - circus~=0.19.0 - click-spinner~=0.1.8 - click<8.3,>=8.1.0 diff --git a/pyproject.toml b/pyproject.toml index 3b9b312d19..4b5abdb83b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,7 +31,7 @@ classifiers = [ dependencies = [ 'alembic~=1.8', 'archive-path~=0.4.2', - "asyncssh~=2.19.0", + "asyncssh~=2.21.0", 'circus~=0.19.0', 'click-spinner~=0.1.8', 'click>=8.1.0,<8.3', diff --git a/uv.lock b/uv.lock index 223a2b0adb..15c2ec62e8 100644 --- a/uv.lock +++ b/uv.lock @@ -209,7 +209,7 @@ requires-dist = [ { name = "alembic", specifier = "~=1.8" }, { name = "archive-path", specifier = "~=0.4.2" }, { name = "ase", marker = "extra == 'atomic-tools'", specifier = "~=3.21" }, - { name = "asyncssh", specifier = "~=2.19.0" }, + { name = "asyncssh", specifier = "~=2.21.0" }, { name = "bpython", marker = "extra == 'bpython'", specifier = "~=0.20" }, { name = "chardet", marker = "sys_platform == 'win32'", specifier = "~=5.2.0" }, { name = "circus", specifier = "~=0.19.0" }, @@ -588,15 +588,15 @@ wheels = [ [[package]] name = "asyncssh" -version = "2.19.0" +version = "2.21.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cryptography" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/75/85/c723aa7dd69570a31b6638c1405e659712f18f569f280da2da27989445d3/asyncssh-2.19.0.tar.gz", hash = "sha256:723dead4d068b558708dc66a4ca7e7a93a813aa9416036eccb9af4c03ae2cf30", size = 533702, upload-time = "2024-12-13T00:52:01.966Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6b/b8/065c20bb5c9b8991648c0f25b13e445b4f51556cc3fdd0ad13ce4787c156/asyncssh-2.21.1.tar.gz", hash = "sha256:9943802955e2131536c2b1e71aacc68f56973a399937ed0b725086d7461c990c", size = 540515, upload-time = "2025-09-28T16:36:19.468Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/95/8f/f0749af566fa39204f6380473e6f9632b804daeb0ecb24cc7de1fc9f2717/asyncssh-2.19.0-py3-none-any.whl", hash = "sha256:bb82ac30ff0cb4393fbaf1114e606ad7a4f13d6c4bdaed423c033ee26b455228", size = 372704, upload-time = "2024-12-13T00:51:58.555Z" }, + { url = "https://files.pythonhosted.org/packages/0e/89/4a9a61bc120ca68bce92b0ea176ddc0e550e58c60ab820603bd5246e7261/asyncssh-2.21.1-py3-none-any.whl", hash = "sha256:f218f9f303c78df6627d0646835e04039a156d15e174ad63c058d62de61e1968", size = 375529, upload-time = "2025-09-28T16:36:17.68Z" }, ] [[package]] From fac9607767bfecd3cd2559deb23042af86a5ba84 Mon Sep 17 00:00:00 2001 From: Alexander Goscinski Date: Sat, 28 Feb 2026 15:45:25 +0100 Subject: [PATCH 3/4] Pin orm field regression tests to only run for py3.14 (#7240) The orm/test_fields.py test relies on the inbuilt `repr` function of python to compare the orm fields. With python 3.14 the formatting of `repr` changes. To avoid maintaining two sets of referenece files with different formatting we change the reference files to the formatting of 3.14 and run the tests only for 3.14 and above. --- tests/orm/test_fields.py | 12 +++++ tests/orm/test_fields/fields_AuthInfo.yml | 2 +- tests/orm/test_fields/fields_Comment.yml | 8 ++-- tests/orm/test_fields/fields_Computer.yml | 2 +- tests/orm/test_fields/fields_Group.yml | 10 ++-- tests/orm/test_fields/fields_Log.yml | 2 +- tests/orm/test_fields/fields_User.yml | 2 +- ...fields_aiida.data.core.array.ArrayData.yml | 40 ++++++++-------- ..._aiida.data.core.array.bands.BandsData.yml | 43 +++++++++-------- ...da.data.core.array.kpoints.KpointsData.yml | 40 ++++++++-------- ...a.core.array.projection.ProjectionData.yml | 40 ++++++++-------- ...a.core.array.trajectory.TrajectoryData.yml | 42 ++++++++--------- ...fields_aiida.data.core.array.xy.XyData.yml | 40 ++++++++-------- .../fields_aiida.data.core.base.BaseType.yml | 38 +++++++-------- .../fields_aiida.data.core.bool.Bool.yml | 38 +++++++-------- .../fields_aiida.data.core.cif.CifData.yml | 46 +++++++++--------- .../fields_aiida.data.core.code.Code.yml | 47 +++++++++---------- ...a.data.core.code.abstract.AbstractCode.yml | 39 ++++++++------- ...e.code.containerized.ContainerizedCode.yml | 37 +++++++-------- ...data.core.code.installed.InstalledCode.yml | 37 +++++++-------- ...a.data.core.code.portable.PortableCode.yml | 39 ++++++++------- .../fields_aiida.data.core.dict.Dict.yml | 38 +++++++-------- .../fields_aiida.data.core.enum.EnumData.yml | 38 +++++++-------- .../fields_aiida.data.core.float.Float.yml | 38 +++++++-------- ...elds_aiida.data.core.folder.FolderData.yml | 38 +++++++-------- .../fields_aiida.data.core.int.Int.yml | 38 +++++++-------- ..._aiida.data.core.jsonable.JsonableData.yml | 38 +++++++-------- .../fields_aiida.data.core.list.List.yml | 38 +++++++-------- ...ds_aiida.data.core.numeric.NumericType.yml | 38 +++++++-------- ...ds_aiida.data.core.orbital.OrbitalData.yml | 38 +++++++-------- ...elds_aiida.data.core.remote.RemoteData.yml | 40 ++++++++-------- ...data.core.remote.stash.RemoteStashData.yml | 38 +++++++-------- ...ash.compress.RemoteStashCompressedData.yml | 38 +++++++-------- ...ote.stash.custom.RemoteStashCustomData.yml | 38 +++++++-------- ...ote.stash.folder.RemoteStashFolderData.yml | 38 +++++++-------- ...da.data.core.singlefile.SinglefileData.yml | 40 ++++++++-------- .../fields_aiida.data.core.str.Str.yml | 38 +++++++-------- ...iida.data.core.structure.StructureData.yml | 42 ++++++++--------- .../fields_aiida.data.core.upf.UpfData.yml | 40 ++++++++-------- 39 files changed, 652 insertions(+), 646 deletions(-) diff --git a/tests/orm/test_fields.py b/tests/orm/test_fields.py index f22fdc3c73..91252f984b 100644 --- a/tests/orm/test_fields.py +++ b/tests/orm/test_fields.py @@ -8,6 +8,8 @@ ########################################################################### """Test for entity fields""" +import sys + import pytest from importlib_metadata import entry_points @@ -18,7 +20,16 @@ EPS = entry_points() +# These regression tests compare ``repr()`` output of field objects against YAML reference +# files. Since ``repr()`` of ``typing`` generics is not stable across Python versions +# (e.g. Python 3.14 renders ``typing.Dict`` as ``dict`` and ``typing.Optional[X]`` as +# ``X | None``), the reference files are only valid for the Python version they were +# generated with. Rather than maintaining two sets of reference files, we skip on +# Python versions that don't match. +skip_below_py314 = pytest.mark.skipif(sys.version_info < (3, 14), reason='typing repr fixtures require Python >=3.14.0') + +@skip_below_py314 @pytest.mark.parametrize( 'entity_cls', (orm.AuthInfo, orm.Comment, orm.Computer, orm.Group, orm.Log, orm.User), @@ -40,6 +51,7 @@ def node_and_data_entry_points() -> list[tuple[str, str]]: return _eps +@skip_below_py314 def test_all_node_fields(node_and_data_entry_points: list[tuple[str, str]], data_regression): """Test that all the node fields are correctly registered.""" for group, name in node_and_data_entry_points: diff --git a/tests/orm/test_fields/fields_AuthInfo.yml b/tests/orm/test_fields/fields_AuthInfo.yml index 505c96da91..9806e5d815 100644 --- a/tests/orm/test_fields/fields_AuthInfo.yml +++ b/tests/orm/test_fields/fields_AuthInfo.yml @@ -2,5 +2,5 @@ auth_params: QbDictField('auth_params', dtype=typing.Dict[str, typing.Any], is_a computer: QbNumericField('computer', dtype=, is_attribute=False) enabled: QbField('enabled', dtype=, is_attribute=False) metadata: QbDictField('metadata', dtype=typing.Dict[str, typing.Any], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) user: QbNumericField('user', dtype=, is_attribute=False) diff --git a/tests/orm/test_fields/fields_Comment.yml b/tests/orm/test_fields/fields_Comment.yml index 30aedcef79..5c0075d9b9 100644 --- a/tests/orm/test_fields/fields_Comment.yml +++ b/tests/orm/test_fields/fields_Comment.yml @@ -1,7 +1,7 @@ content: QbStrField('content', dtype=, is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) node: QbNumericField('node', dtype=, is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) user: QbNumericField('user', dtype=, is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_Computer.yml b/tests/orm/test_fields/fields_Computer.yml index 7d4e37168b..90367d2a76 100644 --- a/tests/orm/test_fields/fields_Computer.yml +++ b/tests/orm/test_fields/fields_Computer.yml @@ -2,7 +2,7 @@ description: QbStrField('description', dtype=, is_attribute=False) hostname: QbStrField('hostname', dtype=, is_attribute=False) label: QbStrField('label', dtype=, is_attribute=False) metadata: QbDictField('metadata', dtype=typing.Dict[str, typing.Any], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) scheduler_type: QbStrField('scheduler_type', dtype=, is_attribute=False) transport_type: QbStrField('transport_type', dtype=, is_attribute=False) uuid: QbStrField('uuid', dtype=, is_attribute=False) diff --git a/tests/orm/test_fields/fields_Group.yml b/tests/orm/test_fields/fields_Group.yml index 537c76a11d..ec1c136ac5 100644 --- a/tests/orm/test_fields/fields_Group.yml +++ b/tests/orm/test_fields/fields_Group.yml @@ -1,9 +1,9 @@ -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) label: QbStrField('label', dtype=, is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -time: QbNumericField('time', dtype=typing.Optional[datetime.datetime], is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +time: QbNumericField('time', dtype=datetime.datetime | None, is_attribute=False) type_string: QbStrField('type_string', dtype=, is_attribute=False) user: QbNumericField('user', dtype=, is_attribute=False) uuid: QbStrField('uuid', dtype=, is_attribute=False) diff --git a/tests/orm/test_fields/fields_Log.yml b/tests/orm/test_fields/fields_Log.yml index 90bf0a5b0b..a911b85b57 100644 --- a/tests/orm/test_fields/fields_Log.yml +++ b/tests/orm/test_fields/fields_Log.yml @@ -3,6 +3,6 @@ levelname: QbStrField('levelname', dtype=, is_attribute=False) loggername: QbStrField('loggername', dtype=, is_attribute=False) message: QbStrField('message', dtype=, is_attribute=False) metadata: QbDictField('metadata', dtype=typing.Dict[str, typing.Any], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) time: QbNumericField('time', dtype=, is_attribute=False) uuid: QbStrField('uuid', dtype=, is_attribute=False) diff --git a/tests/orm/test_fields/fields_User.yml b/tests/orm/test_fields/fields_User.yml index 06fb9cd05c..fd05fbad85 100644 --- a/tests/orm/test_fields/fields_User.yml +++ b/tests/orm/test_fields/fields_User.yml @@ -2,4 +2,4 @@ email: QbStrField('email', dtype=, is_attribute=False) first_name: QbStrField('first_name', dtype=, is_attribute=False) institution: QbStrField('institution', dtype=, is_attribute=False) last_name: QbStrField('last_name', dtype=, is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.array.ArrayData.yml b/tests/orm/test_fields/fields_aiida.data.core.array.ArrayData.yml index c31304e6f5..a218efce3e 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.array.ArrayData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.array.ArrayData.yml @@ -1,20 +1,20 @@ -arrays: QbDictField('arrays', dtype=typing.Optional[dict[str, bytes]], is_attribute=True) -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +arrays: QbDictField('arrays', dtype=dict[str, bytes] | None, is_attribute=True) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.array.bands.BandsData.yml b/tests/orm/test_fields/fields_aiida.data.core.array.bands.BandsData.yml index f0bca48c81..a2e1c8b533 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.array.bands.BandsData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.array.bands.BandsData.yml @@ -1,31 +1,30 @@ -array_labels: QbArrayField('array_labels', dtype=typing.Optional[typing.List[str]], - is_attribute=True) -arrays: QbDictField('arrays', dtype=typing.Optional[dict[str, bytes]], is_attribute=True) -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) +array_labels: QbArrayField('array_labels', dtype=typing.List[str] | None, is_attribute=True) +arrays: QbDictField('arrays', dtype=dict[str, bytes] | None, is_attribute=True) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) cell: QbArrayField('cell', dtype=typing.List[typing.List[float]], is_attribute=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) label_numbers: QbArrayField('label_numbers', dtype=typing.List[int], is_attribute=True) labels: QbArrayField('labels', dtype=typing.List[str], is_attribute=True) mesh: QbArrayField('mesh', dtype=typing.List[int], is_attribute=True) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) offset: QbArrayField('offset', dtype=typing.List[float], is_attribute=True) pbc1: QbField('pbc1', dtype=, is_attribute=True) pbc2: QbField('pbc2', dtype=, is_attribute=True) pbc3: QbField('pbc3', dtype=, is_attribute=True) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) units: QbStrField('units', dtype=, is_attribute=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.array.kpoints.KpointsData.yml b/tests/orm/test_fields/fields_aiida.data.core.array.kpoints.KpointsData.yml index 6d0aaa2b6f..f8e1fcc327 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.array.kpoints.KpointsData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.array.kpoints.KpointsData.yml @@ -1,28 +1,28 @@ -arrays: QbDictField('arrays', dtype=typing.Optional[dict[str, bytes]], is_attribute=True) -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) +arrays: QbDictField('arrays', dtype=dict[str, bytes] | None, is_attribute=True) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) cell: QbArrayField('cell', dtype=typing.List[typing.List[float]], is_attribute=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) label_numbers: QbArrayField('label_numbers', dtype=typing.List[int], is_attribute=True) labels: QbArrayField('labels', dtype=typing.List[str], is_attribute=True) mesh: QbArrayField('mesh', dtype=typing.List[int], is_attribute=True) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) offset: QbArrayField('offset', dtype=typing.List[float], is_attribute=True) pbc1: QbField('pbc1', dtype=, is_attribute=True) pbc2: QbField('pbc2', dtype=, is_attribute=True) pbc3: QbField('pbc3', dtype=, is_attribute=True) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.array.projection.ProjectionData.yml b/tests/orm/test_fields/fields_aiida.data.core.array.projection.ProjectionData.yml index c31304e6f5..a218efce3e 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.array.projection.ProjectionData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.array.projection.ProjectionData.yml @@ -1,20 +1,20 @@ -arrays: QbDictField('arrays', dtype=typing.Optional[dict[str, bytes]], is_attribute=True) -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +arrays: QbDictField('arrays', dtype=dict[str, bytes] | None, is_attribute=True) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.array.trajectory.TrajectoryData.yml b/tests/orm/test_fields/fields_aiida.data.core.array.trajectory.TrajectoryData.yml index a4aad18120..fb2775296a 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.array.trajectory.TrajectoryData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.array.trajectory.TrajectoryData.yml @@ -1,24 +1,24 @@ -arrays: QbDictField('arrays', dtype=typing.Optional[dict[str, bytes]], is_attribute=True) -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pbc: QbField('pbc', dtype=typing.Optional[typing.Tuple[bool, bool, bool]], is_attribute=True) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) +arrays: QbDictField('arrays', dtype=dict[str, bytes] | None, is_attribute=True) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pbc: QbField('pbc', dtype=typing.Tuple[bool, bool, bool] | None, is_attribute=True) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) symbols: QbArrayField('symbols', dtype=typing.List[str], is_attribute=True) units_positions: QbStrField('units_positions', dtype=, is_attribute=True) units_times: QbStrField('units_times', dtype=, is_attribute=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.array.xy.XyData.yml b/tests/orm/test_fields/fields_aiida.data.core.array.xy.XyData.yml index c31304e6f5..a218efce3e 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.array.xy.XyData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.array.xy.XyData.yml @@ -1,20 +1,20 @@ -arrays: QbDictField('arrays', dtype=typing.Optional[dict[str, bytes]], is_attribute=True) -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +arrays: QbDictField('arrays', dtype=dict[str, bytes] | None, is_attribute=True) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.base.BaseType.yml b/tests/orm/test_fields/fields_aiida.data.core.base.BaseType.yml index 457621f596..ee4cb565f1 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.base.BaseType.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.base.BaseType.yml @@ -1,20 +1,20 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) value: QbField('value', dtype=typing.Any, is_attribute=True) diff --git a/tests/orm/test_fields/fields_aiida.data.core.bool.Bool.yml b/tests/orm/test_fields/fields_aiida.data.core.bool.Bool.yml index 457621f596..ee4cb565f1 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.bool.Bool.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.bool.Bool.yml @@ -1,20 +1,20 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) value: QbField('value', dtype=typing.Any, is_attribute=True) diff --git a/tests/orm/test_fields/fields_aiida.data.core.cif.CifData.yml b/tests/orm/test_fields/fields_aiida.data.core.cif.CifData.yml index da4e1d40d9..df6f0ccbb7 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.cif.CifData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.cif.CifData.yml @@ -1,25 +1,25 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) content: QbField('content', dtype=, is_attribute=True) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -filename: QbStrField('filename', dtype=typing.Optional[str], is_attribute=True) -formulae: QbArrayField('formulae', dtype=typing.Optional[typing.List[str]], is_attribute=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -md5: QbStrField('md5', dtype=typing.Optional[str], is_attribute=True) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -spacegroup_numbers: QbArrayField('spacegroup_numbers', dtype=typing.Optional[typing.List[str]], +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +filename: QbStrField('filename', dtype=str | None, is_attribute=True) +formulae: QbArrayField('formulae', dtype=typing.List[str] | None, is_attribute=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +md5: QbStrField('md5', dtype=str | None, is_attribute=True) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +spacegroup_numbers: QbArrayField('spacegroup_numbers', dtype=typing.List[str] | None, is_attribute=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.code.Code.yml b/tests/orm/test_fields/fields_aiida.data.core.code.Code.yml index 8ebaa0804d..a5d8e11a2e 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.code.Code.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.code.Code.yml @@ -1,29 +1,28 @@ append_text: QbStrField('append_text', dtype=, is_attribute=True) -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -default_calc_job_plugin: QbStrField('default_calc_job_plugin', dtype=typing.Optional[str], - is_attribute=True) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +default_calc_job_plugin: QbStrField('default_calc_job_plugin', dtype=str | None, is_attribute=True) description: QbStrField('description', dtype=, is_attribute=True) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -input_plugin: QbStrField('input_plugin', dtype=typing.Optional[str], is_attribute=True) -is_local: QbField('is_local', dtype=typing.Optional[bool], is_attribute=True) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +input_plugin: QbStrField('input_plugin', dtype=str | None, is_attribute=True) +is_local: QbField('is_local', dtype=bool | None, is_attribute=True) label: QbStrField('label', dtype=, is_attribute=True) -local_executable: QbStrField('local_executable', dtype=typing.Optional[str], is_attribute=True) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) +local_executable: QbStrField('local_executable', dtype=str | None, is_attribute=True) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) prepend_text: QbStrField('prepend_text', dtype=, is_attribute=True) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -remote_exec_path: QbStrField('remote_exec_path', dtype=typing.Optional[str], is_attribute=True) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +remote_exec_path: QbStrField('remote_exec_path', dtype=str | None, is_attribute=True) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) use_double_quotes: QbField('use_double_quotes', dtype=, is_attribute=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) -with_mpi: QbField('with_mpi', dtype=typing.Optional[bool], is_attribute=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) +with_mpi: QbField('with_mpi', dtype=bool | None, is_attribute=True) diff --git a/tests/orm/test_fields/fields_aiida.data.core.code.abstract.AbstractCode.yml b/tests/orm/test_fields/fields_aiida.data.core.code.abstract.AbstractCode.yml index 4dc178d9fc..b3583452a1 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.code.abstract.AbstractCode.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.code.abstract.AbstractCode.yml @@ -1,25 +1,24 @@ append_text: QbStrField('append_text', dtype=, is_attribute=True) -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -default_calc_job_plugin: QbStrField('default_calc_job_plugin', dtype=typing.Optional[str], - is_attribute=True) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +default_calc_job_plugin: QbStrField('default_calc_job_plugin', dtype=str | None, is_attribute=True) description: QbStrField('description', dtype=, is_attribute=True) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) label: QbStrField('label', dtype=, is_attribute=True) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) prepend_text: QbStrField('prepend_text', dtype=, is_attribute=True) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) use_double_quotes: QbField('use_double_quotes', dtype=, is_attribute=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) -with_mpi: QbField('with_mpi', dtype=typing.Optional[bool], is_attribute=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) +with_mpi: QbField('with_mpi', dtype=bool | None, is_attribute=True) diff --git a/tests/orm/test_fields/fields_aiida.data.core.code.containerized.ContainerizedCode.yml b/tests/orm/test_fields/fields_aiida.data.core.code.containerized.ContainerizedCode.yml index e7f12a1a94..852bda8bdc 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.code.containerized.ContainerizedCode.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.code.containerized.ContainerizedCode.yml @@ -1,29 +1,28 @@ append_text: QbStrField('append_text', dtype=, is_attribute=True) -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) computer: QbStrField('computer', dtype=, is_attribute=True) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -default_calc_job_plugin: QbStrField('default_calc_job_plugin', dtype=typing.Optional[str], - is_attribute=True) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +default_calc_job_plugin: QbStrField('default_calc_job_plugin', dtype=str | None, is_attribute=True) description: QbStrField('description', dtype=, is_attribute=True) engine_command: QbStrField('engine_command', dtype=, is_attribute=True) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) filepath_executable: QbStrField('filepath_executable', dtype=, is_attribute=True) image_name: QbStrField('image_name', dtype=, is_attribute=True) label: QbStrField('label', dtype=, is_attribute=True) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) prepend_text: QbStrField('prepend_text', dtype=, is_attribute=True) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) use_double_quotes: QbField('use_double_quotes', dtype=, is_attribute=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) -with_mpi: QbField('with_mpi', dtype=typing.Optional[bool], is_attribute=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) +with_mpi: QbField('with_mpi', dtype=bool | None, is_attribute=True) wrap_cmdline_params: QbField('wrap_cmdline_params', dtype=, is_attribute=True) diff --git a/tests/orm/test_fields/fields_aiida.data.core.code.installed.InstalledCode.yml b/tests/orm/test_fields/fields_aiida.data.core.code.installed.InstalledCode.yml index 15089b4a3d..47da79a20c 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.code.installed.InstalledCode.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.code.installed.InstalledCode.yml @@ -1,26 +1,25 @@ append_text: QbStrField('append_text', dtype=, is_attribute=True) -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) computer: QbStrField('computer', dtype=, is_attribute=True) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -default_calc_job_plugin: QbStrField('default_calc_job_plugin', dtype=typing.Optional[str], - is_attribute=True) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +default_calc_job_plugin: QbStrField('default_calc_job_plugin', dtype=str | None, is_attribute=True) description: QbStrField('description', dtype=, is_attribute=True) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) filepath_executable: QbStrField('filepath_executable', dtype=, is_attribute=True) label: QbStrField('label', dtype=, is_attribute=True) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) prepend_text: QbStrField('prepend_text', dtype=, is_attribute=True) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) use_double_quotes: QbField('use_double_quotes', dtype=, is_attribute=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) -with_mpi: QbField('with_mpi', dtype=typing.Optional[bool], is_attribute=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) +with_mpi: QbField('with_mpi', dtype=bool | None, is_attribute=True) diff --git a/tests/orm/test_fields/fields_aiida.data.core.code.portable.PortableCode.yml b/tests/orm/test_fields/fields_aiida.data.core.code.portable.PortableCode.yml index b874b26466..864d5a4648 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.code.portable.PortableCode.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.code.portable.PortableCode.yml @@ -1,27 +1,26 @@ append_text: QbStrField('append_text', dtype=, is_attribute=True) -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -default_calc_job_plugin: QbStrField('default_calc_job_plugin', dtype=typing.Optional[str], - is_attribute=True) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +default_calc_job_plugin: QbStrField('default_calc_job_plugin', dtype=str | None, is_attribute=True) description: QbStrField('description', dtype=, is_attribute=True) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) filepath_executable: QbStrField('filepath_executable', dtype=, is_attribute=True) filepath_files: QbStrField('filepath_files', dtype=, is_attribute=False) label: QbStrField('label', dtype=, is_attribute=True) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) prepend_text: QbStrField('prepend_text', dtype=, is_attribute=True) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) use_double_quotes: QbField('use_double_quotes', dtype=, is_attribute=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) -with_mpi: QbField('with_mpi', dtype=typing.Optional[bool], is_attribute=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) +with_mpi: QbField('with_mpi', dtype=bool | None, is_attribute=True) diff --git a/tests/orm/test_fields/fields_aiida.data.core.dict.Dict.yml b/tests/orm/test_fields/fields_aiida.data.core.dict.Dict.yml index 710d253b4d..0542b51a77 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.dict.Dict.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.dict.Dict.yml @@ -1,21 +1,21 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) value: QbDictField('value', dtype=typing.Dict[str, typing.Any], is_attribute=False, is_subscriptable=True) diff --git a/tests/orm/test_fields/fields_aiida.data.core.enum.EnumData.yml b/tests/orm/test_fields/fields_aiida.data.core.enum.EnumData.yml index cfc3976079..f41687afac 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.enum.EnumData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.enum.EnumData.yml @@ -1,20 +1,20 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) member: QbField('member', dtype=, is_attribute=True) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.float.Float.yml b/tests/orm/test_fields/fields_aiida.data.core.float.Float.yml index 457621f596..ee4cb565f1 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.float.Float.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.float.Float.yml @@ -1,20 +1,20 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) value: QbField('value', dtype=typing.Any, is_attribute=True) diff --git a/tests/orm/test_fields/fields_aiida.data.core.folder.FolderData.yml b/tests/orm/test_fields/fields_aiida.data.core.folder.FolderData.yml index 5bee2ef441..2c565b3b54 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.folder.FolderData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.folder.FolderData.yml @@ -1,19 +1,19 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.int.Int.yml b/tests/orm/test_fields/fields_aiida.data.core.int.Int.yml index 457621f596..ee4cb565f1 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.int.Int.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.int.Int.yml @@ -1,20 +1,20 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) value: QbField('value', dtype=typing.Any, is_attribute=True) diff --git a/tests/orm/test_fields/fields_aiida.data.core.jsonable.JsonableData.yml b/tests/orm/test_fields/fields_aiida.data.core.jsonable.JsonableData.yml index 1166fbc570..a16cd1bd0a 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.jsonable.JsonableData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.jsonable.JsonableData.yml @@ -1,21 +1,21 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) obj: QbField('obj', dtype=, is_attribute=True) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.list.List.yml b/tests/orm/test_fields/fields_aiida.data.core.list.List.yml index 4edd6d3380..12d507a281 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.list.List.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.list.List.yml @@ -1,20 +1,20 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) value: QbArrayField('value', dtype=typing.List[typing.Any], is_attribute=True) diff --git a/tests/orm/test_fields/fields_aiida.data.core.numeric.NumericType.yml b/tests/orm/test_fields/fields_aiida.data.core.numeric.NumericType.yml index 457621f596..ee4cb565f1 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.numeric.NumericType.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.numeric.NumericType.yml @@ -1,20 +1,20 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) value: QbField('value', dtype=typing.Any, is_attribute=True) diff --git a/tests/orm/test_fields/fields_aiida.data.core.orbital.OrbitalData.yml b/tests/orm/test_fields/fields_aiida.data.core.orbital.OrbitalData.yml index 5bee2ef441..2c565b3b54 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.orbital.OrbitalData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.orbital.OrbitalData.yml @@ -1,19 +1,19 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.remote.RemoteData.yml b/tests/orm/test_fields/fields_aiida.data.core.remote.RemoteData.yml index 5086780659..81f5e92295 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.remote.RemoteData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.remote.RemoteData.yml @@ -1,20 +1,20 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -remote_path: QbStrField('remote_path', dtype=typing.Optional[str], is_attribute=True) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +remote_path: QbStrField('remote_path', dtype=str | None, is_attribute=True) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.remote.stash.RemoteStashData.yml b/tests/orm/test_fields/fields_aiida.data.core.remote.stash.RemoteStashData.yml index 35e6e4188e..272e20c940 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.remote.stash.RemoteStashData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.remote.stash.RemoteStashData.yml @@ -1,20 +1,20 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) stash_mode: QbField('stash_mode', dtype=, is_attribute=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.remote.stash.compress.RemoteStashCompressedData.yml b/tests/orm/test_fields/fields_aiida.data.core.remote.stash.compress.RemoteStashCompressedData.yml index 66c3188024..8e689ffcfd 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.remote.stash.compress.RemoteStashCompressedData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.remote.stash.compress.RemoteStashCompressedData.yml @@ -1,24 +1,24 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) dereference: QbField('dereference', dtype=, is_attribute=True) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) fail_on_missing: QbField('fail_on_missing', dtype=, is_attribute=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) source_list: QbArrayField('source_list', dtype=typing.List[str], is_attribute=True) stash_mode: QbField('stash_mode', dtype=, is_attribute=True) target_basepath: QbStrField('target_basepath', dtype=, is_attribute=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.remote.stash.custom.RemoteStashCustomData.yml b/tests/orm/test_fields/fields_aiida.data.core.remote.stash.custom.RemoteStashCustomData.yml index 82e177e738..61b126b766 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.remote.stash.custom.RemoteStashCustomData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.remote.stash.custom.RemoteStashCustomData.yml @@ -1,22 +1,22 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) source_list: QbArrayField('source_list', dtype=typing.List[str], is_attribute=True) stash_mode: QbField('stash_mode', dtype=, is_attribute=True) target_basepath: QbStrField('target_basepath', dtype=, is_attribute=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.remote.stash.folder.RemoteStashFolderData.yml b/tests/orm/test_fields/fields_aiida.data.core.remote.stash.folder.RemoteStashFolderData.yml index 30cb0437ad..855d7b9dc4 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.remote.stash.folder.RemoteStashFolderData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.remote.stash.folder.RemoteStashFolderData.yml @@ -1,23 +1,23 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) fail_on_missing: QbField('fail_on_missing', dtype=, is_attribute=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) source_list: QbArrayField('source_list', dtype=typing.List[str], is_attribute=True) stash_mode: QbField('stash_mode', dtype=, is_attribute=True) target_basepath: QbStrField('target_basepath', dtype=, is_attribute=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.singlefile.SinglefileData.yml b/tests/orm/test_fields/fields_aiida.data.core.singlefile.SinglefileData.yml index 71f35c46f7..93a153d686 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.singlefile.SinglefileData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.singlefile.SinglefileData.yml @@ -1,21 +1,21 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) content: QbField('content', dtype=, is_attribute=True) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -filename: QbStrField('filename', dtype=typing.Optional[str], is_attribute=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +filename: QbStrField('filename', dtype=str | None, is_attribute=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.str.Str.yml b/tests/orm/test_fields/fields_aiida.data.core.str.Str.yml index 457621f596..ee4cb565f1 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.str.Str.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.str.Str.yml @@ -1,20 +1,20 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) value: QbField('value', dtype=typing.Any, is_attribute=True) diff --git a/tests/orm/test_fields/fields_aiida.data.core.structure.StructureData.yml b/tests/orm/test_fields/fields_aiida.data.core.structure.StructureData.yml index 8e94962d01..bcb3cb88bb 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.structure.StructureData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.structure.StructureData.yml @@ -1,25 +1,25 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) cell: QbArrayField('cell', dtype=typing.List[typing.List[float]], is_attribute=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -kinds: QbArrayField('kinds', dtype=typing.Optional[typing.List[dict]], is_attribute=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +kinds: QbArrayField('kinds', dtype=typing.List[dict] | None, is_attribute=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) pbc1: QbField('pbc1', dtype=, is_attribute=True) pbc2: QbField('pbc2', dtype=, is_attribute=True) pbc3: QbField('pbc3', dtype=, is_attribute=True) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -sites: QbArrayField('sites', dtype=typing.Optional[typing.List[dict]], is_attribute=True) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +sites: QbArrayField('sites', dtype=typing.List[dict] | None, is_attribute=True) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) diff --git a/tests/orm/test_fields/fields_aiida.data.core.upf.UpfData.yml b/tests/orm/test_fields/fields_aiida.data.core.upf.UpfData.yml index 71f35c46f7..93a153d686 100644 --- a/tests/orm/test_fields/fields_aiida.data.core.upf.UpfData.yml +++ b/tests/orm/test_fields/fields_aiida.data.core.upf.UpfData.yml @@ -1,21 +1,21 @@ -attributes: QbDictField('attributes', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -computer: QbNumericField('computer', dtype=typing.Optional[int], is_attribute=False) +attributes: QbDictField('attributes', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +computer: QbNumericField('computer', dtype=int | None, is_attribute=False) content: QbField('content', dtype=, is_attribute=True) -ctime: QbNumericField('ctime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -description: QbStrField('description', dtype=typing.Optional[str], is_attribute=False) -extras: QbDictField('extras', dtype=typing.Optional[typing.Dict[str, typing.Any]], - is_attribute=False, is_subscriptable=True) -filename: QbStrField('filename', dtype=typing.Optional[str], is_attribute=True) -label: QbStrField('label', dtype=typing.Optional[str], is_attribute=False) -mtime: QbNumericField('mtime', dtype=typing.Optional[datetime.datetime], is_attribute=False) -node_type: QbStrField('node_type', dtype=typing.Optional[str], is_attribute=False) -pk: QbNumericField('pk', dtype=typing.Optional[int], is_attribute=False) -process_type: QbStrField('process_type', dtype=typing.Optional[str], is_attribute=False) -repository_content: QbDictField('repository_content', dtype=typing.Optional[dict[str, - bytes]], is_attribute=False) -repository_metadata: QbDictField('repository_metadata', dtype=typing.Optional[typing.Dict[str, - typing.Any]], is_attribute=False) -source: QbDictField('source', dtype=typing.Optional[dict], is_attribute=True, is_subscriptable=True) -user: QbNumericField('user', dtype=typing.Optional[int], is_attribute=False) -uuid: QbStrField('uuid', dtype=typing.Optional[str], is_attribute=False) +ctime: QbNumericField('ctime', dtype=datetime.datetime | None, is_attribute=False) +description: QbStrField('description', dtype=str | None, is_attribute=False) +extras: QbDictField('extras', dtype=typing.Dict[str, typing.Any] | None, is_attribute=False, + is_subscriptable=True) +filename: QbStrField('filename', dtype=str | None, is_attribute=True) +label: QbStrField('label', dtype=str | None, is_attribute=False) +mtime: QbNumericField('mtime', dtype=datetime.datetime | None, is_attribute=False) +node_type: QbStrField('node_type', dtype=str | None, is_attribute=False) +pk: QbNumericField('pk', dtype=int | None, is_attribute=False) +process_type: QbStrField('process_type', dtype=str | None, is_attribute=False) +repository_content: QbDictField('repository_content', dtype=dict[str, bytes] | None, + is_attribute=False) +repository_metadata: QbDictField('repository_metadata', dtype=typing.Dict[str, typing.Any] + | None, is_attribute=False) +source: QbDictField('source', dtype=dict | None, is_attribute=True, is_subscriptable=True) +user: QbNumericField('user', dtype=int | None, is_attribute=False) +uuid: QbStrField('uuid', dtype=str | None, is_attribute=False) From 3e6e2a3df381159f0aec11ee45bb0ebdaf2bd4ae Mon Sep 17 00:00:00 2001 From: Alexander Goscinski Date: Sat, 28 Feb 2026 17:05:51 +0100 Subject: [PATCH 4/4] Replace `urllib.request.url2pathname` with local shim for Python 3.14 (#7240) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In Python 3.14, `url2pathname` was rewritten to be a full file-URL parser per RFC 8089 (https://github.com/python/cpython/issues/126838). The new implementation prepends `file:` to the input and re-parses it with `urlsplit`, then validates that the URL authority resolves to localhost. This breaks our usage because we pass `urlparse(uri).path` — a pre-parsed path component — not a full URL. The new `url2pathname` misinterprets this input, and raises: URLError: file:// scheme is supported only on localhost Since we already validate that the scheme is `file://` before extracting the path, we replace the stdlib import with a local `url2pathname` shim that preserves the simple Python <= 3.13 behavior. --- src/aiida/common/__init__.py | 2 ++ src/aiida/common/utils.py | 24 +++++++++++++++++++++++ src/aiida/manage/configuration/profile.py | 2 +- src/aiida/storage/psql_dos/backend.py | 3 ++- 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/aiida/common/__init__.py b/src/aiida/common/__init__.py index 6079a4a462..2c8ad1b4ad 100644 --- a/src/aiida/common/__init__.py +++ b/src/aiida/common/__init__.py @@ -22,6 +22,7 @@ from .links import * from .log import * from .progress_reporter import * +from .utils import * __all__ = ( 'AIIDA_LOGGER', @@ -87,6 +88,7 @@ 'override_log_level', 'set_progress_bar_tqdm', 'set_progress_reporter', + 'url2pathname', 'validate_link_label', ) diff --git a/src/aiida/common/utils.py b/src/aiida/common/utils.py index 2dcceb161c..7563aa6a70 100644 --- a/src/aiida/common/utils.py +++ b/src/aiida/common/utils.py @@ -10,6 +10,8 @@ from __future__ import annotations +__all__ = ('url2pathname',) + import filecmp import inspect import io @@ -659,3 +661,25 @@ def batch_iter( # balance between memory efficiency and database round-trip overhead. Setting it too low increases # the number of database queries needed, while setting it too high increases memory consumption. DEFAULT_BATCH_SIZE: int = 1000 + +# To obtain pre py3.14 behavior of url2pathname we copied the code to here +# https://github.com/python/cpython/blob/1a2b0fb3e5eac4e767e6bbb0b2c3cedaedafc07b/Lib/urllib/request.py#L1664-L1679 +# Only minor changes were applied to conform with mypy +if os.name == 'nt': + from nturl2path import url2pathname +else: + from urllib.parse import unquote + + def url2pathname(url: str) -> str: + """OS-specific conversion from a relative URL of the 'file' scheme + to a file system path; not recommended for general use.""" + if url[:3] == '///': + # URL has an empty authority section, so the path begins on the + # third character. + url = url[2:] + elif url[:12] == '//localhost/': + # Skip past 'localhost' authority. + url = url[11:] + encoding = sys.getfilesystemencoding() + errors = sys.getfilesystemencodeerrors() + return unquote(url, encoding=encoding, errors=errors) diff --git a/src/aiida/manage/configuration/profile.py b/src/aiida/manage/configuration/profile.py index 5dc459a823..094714cb0c 100644 --- a/src/aiida/manage/configuration/profile.py +++ b/src/aiida/manage/configuration/profile.py @@ -214,8 +214,8 @@ def repository_path(self) -> pathlib.Path: :return: absolute filepath of the profile's file repository """ from urllib.parse import urlparse - from urllib.request import url2pathname + from aiida.common.utils import url2pathname from aiida.common.warnings import warn_deprecation warn_deprecation('This method has been deprecated', version=3) diff --git a/src/aiida/storage/psql_dos/backend.py b/src/aiida/storage/psql_dos/backend.py index 63e81f9297..640d3ee0fd 100644 --- a/src/aiida/storage/psql_dos/backend.py +++ b/src/aiida/storage/psql_dos/backend.py @@ -50,7 +50,8 @@ def get_filepath_container(profile: Profile) -> pathlib.Path: """Return the filepath of the disk-object store container.""" from urllib.parse import urlparse - from urllib.request import url2pathname + + from aiida.common.utils import url2pathname try: parts = urlparse(profile.storage_config['repository_uri'])