spinta 0.2.dev21__tar.gz → 0.2.dev22__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {spinta-0.2.dev21 → spinta-0.2.dev22}/PKG-INFO +1 -1
- {spinta-0.2.dev21 → spinta-0.2.dev22}/pyproject.toml +1 -1
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/auth.py +33 -26
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/upgrade/scripts/backends/postgresql/schemas.py +3 -2
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/components.py +2 -1
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/config.py +2 -1
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/json/commands/read.py +1 -1
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/commands/read.py +5 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/ufuncs/query/ufuncs.py +21 -6
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/helpers.py +25 -2
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/exceptions.py +6 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/client.py +0 -2
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/config.py +5 -0
- spinta-0.2.dev22/spinta/types/partial/link.py +63 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/ref/link.py +3 -1
- spinta-0.2.dev21/spinta/types/partial/link.py +0 -48
- {spinta-0.2.dev21 → spinta-0.2.dev22}/LICENSE +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/README.rst +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/__main__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/accesslog/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/accesslog/file.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/accesslog/python.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/adapters/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/adapters/rc/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/adapters/rc/signature_adapter.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/adapters/soap_plugins.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/api/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/api/inspect.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/api/schema.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/api/validators.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/asgi.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/constants.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/fs/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/fs/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/fs/commands/bootstrap.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/fs/commands/changes.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/fs/commands/decode.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/fs/commands/encode.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/fs/commands/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/fs/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/fs/commands/migrate.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/fs/commands/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/fs/commands/validate.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/fs/commands/wait.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/fs/commands/wipe.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/fs/commands/write.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/fs/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/memory/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/memory/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/memory/commands/auth.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/memory/commands/bootstrap.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/memory/commands/changes.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/memory/commands/check.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/memory/commands/encode.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/memory/commands/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/memory/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/memory/commands/manifest.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/memory/commands/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/memory/commands/wait.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/memory/commands/wipe.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/memory/commands/write.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/memory/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/commands/bootstrap.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/commands/changes.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/commands/encode.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/commands/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/commands/migrate.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/commands/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/commands/validate.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/commands/wait.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/commands/wipe.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/commands/write.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/types/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/types/array/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/types/array/write.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/types/file/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/types/file/write.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/types/object/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/types/object/write.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/ufuncs/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/mongo/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/nobackend/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/nobackend/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/nobackend/commands/bootstrap.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/nobackend/commands/changes.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/nobackend/commands/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/nobackend/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/nobackend/commands/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/nobackend/commands/wait.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/nobackend/commands/wipe.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/nobackend/commands/write.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/nobackend/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/bootstrap.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/changes.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/column.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/encode.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/link.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/manifest.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/migrate/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/migrate/constants.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/migrate/migrate.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/migrate/model.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/migrate/property.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/migrate/types/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/migrate/types/array.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/migrate/types/datatype.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/migrate/types/file.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/migrate/types/geometry.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/migrate/types/object.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/migrate/types/ref.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/migrate/types/string.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/migrate/types/text.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/redirect.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/summary.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/validate.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/wait.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/wipe.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/commands/write.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/constants.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/files.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/helpers/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/helpers/changes.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/helpers/exceptions.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/helpers/extractors.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/helpers/manifest.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/helpers/migrate/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/helpers/migrate/actions.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/helpers/migrate/cast.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/helpers/migrate/migrate.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/helpers/migrate/name.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/helpers/name.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/helpers/redirect.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/helpers/type.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/helpers/validate.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/sqlalchemy.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/array/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/array/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/array/wipe.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/array/write.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/array_backref/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/array_backref/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/backref/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/backref/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/denorm/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/denorm/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/external_ref/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/external_ref/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/file/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/file/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/file/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/file/write.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/geometry/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/geometry/encode.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/geometry/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/geometry/write.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/object/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/object/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/object/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/object/wipe.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/ref/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/ref/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/ref/validate.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/text/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/types/text/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/ufuncs/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/ufuncs/result/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/ufuncs/result/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/ufuncs/result/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/postgresql/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/backends/types/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/admin.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/auth.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/config.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/data.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/get.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/admin/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/admin/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/admin/registry.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/admin/scripts/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/admin/scripts/changelog.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/admin/scripts/deduplicate.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/auth.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/data.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/errors.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/export/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/export/backends/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/export/backends/postgresql/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/export/backends/postgresql/commands.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/export/backends/postgresql/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/export/backends/postgresql/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/export/commands.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/export/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/export/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/manifest.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/message.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/migrate.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/push/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/push/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/push/delete.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/push/error.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/push/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/push/state.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/push/sync.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/push/utils.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/push/write.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/script/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/script/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/script/core.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/script/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/script/registry.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/store.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/sync/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/sync/api_helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/sync/controllers/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/sync/controllers/data_service.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/sync/controllers/dataset.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/sync/controllers/distribution.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/sync/controllers/dsa.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/sync/controllers/synchronization/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/sync/controllers/synchronization/connection.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/sync/controllers/synchronization/manifest_catalog_to_agent.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/sync/enum.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/sync/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/typer.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/upgrade/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/upgrade/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/upgrade/registry.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/upgrade/scripts/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/upgrade/scripts/backends/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/upgrade/scripts/backends/postgresql/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/upgrade/scripts/backends/postgresql/comments.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/upgrade/scripts/clients.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/upgrade/scripts/keymaps/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/initial_setup.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/modified_time.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/redirect_support.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/helpers/upgrade/scripts/redirect.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/inspect.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/keymap.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/main.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/manifest.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/migrate.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/pii.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/pull.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/push.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/server.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/show.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/sync.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/cli/upgrade.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/client.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/commands/auth.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/commands/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/commands/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/commands/search.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/commands/version.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/commands/write.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/compat.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/config.yml +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/core/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/core/access.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/core/config.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/core/context.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/core/enums.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/core/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/csv/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/csv/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/csv/commands/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/csv/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/json/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/json/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/json/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/memory/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/memory/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/soap/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/soap/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/soap/commands/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/soap/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/soap/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/soap/ufuncs/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/soap/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/xml/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/xml/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/xml/commands/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/backends/xml/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/commands/check.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/ufuncs/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/notimpl/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/notimpl/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/notimpl/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/notimpl/commands/wait.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/notimpl/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mariadb/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mariadb/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mariadb/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mssql/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mssql/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mssql/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mssql/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mssql/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mssql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mssql/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mysql/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mysql/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mysql/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mysql/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mysql/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mysql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/mysql/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/oracle/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/oracle/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/oracle/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/oracle/types/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/oracle/types/geometry/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/oracle/types/geometry/encode.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/oracle/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/postgresql/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/postgresql/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/postgresql/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/base.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/commands/cast.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/commands/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/constants.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/dialect.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/formats.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/identifier.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/introspection.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/log4j.properties +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/types.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sas/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sqlite/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sqlite/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sqlite/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/commands/bootstrap.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/commands/cast.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/commands/column.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/commands/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/commands/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/commands/wait.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/ufuncs/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/ufuncs/query/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/ufuncs/result/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/ufuncs/result/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/ufuncs/result/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sql/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sqldump/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sqldump/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sqldump/commands/inspect.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sqldump/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sqldump/commands/wait.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sqldump/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sqldump/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sqldump/ufuncs/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/sqldump/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/wsdl/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/wsdl/commads/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/wsdl/commads/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/wsdl/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/commands/check.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/commands/error.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/commands/inspect.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/commands/link.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/commands/wipe.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/enums.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/inspect/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/inspect/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/inspect/commands/manifest.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/inspect/commands/merge.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/inspect/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/inspect/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/keymaps/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/keymaps/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/keymaps/redis.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/keymaps/sqlalchemy.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/keymaps/sync.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/utils.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/comments/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/comments/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/comments/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/enum/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/enum/commands.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/enum/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/enum/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/enum/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/lang/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/lang/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/lang/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/param/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/param/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/param/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/param/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/prefix/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/prefix/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/prefix/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/prefix/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dimensions/prefix/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/dispatcher.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/fetcher.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/ascii/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/ascii/commands.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/ascii/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/ascii/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/csv/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/csv/commands.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/csv/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/html/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/html/commands.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/html/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/html/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/json/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/json/commands.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/json/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/jsonlines/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/jsonlines/commands.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/jsonlines/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/rdf/commands.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/rdf/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/xlsx/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/xlsx/commands.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/formats/xlsx/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/hacks/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/hacks/spyna.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/hacks/urlparams.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/handlers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/logging_config.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifest/_ns.yml +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifest/_schema/version.yml +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifest/_schema.yml +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifest/_txn.yml +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/backend/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/backend/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/backend/commands/bootstrap.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/backend/commands/configure.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/backend/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/backend/commands/manifest.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/backend/commands/migrate.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/backend/commands/sync.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/backend/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/backend/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/commands/auth.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/commands/check.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/commands/error.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/commands/init.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/commands/inspect.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/commands/link.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/commands/manifest.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/commands/migrate.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/commands/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/dict/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/dict/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/dict/commands/configure.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/dict/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/dict/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/dict/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/internal/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/internal/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/internal/commands/configure.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/internal/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/internal/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/internal_sql/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/internal_sql/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/internal_sql/commands/auth.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/internal_sql/commands/backend.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/internal_sql/commands/bootstrap.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/internal_sql/commands/configure.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/internal_sql/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/internal_sql/commands/manifest.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/internal_sql/commands/read.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/internal_sql/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/internal_sql/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/memory/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/memory/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/memory/commands/configure.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/memory/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/memory/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/mermaid/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/mermaid/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/mermaid/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/open_api/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/open_api/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/open_api/commands/configure.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/open_api/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/open_api/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/open_api/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/open_api/openapi_config.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/open_api/openapi_generator.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/rdf/commands/bootstrap.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/rdf/commands/configure.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/rdf/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/rdf/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/rdf/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/sql/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/sql/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/sql/commands/configure.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/sql/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/sql/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/sql/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/tabular/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/tabular/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/tabular/commands/bootstrap.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/tabular/commands/configure.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/tabular/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/tabular/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/tabular/constants.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/tabular/formats/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/tabular/formats/gsheets.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/tabular/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/xsd/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/xsd/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/xsd/commands/configure.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/xsd/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/xsd/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/xsd/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/xsd2/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/yaml/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/yaml/commands/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/yaml/commands/bootstrap.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/yaml/commands/configure.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/yaml/commands/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/yaml/commands/manifest.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/yaml/commands/migrate.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/yaml/commands/sync.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/yaml/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/manifests/yaml/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/methods.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/middlewares.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/naming/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/naming/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/naming/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/naming/ufuncts.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/nodes.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/renderer.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/spyna.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/templates/base.html +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/templates/data.html +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/templates/error.html +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/templates/form.html +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/cli.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/config.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/context.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/csv.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/data.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/datasets.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/dtypes.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/manifest.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/migration.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/push.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/pytest.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/request.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/tabular.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/types/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/types/geometry.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/testing/utils.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/array/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/array/check.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/array/link.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/array/resolve.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/backref/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/backref/link.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/command.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/datatype.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/denorm/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/denorm/check.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/denorm/link.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/file/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/file/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/file/decode.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/file/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/geometry/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/geometry/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/geometry/constants.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/geometry/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/geometry/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/inherit/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/inherit/check.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/model.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/namespace.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/object/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/object/check.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/object/link.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/partial/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/ref/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/ref/check.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/ref/resolve.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/store.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/text/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/text/check.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/text/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/text/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/types/text/load.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/typing.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/binds.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/changebase/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/changebase/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/changebase/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/changebase/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/common.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/linkbuilder/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/linkbuilder/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/linkbuilder/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/loadbuilder/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/loadbuilder/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/loadbuilder/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/loadbuilder/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/propertyresolver/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/propertyresolver/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/propertyresolver/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/querybuilder/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/querybuilder/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/querybuilder/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/querybuilder/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/requestparamsbuilder/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/requestparamsbuilder/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/requestparamsbuilder/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/requestparamsbuilder/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/resultbuilder/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/resultbuilder/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/resultbuilder/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/resultbuilder/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/summaryenv/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/summaryenv/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/ufuncs/summaryenv/ufuncs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/units/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/units/components.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/units/helpers.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/urlparams.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/__init__.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/aiotools.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/changes.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/collections.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/config.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/data.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/encoding.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/enums.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/errors.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/functools.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/idgen.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/imports.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/itertools.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/json.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/naming.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/nestedstruct.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/nin.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/passwords.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/path.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/refs.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/response.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/schema.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/scopes.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/sqlalchemy.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/sqlite.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/starlette.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/streams.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/tree.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/types.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/units.py +0 -0
- {spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/utils/url.py +0 -0
|
@@ -58,6 +58,7 @@ from spinta.exceptions import (
|
|
|
58
58
|
InvalidClientsKeymapStructure,
|
|
59
59
|
InvalidScopes,
|
|
60
60
|
InvalidClientFileFormat,
|
|
61
|
+
ModelNotFound,
|
|
61
62
|
)
|
|
62
63
|
from spinta.utils import passwords
|
|
63
64
|
from spinta.utils.config import get_clients_path, get_keymap_path, get_id_path, get_helpers_path
|
|
@@ -858,40 +859,46 @@ def authorized(
|
|
|
858
859
|
scope_formatter: ScopeFormatterFunc = None,
|
|
859
860
|
):
|
|
860
861
|
config: Config = context.get("config")
|
|
862
|
+
|
|
863
|
+
# Disable access to nodes that have lower access level than config.access
|
|
864
|
+
if config.access > node.access:
|
|
865
|
+
if throw:
|
|
866
|
+
raise ModelNotFound(model=node.name)
|
|
867
|
+
return False
|
|
868
|
+
|
|
861
869
|
token = context.get("auth.token")
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
870
|
+
|
|
871
|
+
# Unauthenticated clients can only access nodes if spinta config.access is open.
|
|
872
|
+
unauthenticated = token.get_client_id() == get_default_auth_client_id(context)
|
|
873
|
+
|
|
874
|
+
if unauthenticated and config.access < Access.open:
|
|
866
875
|
if throw:
|
|
867
876
|
raise AuthorizedClientsOnly()
|
|
868
877
|
else:
|
|
869
878
|
return False
|
|
870
879
|
|
|
871
|
-
#
|
|
880
|
+
# Add explicit node scope
|
|
872
881
|
scopes = [node]
|
|
873
882
|
|
|
874
|
-
#
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
if ns:
|
|
894
|
-
scopes.extend(ns.parents())
|
|
883
|
+
# Add parent node scopes
|
|
884
|
+
ns = None
|
|
885
|
+
if isinstance(node, Property):
|
|
886
|
+
# Hidden nodes also require explicit scope.
|
|
887
|
+
# XXX: `hidden` parameter should only be used for API control, not
|
|
888
|
+
# access control. See docs.
|
|
889
|
+
if not node.hidden:
|
|
890
|
+
scopes.append(node.model)
|
|
891
|
+
scopes.append(node.model.ns)
|
|
892
|
+
ns = node.model.ns
|
|
893
|
+
elif isinstance(node, Model):
|
|
894
|
+
scopes.append(node.ns)
|
|
895
|
+
ns = node.ns
|
|
896
|
+
elif isinstance(node, Namespace):
|
|
897
|
+
ns = node
|
|
898
|
+
|
|
899
|
+
# Add all parent namespace scopes too.
|
|
900
|
+
if ns:
|
|
901
|
+
scopes.extend(ns.parents())
|
|
895
902
|
|
|
896
903
|
# Build scope names.
|
|
897
904
|
scope_formatter = scope_formatter or config.scope_formatter
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
from contextlib import ExitStack
|
|
2
2
|
from typing import Generator
|
|
3
3
|
|
|
4
|
-
from alembic.operations import Operations
|
|
5
|
-
from alembic.runtime.migration import MigrationContext
|
|
6
4
|
from click import echo
|
|
7
5
|
from sqlalchemy.engine import Inspector
|
|
8
6
|
from tqdm import tqdm
|
|
@@ -105,6 +103,9 @@ def gather_associated_tables(backend: PostgreSQL, table_identifier: TableIdentif
|
|
|
105
103
|
|
|
106
104
|
|
|
107
105
|
def migrate_schemas(context: Context, **kwargs):
|
|
106
|
+
from alembic.operations import Operations
|
|
107
|
+
from alembic.runtime.migration import MigrationContext
|
|
108
|
+
|
|
108
109
|
ensure_store_is_loaded(context)
|
|
109
110
|
store = context.get("store")
|
|
110
111
|
|
|
@@ -1095,7 +1095,8 @@ class Config:
|
|
|
1095
1095
|
scope_log: bool
|
|
1096
1096
|
check_contract_scopes: bool
|
|
1097
1097
|
default_auth_client: str
|
|
1098
|
-
default_access_level:
|
|
1098
|
+
default_access_level: Access
|
|
1099
|
+
access: Access
|
|
1099
1100
|
http_basic_auth: bool
|
|
1100
1101
|
token_validation_key: dict | None = None
|
|
1101
1102
|
token_validation_keys_download_url: str | None = None
|
|
@@ -344,7 +344,8 @@ CONFIG = {
|
|
|
344
344
|
},
|
|
345
345
|
"config_path": pathlib.Path("tests/config"),
|
|
346
346
|
"default_auth_client": "baa448a8-205c-4faa-a048-a10e4b32a136",
|
|
347
|
-
"default_access_level": "
|
|
347
|
+
"default_access_level": "open",
|
|
348
|
+
"access": "open",
|
|
348
349
|
"sync_retry_count": 0,
|
|
349
350
|
},
|
|
350
351
|
},
|
|
@@ -164,7 +164,7 @@ def getall(
|
|
|
164
164
|
builder.update(model=model, params={param.name: param for param in resource.params}, url_query_params=query)
|
|
165
165
|
|
|
166
166
|
props = {}
|
|
167
|
-
for prop in model.
|
|
167
|
+
for prop in model.flatprops.values():
|
|
168
168
|
if prop.external and prop.external.name:
|
|
169
169
|
root_source = _get_prop_full_source(model.external.name, prop.external.name)
|
|
170
170
|
props[prop.external.name] = {
|
|
@@ -276,6 +276,11 @@ def dask_get_all(
|
|
|
276
276
|
val = _get_row_value(context, row, sel, env.params)
|
|
277
277
|
if sel.prop:
|
|
278
278
|
if isinstance(sel.prop.dtype, PrimaryKey):
|
|
279
|
+
if isinstance(val, list):
|
|
280
|
+
val = [
|
|
281
|
+
list_value.get("_id", list_value) if isinstance(list_value, dict) else list_value
|
|
282
|
+
for list_value in val
|
|
283
|
+
]
|
|
279
284
|
val = keymap.encode(sel.prop.model.model_type(), val)
|
|
280
285
|
elif isinstance(sel.prop.dtype, Ref):
|
|
281
286
|
val = handle_ref_key_assignment(context, keymap, env, val, sel.prop.dtype)
|
{spinta-0.2.dev21 → spinta-0.2.dev22}/spinta/datasets/backends/dataframe/ufuncs/query/ufuncs.py
RENAMED
|
@@ -336,12 +336,15 @@ def select(env: DaskDataFrameQueryBuilder, selected: Selected) -> Selected:
|
|
|
336
336
|
|
|
337
337
|
@ufunc.resolver(DaskDataFrameQueryBuilder, Ref, GetAttr)
|
|
338
338
|
def select(env: DaskDataFrameQueryBuilder, dtype: Ref, prep: GetAttr) -> Selected | None:
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
)
|
|
339
|
+
resolved_prep = env.call("select", prep)
|
|
340
|
+
|
|
341
|
+
result = {}
|
|
342
|
+
result["_id"] = Selected(prop=dtype.prop, prep=resolved_prep)
|
|
343
|
+
for prop in dtype.properties.values():
|
|
344
|
+
sel = env.call("select", prop)
|
|
345
|
+
result[prop.name] = sel
|
|
346
|
+
|
|
347
|
+
return Selected(prop=dtype.prop, prep=result)
|
|
345
348
|
|
|
346
349
|
|
|
347
350
|
@ufunc.resolver(DaskDataFrameQueryBuilder, Ref, object)
|
|
@@ -353,6 +356,18 @@ def select(env: DaskDataFrameQueryBuilder, dtype: Ref, prep: Any) -> Selected:
|
|
|
353
356
|
)
|
|
354
357
|
|
|
355
358
|
|
|
359
|
+
@ufunc.resolver(DaskDataFrameQueryBuilder, Ref)
|
|
360
|
+
def select(env: DaskDataFrameQueryBuilder, dtype: Ref) -> Selected:
|
|
361
|
+
prep = {}
|
|
362
|
+
prep["_id"] = Selected(item=dtype.prop.external.name, prop=dtype.prop)
|
|
363
|
+
|
|
364
|
+
for prop in dtype.properties.values():
|
|
365
|
+
sel = env.call("select", prop)
|
|
366
|
+
prep[prop.name] = sel
|
|
367
|
+
|
|
368
|
+
return Selected(prop=dtype.prop, prep=prep)
|
|
369
|
+
|
|
370
|
+
|
|
356
371
|
@ufunc.resolver(DaskDataFrameQueryBuilder, GetAttr)
|
|
357
372
|
def select(env: DaskDataFrameQueryBuilder, attr: GetAttr) -> Selected:
|
|
358
373
|
resolved = env.resolve_property(attr)
|
|
@@ -14,6 +14,10 @@ from spinta.utils.schema import NA
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
def handle_ref_key_assignment(context: Context, keymap: KeyMap, env: Env, value: Any, ref: Ref) -> dict:
|
|
17
|
+
original_value = value
|
|
18
|
+
if isinstance(value, dict):
|
|
19
|
+
value = value["_id"]
|
|
20
|
+
|
|
17
21
|
keymap_name = ref.model.model_type()
|
|
18
22
|
if ref.refprops != ref.model.external.pkeys:
|
|
19
23
|
keymap_name = f"{keymap_name}.{'_'.join(prop.name for prop in ref.refprops)}"
|
|
@@ -55,7 +59,16 @@ def handle_ref_key_assignment(context: Context, keymap: KeyMap, env: Env, value:
|
|
|
55
59
|
|
|
56
60
|
# FIXME Quick hack when trying to get `Internal` model keys while running in `External` mode (should probably return error, or None)
|
|
57
61
|
if ref_model.mode == Mode.external and not check_if_model_has_backend_and_source(ref_model):
|
|
58
|
-
|
|
62
|
+
val = {"_id": keymap.encode(keymap_name, target_value)}
|
|
63
|
+
if isinstance(original_value, dict):
|
|
64
|
+
for nested_prop_name, nested_prop in ref.properties.items():
|
|
65
|
+
nested_value = original_value[nested_prop_name]
|
|
66
|
+
if isinstance(nested_value, dict):
|
|
67
|
+
nested_value = handle_ref_key_assignment(
|
|
68
|
+
context, keymap, env, nested_value, nested_prop.dtype
|
|
69
|
+
)
|
|
70
|
+
val[nested_prop_name] = nested_value
|
|
71
|
+
return val
|
|
59
72
|
|
|
60
73
|
expr_parts = ["select()"]
|
|
61
74
|
for i, prop in enumerate(ref.refprops):
|
|
@@ -67,7 +80,10 @@ def handle_ref_key_assignment(context: Context, keymap: KeyMap, env: Env, value:
|
|
|
67
80
|
for row in rows:
|
|
68
81
|
if val is not None:
|
|
69
82
|
raise MultiplePrimaryKeyCandidatesFound(ref, values=target_value)
|
|
70
|
-
|
|
83
|
+
if "_id" in row:
|
|
84
|
+
val = row["_id"]
|
|
85
|
+
else:
|
|
86
|
+
val = keymap.encode(keymap_name, target_value)
|
|
71
87
|
found_value = True
|
|
72
88
|
|
|
73
89
|
if not found_value:
|
|
@@ -84,6 +100,13 @@ def handle_ref_key_assignment(context: Context, keymap: KeyMap, env: Env, value:
|
|
|
84
100
|
values = values[0]
|
|
85
101
|
val[prop] = values
|
|
86
102
|
i = i + count
|
|
103
|
+
|
|
104
|
+
if isinstance(original_value, dict):
|
|
105
|
+
for nested_prop_name, nested_prop in ref.properties.items():
|
|
106
|
+
nested_value = original_value[nested_prop_name]
|
|
107
|
+
if isinstance(nested_value, dict):
|
|
108
|
+
nested_value = handle_ref_key_assignment(context, keymap, env, nested_value, nested_prop.dtype)
|
|
109
|
+
val[nested_prop_name] = nested_value
|
|
87
110
|
return val
|
|
88
111
|
|
|
89
112
|
|
|
@@ -1223,3 +1223,9 @@ class SourceOrPrepareNotAllowed(UserError):
|
|
|
1223
1223
|
template = """
|
|
1224
1224
|
The source {source} was not expected. Delete it from the manifest or update the prepare function to allow it.
|
|
1225
1225
|
"""
|
|
1226
|
+
|
|
1227
|
+
|
|
1228
|
+
class PartialIncorrectProperty(BaseError):
|
|
1229
|
+
template = (
|
|
1230
|
+
"The composite property {property} is not correct. Check if all parts of the composite property are present."
|
|
1231
|
+
)
|
|
@@ -94,7 +94,6 @@ def create_remote_server(
|
|
|
94
94
|
{
|
|
95
95
|
"config_path": confdir,
|
|
96
96
|
"default_auth_client": None,
|
|
97
|
-
"default_access_level": "protected",
|
|
98
97
|
}
|
|
99
98
|
)
|
|
100
99
|
context = create_test_context(rc)
|
|
@@ -294,7 +293,6 @@ def create_rc(
|
|
|
294
293
|
},
|
|
295
294
|
# tests/config/clients/3388ea36-4a4f-4821-900a-b574c8829d52.yml
|
|
296
295
|
"default_auth_client": "3388ea36-4a4f-4821-900a-b574c8829d52",
|
|
297
|
-
"default_access_level": "protected",
|
|
298
296
|
}
|
|
299
297
|
)
|
|
300
298
|
|
|
@@ -83,6 +83,11 @@ def load(context: Context, config: Config) -> Config:
|
|
|
83
83
|
default="private",
|
|
84
84
|
cast=lambda name: get_enum_by_name(Access, name),
|
|
85
85
|
)
|
|
86
|
+
config.access = rc.get(
|
|
87
|
+
"access",
|
|
88
|
+
default="open",
|
|
89
|
+
cast=lambda name: get_enum_by_name(Access, name),
|
|
90
|
+
)
|
|
86
91
|
config.http_basic_auth = rc.get("http_basic_auth", default=False, cast=asbool)
|
|
87
92
|
config.token_validation_key = rc.get("token_validation_key", cast=json.loads) or None
|
|
88
93
|
config.token_validation_keys_download_url = rc.get("token_validation_keys_download_url")
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
from copy import copy
|
|
2
|
+
|
|
3
|
+
from spinta import commands
|
|
4
|
+
from spinta.components import Context, Property
|
|
5
|
+
from spinta.core.enums import Mode
|
|
6
|
+
from spinta.exceptions import PartialTypeNotFound, ParentNodeNotFound, PartialIncorrectProperty
|
|
7
|
+
from spinta.types.datatype import Partial, Ref
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def get_ref_value(context: Context, prop: Property) -> Property | None:
|
|
11
|
+
parent = prop.parent
|
|
12
|
+
if not (isinstance(parent, Property) and isinstance(parent.dtype, Ref)):
|
|
13
|
+
return None
|
|
14
|
+
if isinstance(parent.dtype.model, str):
|
|
15
|
+
parent.dtype.model = commands.get_model(context, prop.model.manifest, parent.dtype.model)
|
|
16
|
+
model = parent.dtype.model
|
|
17
|
+
|
|
18
|
+
if prop.name not in model.properties:
|
|
19
|
+
return None
|
|
20
|
+
|
|
21
|
+
model_property_value = model.properties[prop.name]
|
|
22
|
+
model_dtype = model_property_value.dtype
|
|
23
|
+
if hasattr(model_dtype, "model") and isinstance(model_dtype.model, str):
|
|
24
|
+
model_property_value.dtype.model = commands.get_model(
|
|
25
|
+
context, prop.model.manifest, model_property_value.dtype.model
|
|
26
|
+
)
|
|
27
|
+
return model_property_value
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
@commands.link.register(Context, Partial)
|
|
31
|
+
def link(context: Context, dtype: Partial):
|
|
32
|
+
prop = dtype.prop
|
|
33
|
+
parent = prop.parent
|
|
34
|
+
if parent and isinstance(parent, Property):
|
|
35
|
+
if isinstance(parent.dtype, Ref):
|
|
36
|
+
props = dtype.properties
|
|
37
|
+
result = get_ref_value(context, prop)
|
|
38
|
+
if not result:
|
|
39
|
+
raise PartialIncorrectProperty(dtype)
|
|
40
|
+
prop.dtype = copy(result.dtype)
|
|
41
|
+
prop.dtype.properties = props
|
|
42
|
+
prop.dtype.inherited = True
|
|
43
|
+
prop.given.explicit = False
|
|
44
|
+
prop.given.name = ""
|
|
45
|
+
prop.dtype.prop = prop
|
|
46
|
+
if prop.level is None:
|
|
47
|
+
prop.level = result.level
|
|
48
|
+
# For external mode copy the external mapping
|
|
49
|
+
# For internal mode leave it as is, because it breaks multi-level denormalization
|
|
50
|
+
if result.external and prop.model.mode == Mode.external:
|
|
51
|
+
prop.external = copy(result.external)
|
|
52
|
+
if isinstance(prop.dtype, Ref):
|
|
53
|
+
prop.dtype.refprops = []
|
|
54
|
+
commands.link(context, prop.dtype)
|
|
55
|
+
else:
|
|
56
|
+
raise PartialTypeNotFound(dtype)
|
|
57
|
+
else:
|
|
58
|
+
raise ParentNodeNotFound(
|
|
59
|
+
dtype,
|
|
60
|
+
model_name=prop.model.name,
|
|
61
|
+
property_names=",".join([f"{prop.name}.{i}" for i in dtype.properties.keys()]),
|
|
62
|
+
missing_property_name=prop.name,
|
|
63
|
+
)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from typing import List
|
|
2
2
|
|
|
3
3
|
from spinta import commands
|
|
4
|
-
from spinta.components import Context
|
|
4
|
+
from spinta.components import Context, Model
|
|
5
5
|
from spinta.types.datatype import Ref
|
|
6
6
|
from spinta.exceptions import ModelReferenceNotFound, MissingRefModel
|
|
7
7
|
from spinta.exceptions import ModelReferenceKeyNotFound
|
|
@@ -25,6 +25,8 @@ def link(context: Context, dtype: Ref) -> None:
|
|
|
25
25
|
# Self reference.
|
|
26
26
|
dtype.model = dtype.prop.model
|
|
27
27
|
else:
|
|
28
|
+
if isinstance(rmodel, Model):
|
|
29
|
+
rmodel = rmodel.name
|
|
28
30
|
if not commands.has_model(context, dtype.prop.model.manifest, rmodel):
|
|
29
31
|
raise ModelReferenceNotFound(dtype, ref=rmodel)
|
|
30
32
|
dtype.model = commands.get_model(context, dtype.prop.model.manifest, rmodel)
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
from copy import copy
|
|
2
|
-
|
|
3
|
-
from spinta import commands
|
|
4
|
-
from spinta.components import Context, Property
|
|
5
|
-
from spinta.exceptions import PartialTypeNotFound, ParentNodeNotFound
|
|
6
|
-
from spinta.types.datatype import Partial, Ref
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def get_ref_value(context: Context, prop: Property):
|
|
10
|
-
parent = prop.parent
|
|
11
|
-
if isinstance(parent, Property) and isinstance(parent.dtype, Ref):
|
|
12
|
-
parent_parent = parent.parent
|
|
13
|
-
if isinstance(parent_parent, Property) and isinstance(parent_parent.dtype, Ref):
|
|
14
|
-
model = parent_parent.dtype.model
|
|
15
|
-
first_level = model.properties[parent.name]
|
|
16
|
-
if prop.name in first_level.dtype.properties:
|
|
17
|
-
return first_level.dtype.properties[prop.name]
|
|
18
|
-
else:
|
|
19
|
-
model = parent.dtype.model
|
|
20
|
-
if prop.name in model.properties:
|
|
21
|
-
return model.properties[prop.name]
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
@commands.link.register(Context, Partial)
|
|
25
|
-
def link(context: Context, dtype: Partial):
|
|
26
|
-
prop = dtype.prop
|
|
27
|
-
parent = prop.parent
|
|
28
|
-
if parent and isinstance(parent, Property):
|
|
29
|
-
if isinstance(parent.dtype, Ref):
|
|
30
|
-
props = dtype.properties
|
|
31
|
-
result = get_ref_value(context, prop)
|
|
32
|
-
prop.dtype = copy(result.dtype)
|
|
33
|
-
prop.dtype.properties = props
|
|
34
|
-
prop.dtype.inherited = True
|
|
35
|
-
prop.given.explicit = False
|
|
36
|
-
prop.given.name = ""
|
|
37
|
-
prop.dtype.prop = prop
|
|
38
|
-
for partial_prop in props.values():
|
|
39
|
-
commands.link(context, partial_prop)
|
|
40
|
-
else:
|
|
41
|
-
raise PartialTypeNotFound(dtype)
|
|
42
|
-
else:
|
|
43
|
-
raise ParentNodeNotFound(
|
|
44
|
-
dtype,
|
|
45
|
-
model_name=prop.model.name,
|
|
46
|
-
property_names=",".join([f"{prop.name}.{i}" for i in dtype.properties.keys()]),
|
|
47
|
-
missing_property_name=prop.name,
|
|
48
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|