spinta 0.2.dev10__tar.gz → 0.2.dev11__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.dev10 → spinta-0.2.dev11}/PKG-INFO +1 -1
- {spinta-0.2.dev10 → spinta-0.2.dev11}/pyproject.toml +1 -1
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/auth.py +18 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/init.py +2 -1
- spinta-0.2.dev11/spinta/backends/postgresql/helpers/type.py +13 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/validate.py +1 -2
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/array/init.py +3 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/array_backref/init.py +2 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/backref/init.py +2 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/denorm/init.py +2 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/external_ref/init.py +2 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/file/init.py +2 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/geometry/init.py +2 -1
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/object/init.py +2 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/ref/init.py +2 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/text/init.py +2 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/client.py +3 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/config.yml +21 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/core/config.py +0 -2
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/commands/column.py +2 -2
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/components.py +7 -1
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/query/ufuncs.py +3 -2
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/components.py +4 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/helpers.py +1 -1
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/inspect/helpers.py +11 -7
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/exceptions.py +32 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/check.py +9 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/sql/helpers.py +187 -76
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/config.py +1 -1
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/model.py +91 -2
- {spinta-0.2.dev10 → spinta-0.2.dev11}/LICENSE +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/README.rst +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/__main__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/accesslog/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/accesslog/file.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/accesslog/python.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/api/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/api/inspect.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/api/schema.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/api/validators.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/asgi.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/constants.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/bootstrap.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/changes.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/decode.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/encode.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/init.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/migrate.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/validate.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/wait.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/wipe.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/write.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/auth.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/bootstrap.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/changes.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/check.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/encode.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/init.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/manifest.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/wait.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/wipe.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/write.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/bootstrap.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/changes.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/encode.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/freeze.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/init.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/migrate.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/validate.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/wait.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/wipe.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/write.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/types/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/types/array/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/types/array/write.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/types/file/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/types/file/write.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/types/object/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/types/object/write.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/ufuncs/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/bootstrap.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/changes.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/init.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/wait.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/wipe.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/write.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/bootstrap.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/changes.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/column.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/encode.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/freeze.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/link.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/manifest.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/constants.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/migrate.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/model.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/property.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/types/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/types/datatype.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/types/file.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/types/geometry.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/types/ref.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/types/string.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/types/text.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/redirect.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/summary.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/validate.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/wait.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/wipe.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/write.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/constants.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/files.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/changes.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/exceptions.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/extractors.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/manifest.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/migrate/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/migrate/actions.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/migrate/migrate.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/name.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/redirect.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/sqlalchemy.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/array/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/array/freeze.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/array/wipe.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/array/write.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/array_backref/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/backref/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/denorm/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/external_ref/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/file/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/file/freeze.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/file/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/file/write.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/geometry/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/geometry/encode.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/geometry/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/geometry/write.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/object/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/object/freeze.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/object/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/object/wipe.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/ref/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/ref/freeze.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/ref/validate.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/text/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/result/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/result/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/result/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/types/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/admin.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/auth.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/config.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/data.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/get.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/admin/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/admin/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/admin/registry.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/admin/scripts/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/admin/scripts/changelog.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/admin/scripts/deduplicate.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/auth.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/data.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/errors.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/backends/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/backends/postgresql/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/backends/postgresql/commands.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/backends/postgresql/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/backends/postgresql/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/commands.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/manifest.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/message.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/migrate.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/delete.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/error.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/state.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/sync.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/utils.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/write.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/script/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/script/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/script/core.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/script/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/script/registry.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/store.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/api_helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/controllers/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/controllers/data_service.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/controllers/dataset.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/controllers/distribution.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/controllers/dsa.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/controllers/synchronization/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/controllers/synchronization/catalog_to_agent.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/enum.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/typer.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/registry.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/backends/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/backends/postgresql/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/backends/postgresql/comments.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/clients.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/keymaps/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/initial_setup.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/modified_time.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/redirect_support.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/redirect.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/init.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/inspect.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/keymap.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/main.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/manifest.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/migrate.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/pii.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/pull.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/push.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/server.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/show.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/sync.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/upgrade.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/commands/auth.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/commands/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/commands/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/commands/search.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/commands/version.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/commands/write.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/compat.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/config.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/core/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/core/access.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/core/context.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/core/enums.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/core/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/csv/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/csv/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/csv/commands/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/csv/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/json/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/json/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/json/commands/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/json/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/memory/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/memory/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/soap/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/soap/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/soap/commands/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/soap/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/soap/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/soap/ufuncs/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/soap/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/xml/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/xml/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/xml/commands/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/xml/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/commands/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/ufuncs/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/notimpl/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/notimpl/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/notimpl/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/notimpl/commands/wait.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/notimpl/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mariadb/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mariadb/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mariadb/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mssql/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mssql/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mssql/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mssql/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mssql/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mssql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mssql/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mysql/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mysql/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mysql/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mysql/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mysql/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mysql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mysql/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/oracle/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/oracle/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/oracle/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/oracle/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/postgresql/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/postgresql/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/postgresql/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/sqlite/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/sqlite/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/sqlite/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/commands/bootstrap.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/commands/cast.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/commands/init.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/commands/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/commands/wait.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/query/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/result/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/result/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/result/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/commands/inspect.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/commands/wait.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/ufuncs/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/wsdl/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/wsdl/commads/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/wsdl/commads/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/wsdl/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/commands/check.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/commands/error.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/commands/inspect.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/commands/link.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/commands/wipe.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/enums.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/inspect/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/inspect/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/inspect/commands/manifest.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/inspect/commands/merge.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/inspect/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/keymaps/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/keymaps/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/keymaps/redis.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/keymaps/sqlalchemy.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/keymaps/sync.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/utils.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/comments/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/comments/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/comments/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/enum/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/enum/commands.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/enum/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/enum/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/enum/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/lang/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/lang/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/lang/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/param/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/param/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/param/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/param/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/prefix/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/prefix/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/prefix/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/prefix/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/prefix/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dispatcher.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/fetcher.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/ascii/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/ascii/commands.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/ascii/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/ascii/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/csv/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/csv/commands.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/csv/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/html/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/html/commands.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/html/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/html/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/json/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/json/commands.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/json/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/jsonlines/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/jsonlines/commands.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/jsonlines/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/rdf/commands.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/rdf/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/xlsx/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/xlsx/commands.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/xlsx/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/hacks/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/hacks/spyna.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/hacks/urlparams.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/handlers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/logging_config.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifest/_ns.yml +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifest/_schema/version.yml +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifest/_schema.yml +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifest/_txn.yml +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/commands/bootstrap.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/commands/configure.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/commands/freeze.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/commands/manifest.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/commands/migrate.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/commands/sync.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/auth.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/error.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/init.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/inspect.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/link.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/manifest.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/migrate.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/dict/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/dict/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/dict/commands/configure.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/dict/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/dict/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/dict/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal/commands/configure.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/commands/auth.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/commands/backend.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/commands/bootstrap.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/commands/configure.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/commands/manifest.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/commands/read.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/memory/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/memory/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/memory/commands/configure.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/memory/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/memory/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/mermaid/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/mermaid/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/mermaid/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/open_api/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/open_api/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/open_api/commands/configure.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/open_api/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/open_api/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/open_api/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/open_api/openapi_config.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/open_api/openapi_generator.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/rdf/commands/bootstrap.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/rdf/commands/configure.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/rdf/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/rdf/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/rdf/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/sql/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/sql/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/sql/commands/configure.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/sql/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/sql/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/commands/bootstrap.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/commands/configure.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/constants.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/formats/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/formats/gsheets.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd/commands/configure.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd2/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd2/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd2/commands/configure.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd2/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd2/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd2/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/commands/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/commands/bootstrap.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/commands/configure.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/commands/freeze.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/commands/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/commands/manifest.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/commands/migrate.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/commands/sync.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/methods.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/middlewares.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/migrations/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/migrations/schema/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/migrations/schema/alembic.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/naming/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/naming/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/naming/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/naming/ufuncts.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/nodes.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/renderer.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/spyna.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/templates/base.html +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/templates/data.html +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/templates/error.html +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/templates/form.html +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/cli.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/client.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/config.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/context.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/csv.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/data.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/datasets.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/dtypes.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/manifest.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/migration.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/push.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/pytest.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/request.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/tabular.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/types/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/types/geometry.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/utils.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/array/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/array/check.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/array/link.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/array/resolve.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/backref/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/backref/link.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/command.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/datatype.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/denorm/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/denorm/check.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/denorm/link.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/file/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/file/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/file/decode.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/file/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/geometry/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/geometry/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/geometry/constants.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/geometry/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/geometry/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/inherit/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/inherit/check.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/namespace.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/object/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/object/check.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/object/link.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/partial/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/partial/link.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/ref/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/ref/check.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/ref/link.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/ref/resolve.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/store.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/text/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/text/check.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/text/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/text/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/text/load.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/typing.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/binds.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/changebase/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/changebase/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/changebase/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/changebase/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/common.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/linkbuilder/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/linkbuilder/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/linkbuilder/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/loadbuilder/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/loadbuilder/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/loadbuilder/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/loadbuilder/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/propertyresolver/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/propertyresolver/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/propertyresolver/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/querybuilder/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/querybuilder/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/querybuilder/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/querybuilder/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/requestparamsbuilder/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/requestparamsbuilder/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/requestparamsbuilder/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/requestparamsbuilder/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/resultbuilder/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/resultbuilder/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/resultbuilder/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/resultbuilder/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/summaryenv/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/summaryenv/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/summaryenv/ufuncs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/units/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/units/components.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/units/helpers.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/urlparams.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/__init__.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/aiotools.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/changes.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/collections.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/config.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/data.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/encoding.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/enums.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/errors.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/functools.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/idgen.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/imports.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/itertools.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/json.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/naming.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/nestedstruct.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/nin.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/passwords.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/path.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/refs.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/response.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/schema.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/scopes.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/sqlalchemy.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/sqlite.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/starlette.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/streams.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/tree.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/types.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/units.py +0 -0
- {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/url.py +0 -0
|
@@ -70,6 +70,11 @@ yml.indent(mapping=2, sequence=4, offset=2)
|
|
|
70
70
|
yml.width = 80
|
|
71
71
|
yml.explicit_start = False
|
|
72
72
|
|
|
73
|
+
# File permission constants for sensitive authentication files
|
|
74
|
+
OWNER_READABLE_FILE = 0o600 # rw------- (owner read/write only)
|
|
75
|
+
OWNER_READABLE_DIR = 0o700 # rwx------ (owner read/write/execute only)
|
|
76
|
+
WORLD_READABLE_FILE = 0o644 # rw-r--r-- (owner read/write, others read)
|
|
77
|
+
|
|
73
78
|
# Cache limits
|
|
74
79
|
CLIENT_FILE_CACHE_SIZE_LIMIT = 1000
|
|
75
80
|
KEYMAP_CACHE_SIZE_LIMIT = 1
|
|
@@ -831,6 +836,7 @@ def gen_auth_server_keys(
|
|
|
831
836
|
) -> Tuple[pathlib.Path, pathlib.Path]:
|
|
832
837
|
path = path / "keys"
|
|
833
838
|
path.mkdir(exist_ok=True)
|
|
839
|
+
os.chmod(path, OWNER_READABLE_DIR)
|
|
834
840
|
|
|
835
841
|
files = (
|
|
836
842
|
path / "private.json",
|
|
@@ -855,10 +861,12 @@ def gen_auth_server_keys(
|
|
|
855
861
|
with files[0].open("w") as f:
|
|
856
862
|
result = JsonWebKey.import_key(private_key, {"kty": "RSA"})
|
|
857
863
|
json.dump(result.as_dict(is_private=True), f, indent=4, ensure_ascii=False)
|
|
864
|
+
os.chmod(files[0], OWNER_READABLE_FILE)
|
|
858
865
|
|
|
859
866
|
with files[1].open("w") as f:
|
|
860
867
|
result = JsonWebKey.import_key(public_key, {"kty": "RSA"})
|
|
861
868
|
json.dump(result.as_dict(), f, indent=4, ensure_ascii=False)
|
|
869
|
+
os.chmod(files[1], WORLD_READABLE_FILE)
|
|
862
870
|
|
|
863
871
|
return files
|
|
864
872
|
|
|
@@ -916,6 +924,8 @@ def create_client_file(
|
|
|
916
924
|
raise ClientWithNameAlreadyExists(client_name=name)
|
|
917
925
|
|
|
918
926
|
os.makedirs(id_path / client_id[:2] / client_id[2:4], exist_ok=True)
|
|
927
|
+
os.chmod(id_path / client_id[:2], OWNER_READABLE_DIR)
|
|
928
|
+
os.chmod(id_path / client_id[:2] / client_id[2:4], OWNER_READABLE_DIR)
|
|
919
929
|
|
|
920
930
|
secret = secret or passwords.gensecret(32)
|
|
921
931
|
secret_hash = passwords.crypt(secret)
|
|
@@ -934,7 +944,9 @@ def create_client_file(
|
|
|
934
944
|
write = data.copy()
|
|
935
945
|
del write["client_secret"]
|
|
936
946
|
yml.dump(write, client_file)
|
|
947
|
+
os.chmod(client_file, OWNER_READABLE_FILE)
|
|
937
948
|
yml.dump(keymap, keymap_path)
|
|
949
|
+
os.chmod(keymap_path, OWNER_READABLE_FILE)
|
|
938
950
|
|
|
939
951
|
return client_file, data
|
|
940
952
|
|
|
@@ -1004,6 +1016,7 @@ def update_client_file(
|
|
|
1004
1016
|
}
|
|
1005
1017
|
|
|
1006
1018
|
yml.dump(new_data, client_path)
|
|
1019
|
+
os.chmod(client_path, OWNER_READABLE_FILE)
|
|
1007
1020
|
if keymap:
|
|
1008
1021
|
changed = False
|
|
1009
1022
|
# Check if client changed name
|
|
@@ -1014,6 +1027,7 @@ def update_client_file(
|
|
|
1014
1027
|
|
|
1015
1028
|
if changed:
|
|
1016
1029
|
yml.dump(keymap, keymap_path)
|
|
1030
|
+
os.chmod(keymap_path, OWNER_READABLE_FILE)
|
|
1017
1031
|
return new_data
|
|
1018
1032
|
else:
|
|
1019
1033
|
raise InvalidClientError(description="Invalid client id or secret")
|
|
@@ -1042,18 +1056,22 @@ def validate_id_path(id_path: pathlib.Path):
|
|
|
1042
1056
|
def ensure_client_folders_exist(clients_path: pathlib.Path):
|
|
1043
1057
|
# Ensure clients folder exist
|
|
1044
1058
|
clients_path.mkdir(parents=True, exist_ok=True)
|
|
1059
|
+
os.chmod(clients_path, OWNER_READABLE_DIR)
|
|
1045
1060
|
|
|
1046
1061
|
# Ensure clients/helpers directory
|
|
1047
1062
|
helpers_path = get_helpers_path(clients_path)
|
|
1048
1063
|
helpers_path.mkdir(parents=True, exist_ok=True)
|
|
1064
|
+
os.chmod(helpers_path, OWNER_READABLE_DIR)
|
|
1049
1065
|
|
|
1050
1066
|
# Ensure clients/helpers/keymap.yml exists
|
|
1051
1067
|
keymap_path = get_keymap_path(clients_path)
|
|
1052
1068
|
keymap_path.touch(exist_ok=True)
|
|
1069
|
+
os.chmod(keymap_path, OWNER_READABLE_FILE)
|
|
1053
1070
|
|
|
1054
1071
|
# Ensure clients/id directory
|
|
1055
1072
|
id_path = get_id_path(clients_path)
|
|
1056
1073
|
id_path.mkdir(parents=True, exist_ok=True)
|
|
1074
|
+
os.chmod(id_path, OWNER_READABLE_DIR)
|
|
1057
1075
|
|
|
1058
1076
|
|
|
1059
1077
|
def _keymap_file_cache_key(path: pathlib.Path, *args, **kwargs):
|
|
@@ -12,6 +12,7 @@ from spinta.backends.postgresql.helpers import get_column_name
|
|
|
12
12
|
from spinta.backends.postgresql.helpers.changes import get_changes_table
|
|
13
13
|
from spinta.backends.postgresql.helpers.name import PG_NAMING_CONVENTION, get_pg_table_name, get_pg_column_name
|
|
14
14
|
from spinta.backends.postgresql.helpers.redirect import get_redirect_table
|
|
15
|
+
from spinta.backends.postgresql.helpers.type import get_column_type
|
|
15
16
|
from spinta.components import Context, Model
|
|
16
17
|
from spinta.manifests.components import Manifest
|
|
17
18
|
from spinta.types.datatype import DataType, PrimaryKey, Ref
|
|
@@ -118,7 +119,7 @@ def prepare(context: Context, backend: PostgreSQL, dtype: DataType, **kwargs):
|
|
|
118
119
|
|
|
119
120
|
if dtype.name not in types:
|
|
120
121
|
raise Exception(f"Unknown type {dtype.name!r} for property {prop.place!r}.")
|
|
121
|
-
column_type = types[dtype.name]
|
|
122
|
+
column_type = get_column_type(dtype, types[dtype.name])
|
|
122
123
|
nullable = not dtype.required
|
|
123
124
|
return sa.Column(get_pg_column_name(name), column_type, unique=dtype.unique, nullable=nullable, comment=name)
|
|
124
125
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from spinta.components import Context
|
|
2
|
+
from spinta.backends.postgresql.components import PostgreSQL
|
|
3
|
+
from spinta.exceptions import UnsupportedDataTypeConfiguration
|
|
4
|
+
from spinta.types.datatype import DataType
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def validate_type_assignment(context: Context, backend: PostgreSQL, dtype: DataType):
|
|
8
|
+
if dtype.prop.external and dtype.prop.external.custom_type:
|
|
9
|
+
raise UnsupportedDataTypeConfiguration(dtype, data_type=dtype.name)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def get_column_type(dtype: DataType, default: object):
|
|
13
|
+
return dtype.prop.external and dtype.prop.external.custom_type or default
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
from spinta.components import Context, Property
|
|
2
|
-
from spinta.components import Context, Property, DataItem
|
|
3
1
|
from spinta.backends.postgresql.components import PostgreSQL
|
|
2
|
+
from spinta.components import Context, Property, DataItem
|
|
4
3
|
|
|
5
4
|
|
|
6
5
|
def pg_check_unique_constraint(
|
|
@@ -4,6 +4,7 @@ from sqlalchemy.dialects.postgresql import JSONB
|
|
|
4
4
|
|
|
5
5
|
from spinta import commands
|
|
6
6
|
from spinta.backends.postgresql.helpers.name import get_pg_column_name
|
|
7
|
+
from spinta.backends.postgresql.helpers.type import validate_type_assignment
|
|
7
8
|
from spinta.components import Context
|
|
8
9
|
from spinta.types.datatype import Array
|
|
9
10
|
from spinta.backends.constants import TableType
|
|
@@ -14,6 +15,8 @@ from spinta.backends.postgresql.helpers import get_pg_name
|
|
|
14
15
|
|
|
15
16
|
@commands.prepare.register(Context, PostgreSQL, Array)
|
|
16
17
|
def prepare(context: Context, backend: PostgreSQL, dtype: Array, **kwargs):
|
|
18
|
+
validate_type_assignment(context, backend, dtype)
|
|
19
|
+
|
|
17
20
|
prop = dtype.prop
|
|
18
21
|
|
|
19
22
|
columns = commands.prepare(context, backend, dtype.items, **kwargs)
|
{spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/array_backref/init.py
RENAMED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
from spinta import commands
|
|
2
2
|
from spinta.backends.postgresql.components import PostgreSQL
|
|
3
|
+
from spinta.backends.postgresql.helpers.type import validate_type_assignment
|
|
3
4
|
from spinta.components import Context
|
|
4
5
|
from spinta.types.datatype import ArrayBackRef
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
@commands.prepare.register(Context, PostgreSQL, ArrayBackRef)
|
|
8
9
|
def prepare(context: Context, backend: PostgreSQL, dtype: ArrayBackRef, **kwargs):
|
|
10
|
+
validate_type_assignment(context, backend, dtype)
|
|
9
11
|
return None
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
from spinta import commands
|
|
2
2
|
from spinta.backends.postgresql.components import PostgreSQL
|
|
3
|
+
from spinta.backends.postgresql.helpers.type import validate_type_assignment
|
|
3
4
|
from spinta.components import Context
|
|
4
5
|
from spinta.types.datatype import BackRef
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
@commands.prepare.register(Context, PostgreSQL, BackRef)
|
|
8
9
|
def prepare(context: Context, backend: PostgreSQL, dtype: BackRef, **kwargs):
|
|
10
|
+
validate_type_assignment(context, backend, dtype)
|
|
9
11
|
return None
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from spinta import commands
|
|
2
|
+
from spinta.backends.postgresql.helpers.type import validate_type_assignment
|
|
2
3
|
from spinta.components import Context
|
|
3
4
|
from spinta.types.datatype import Denorm
|
|
4
5
|
from spinta.backends.postgresql.components import PostgreSQL
|
|
@@ -6,4 +7,5 @@ from spinta.backends.postgresql.components import PostgreSQL
|
|
|
6
7
|
|
|
7
8
|
@commands.prepare.register(Context, PostgreSQL, Denorm)
|
|
8
9
|
def prepare(context: Context, backend: PostgreSQL, dtype: Denorm, **kwargs):
|
|
10
|
+
validate_type_assignment(context, backend, dtype)
|
|
9
11
|
return
|
|
@@ -2,6 +2,7 @@ import sqlalchemy as sa
|
|
|
2
2
|
|
|
3
3
|
from spinta import commands
|
|
4
4
|
from spinta.backends.postgresql.helpers.name import get_pg_column_name
|
|
5
|
+
from spinta.backends.postgresql.helpers.type import validate_type_assignment
|
|
5
6
|
from spinta.components import Context
|
|
6
7
|
from spinta.types.datatype import ExternalRef, Denorm
|
|
7
8
|
from spinta.backends.postgresql.components import PostgreSQL
|
|
@@ -10,6 +11,7 @@ from spinta.backends.postgresql.helpers import get_column_name
|
|
|
10
11
|
|
|
11
12
|
@commands.prepare.register(Context, PostgreSQL, ExternalRef)
|
|
12
13
|
def prepare(context: Context, backend: PostgreSQL, dtype: ExternalRef, propagate=True, **kwargs):
|
|
14
|
+
validate_type_assignment(context, backend, dtype)
|
|
13
15
|
columns = []
|
|
14
16
|
if not dtype.inherited:
|
|
15
17
|
if dtype.model.given.pkeys or dtype.explicit:
|
|
@@ -4,6 +4,7 @@ from sqlalchemy.dialects.postgresql import BIGINT, ARRAY
|
|
|
4
4
|
|
|
5
5
|
from spinta import commands
|
|
6
6
|
from spinta.backends.postgresql.helpers.name import get_pg_column_name
|
|
7
|
+
from spinta.backends.postgresql.helpers.type import validate_type_assignment
|
|
7
8
|
from spinta.components import Context
|
|
8
9
|
from spinta.types.datatype import File
|
|
9
10
|
from spinta.backends.constants import TableType, BackendFeatures
|
|
@@ -15,6 +16,7 @@ from spinta.backends.postgresql.helpers import get_column_name
|
|
|
15
16
|
|
|
16
17
|
@commands.prepare.register(Context, PostgreSQL, File)
|
|
17
18
|
def prepare(context: Context, backend: PostgreSQL, dtype: File, **kwargs):
|
|
19
|
+
validate_type_assignment(context, backend, dtype)
|
|
18
20
|
prop = dtype.prop
|
|
19
21
|
model = prop.model
|
|
20
22
|
|
|
@@ -5,6 +5,7 @@ from spinta import commands
|
|
|
5
5
|
from spinta.backends.postgresql.components import PostgreSQL
|
|
6
6
|
from spinta.backends.postgresql.helpers import get_column_name
|
|
7
7
|
from spinta.backends.postgresql.helpers.name import get_pg_column_name
|
|
8
|
+
from spinta.backends.postgresql.helpers.type import get_column_type
|
|
8
9
|
from spinta.components import Context
|
|
9
10
|
from spinta.types.geometry.components import Geometry
|
|
10
11
|
|
|
@@ -17,7 +18,7 @@ def prepare(context: Context, backend: PostgreSQL, dtype: Geometry, **kwargs) ->
|
|
|
17
18
|
# Have to disable spatial index and create our own, because Geoalchemy2 uses their own naming convention
|
|
18
19
|
kwargs = {"geometry_type": dtype.geometry_type, "srid": dtype.srid, "spatial_index": False}
|
|
19
20
|
kwargs = {k: v for k, v in kwargs.items() if v is not None}
|
|
20
|
-
column_type = ga.Geometry(**kwargs)
|
|
21
|
+
column_type = get_column_type(dtype, ga.Geometry(**kwargs))
|
|
21
22
|
nullable = not dtype.required
|
|
22
23
|
columns = [
|
|
23
24
|
column := sa.Column(get_pg_column_name(name), column_type, nullable=nullable, comment=name),
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from spinta import commands
|
|
2
|
+
from spinta.backends.postgresql.helpers.type import validate_type_assignment
|
|
2
3
|
from spinta.components import Context
|
|
3
4
|
from spinta.types.datatype import Object
|
|
4
5
|
from spinta.backends.postgresql.components import PostgreSQL
|
|
@@ -6,6 +7,7 @@ from spinta.backends.postgresql.components import PostgreSQL
|
|
|
6
7
|
|
|
7
8
|
@commands.prepare.register(Context, PostgreSQL, Object)
|
|
8
9
|
def prepare(context: Context, backend: PostgreSQL, dtype: Object, **kwargs):
|
|
10
|
+
validate_type_assignment(context, backend, dtype)
|
|
9
11
|
columns = []
|
|
10
12
|
for prop in dtype.properties.values():
|
|
11
13
|
if prop.name.startswith("_") and prop.name not in ("_revision",):
|
|
@@ -7,12 +7,14 @@ from spinta import commands
|
|
|
7
7
|
from spinta.backends.postgresql.components import PostgreSQL
|
|
8
8
|
from spinta.backends.postgresql.helpers import get_column_name
|
|
9
9
|
from spinta.backends.postgresql.helpers.name import get_pg_column_name, get_pg_table_name
|
|
10
|
+
from spinta.backends.postgresql.helpers.type import validate_type_assignment
|
|
10
11
|
from spinta.components import Context, Property
|
|
11
12
|
from spinta.types.datatype import Ref
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
@commands.prepare.register(Context, PostgreSQL, Ref)
|
|
15
16
|
def prepare(context: Context, backend: PostgreSQL, dtype: Ref, propagate: bool = True, **kwargs):
|
|
17
|
+
validate_type_assignment(context, backend, dtype)
|
|
16
18
|
pkey_type = commands.get_primary_key_type(context, backend)
|
|
17
19
|
columns = []
|
|
18
20
|
|
|
@@ -4,6 +4,7 @@ from sqlalchemy.dialects.postgresql import JSONB
|
|
|
4
4
|
from spinta import commands
|
|
5
5
|
from spinta.backends.postgresql.components import PostgreSQL
|
|
6
6
|
from spinta.backends.postgresql.helpers import get_column_name
|
|
7
|
+
from spinta.backends.postgresql.helpers.type import validate_type_assignment
|
|
7
8
|
from spinta.backends.postgresql.helpers.name import get_pg_column_name
|
|
8
9
|
from spinta.components import Context
|
|
9
10
|
from spinta.types.text.components import Text
|
|
@@ -11,6 +12,7 @@ from spinta.types.text.components import Text
|
|
|
11
12
|
|
|
12
13
|
@commands.prepare.register(Context, PostgreSQL, Text)
|
|
13
14
|
def prepare(context: Context, backend: PostgreSQL, dtype: Text, **kwargs):
|
|
15
|
+
validate_type_assignment(context, backend, dtype)
|
|
14
16
|
prop = dtype.prop
|
|
15
17
|
name = get_column_name(prop)
|
|
16
18
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import configparser
|
|
2
2
|
import dataclasses
|
|
3
|
+
import os
|
|
3
4
|
import pathlib
|
|
4
5
|
import urllib.parse
|
|
5
6
|
from typing import List
|
|
@@ -7,6 +8,7 @@ from typing import Optional
|
|
|
7
8
|
|
|
8
9
|
import requests
|
|
9
10
|
|
|
11
|
+
from spinta.auth import OWNER_READABLE_FILE
|
|
10
12
|
from spinta.exceptions import RemoteClientCredentialsNotFound
|
|
11
13
|
from spinta.exceptions import RemoteClientCredentialsNotGiven
|
|
12
14
|
from spinta.exceptions import RemoteClientScopesNotGiven
|
|
@@ -150,6 +152,7 @@ def add_client_credentials(
|
|
|
150
152
|
|
|
151
153
|
with credsfile.open("w") as f:
|
|
152
154
|
config.write(f)
|
|
155
|
+
os.chmod(credsfile, OWNER_READABLE_FILE)
|
|
153
156
|
|
|
154
157
|
|
|
155
158
|
def get_access_token(creds: RemoteClientCredentials) -> str:
|
|
@@ -130,6 +130,27 @@ manifests:
|
|
|
130
130
|
file:
|
|
131
131
|
type: io
|
|
132
132
|
|
|
133
|
+
models:
|
|
134
|
+
type: object
|
|
135
|
+
keys:
|
|
136
|
+
type: string
|
|
137
|
+
values:
|
|
138
|
+
type: object
|
|
139
|
+
items:
|
|
140
|
+
backend:
|
|
141
|
+
type: ref
|
|
142
|
+
ref: backends
|
|
143
|
+
properties:
|
|
144
|
+
type: object
|
|
145
|
+
keys:
|
|
146
|
+
type: string
|
|
147
|
+
values:
|
|
148
|
+
type: object
|
|
149
|
+
keys:
|
|
150
|
+
type: string
|
|
151
|
+
values:
|
|
152
|
+
type: any
|
|
153
|
+
|
|
133
154
|
manifest:
|
|
134
155
|
type: ref
|
|
135
156
|
ref: manifests
|
|
@@ -24,7 +24,7 @@ def get_column(backend: Sql, data: tuple, **kwargs):
|
|
|
24
24
|
@commands.get_column.register(Sql, DataType)
|
|
25
25
|
def get_column(backend: Sql, dtype: DataType, table: sa.Table, **kwargs):
|
|
26
26
|
prop = dtype.prop
|
|
27
|
-
if prop.external
|
|
27
|
+
if not prop.external or not prop.external.name:
|
|
28
28
|
raise NoExternalName(prop)
|
|
29
29
|
if prop.external.name not in table.c:
|
|
30
30
|
raise PropertyNotFound(
|
|
@@ -38,7 +38,7 @@ def get_column(backend: Sql, dtype: DataType, table: sa.Table, **kwargs):
|
|
|
38
38
|
@commands.get_column.register(Sql, Ref)
|
|
39
39
|
def get_column(backend: Sql, dtype: Ref, table: sa.Table, **kwargs):
|
|
40
40
|
prop = dtype.prop
|
|
41
|
-
if prop.external
|
|
41
|
+
if not prop.external or not prop.external.name and not dtype.inherited:
|
|
42
42
|
raise NoExternalName(prop)
|
|
43
43
|
|
|
44
44
|
if prop.external.name:
|
|
@@ -44,7 +44,13 @@ class Sql(ExternalBackend):
|
|
|
44
44
|
key = name
|
|
45
45
|
|
|
46
46
|
if key not in self.schema.tables:
|
|
47
|
-
|
|
47
|
+
schema = None
|
|
48
|
+
if "." in key:
|
|
49
|
+
split = key.split(".", 1)
|
|
50
|
+
schema = split[0]
|
|
51
|
+
name = split[1]
|
|
52
|
+
|
|
53
|
+
sa.Table(name, self.schema, schema=schema, autoload_with=self.engine)
|
|
48
54
|
|
|
49
55
|
return self.schema.tables[key]
|
|
50
56
|
|
|
@@ -237,7 +237,7 @@ def _resolve_unresolved(env: SqlQueryBuilder, value: Any) -> Any:
|
|
|
237
237
|
|
|
238
238
|
@ufunc.resolver(SqlQueryBuilder, Property)
|
|
239
239
|
def _resolve_unresolved(env: SqlQueryBuilder, prop: Property) -> sa.Column:
|
|
240
|
-
if prop.external
|
|
240
|
+
if not prop.external:
|
|
241
241
|
raise NoExternalName(prop)
|
|
242
242
|
|
|
243
243
|
if prop.external.name:
|
|
@@ -383,7 +383,8 @@ def select(env: SqlQueryBuilder, prop: Property) -> Selected:
|
|
|
383
383
|
if prop.place not in env.resolved:
|
|
384
384
|
if isinstance(prop.external, list):
|
|
385
385
|
raise SourceCannotBeList(prop)
|
|
386
|
-
|
|
386
|
+
|
|
387
|
+
if prop.external and prop.external.prepare is not NA:
|
|
387
388
|
# If `prepare` formula is given, evaluate formula.
|
|
388
389
|
if isinstance(prop.external.prepare, Expr):
|
|
389
390
|
result = env(this=prop).resolve(prop.external.prepare)
|
|
@@ -242,9 +242,13 @@ class Attribute(External):
|
|
|
242
242
|
name: str # property.source
|
|
243
243
|
prepare: Expr = NA # property.prepare
|
|
244
244
|
|
|
245
|
+
# Type object, that overwrites default types
|
|
246
|
+
custom_type: Any = None
|
|
247
|
+
|
|
245
248
|
schema = {
|
|
246
249
|
"prop": {"parent": True},
|
|
247
250
|
"name": {"default": None},
|
|
248
251
|
"prepare": {"type": "spyna", "default": NA},
|
|
249
252
|
"type": {"type": "string"},
|
|
253
|
+
"custom_type": {"type": "object", "default": None},
|
|
250
254
|
}
|
|
@@ -166,7 +166,7 @@ def get_ref_filters(
|
|
|
166
166
|
seen = seen or []
|
|
167
167
|
|
|
168
168
|
for prop in take(["_id", all], model.properties).values():
|
|
169
|
-
if prop.external
|
|
169
|
+
if not prop.external or not prop.external.name:
|
|
170
170
|
# Do not include properties, that has no external source, we can't
|
|
171
171
|
# query data if there is no source.
|
|
172
172
|
continue
|
|
@@ -225,13 +225,17 @@ def zipitems(
|
|
|
225
225
|
res[mapped_key] = [new_value]
|
|
226
226
|
continue
|
|
227
227
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
228
|
+
existing_list = res[mapped_key]
|
|
229
|
+
|
|
230
|
+
# 1) Fill ALL rows that still have NA on the right
|
|
231
|
+
na_rows = [row for row in existing_list if row[1] is NA]
|
|
232
|
+
if na_rows:
|
|
233
|
+
for row in na_rows:
|
|
234
|
+
row[1] = value
|
|
235
|
+
else:
|
|
236
|
+
# 2) No NA slots left -> append exactly ONE new row
|
|
237
|
+
left_side = existing_list[0][0] if existing_list else NA
|
|
238
|
+
existing_list.append([left_side, value])
|
|
235
239
|
|
|
236
240
|
yield from res.values()
|
|
237
241
|
|
|
@@ -1169,3 +1169,35 @@ class MissingPostgresqlComments(UpgradeError):
|
|
|
1169
1169
|
{table!r} does not have a comment.
|
|
1170
1170
|
Please run `spinta upgrade postgresql_comments` to update all comments.
|
|
1171
1171
|
"""
|
|
1172
|
+
|
|
1173
|
+
|
|
1174
|
+
class InvalidCustomPropertyTypeConfiguration(UserError):
|
|
1175
|
+
template = """
|
|
1176
|
+
Unable to import custom property type: {custom_property_type!r}.
|
|
1177
|
+
"""
|
|
1178
|
+
|
|
1179
|
+
|
|
1180
|
+
class InvalidCustomPropertyTypeWithArgsConfiguration(UserError):
|
|
1181
|
+
template = """
|
|
1182
|
+
Unable to import custom property type: {custom_property_type!r}.
|
|
1183
|
+
|
|
1184
|
+
Using args: {args}.
|
|
1185
|
+
"""
|
|
1186
|
+
|
|
1187
|
+
|
|
1188
|
+
class UnknownConfigurationParameters(UserError):
|
|
1189
|
+
template = """
|
|
1190
|
+
{config_type} {config_object!r} configuration contains unknown parameters: {unknown_params}.
|
|
1191
|
+
"""
|
|
1192
|
+
|
|
1193
|
+
|
|
1194
|
+
class MissingConfigurationParameter(UserError):
|
|
1195
|
+
template = """
|
|
1196
|
+
{config_type} {config_object!r} configuration is missing parameter: {missing_params!r}.
|
|
1197
|
+
"""
|
|
1198
|
+
|
|
1199
|
+
|
|
1200
|
+
class UnsupportedDataTypeConfiguration(UserError):
|
|
1201
|
+
template = """
|
|
1202
|
+
DataType {data_type!r} currently does not support custom type assignment in configuration.
|
|
1203
|
+
"""
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
from spinta import commands
|
|
2
2
|
from spinta.components import Context
|
|
3
|
+
from spinta.core.config import RawConfig
|
|
4
|
+
from spinta.exceptions import ModelNotFound
|
|
3
5
|
from spinta.manifests.components import Manifest, get_manifest_object_names
|
|
4
6
|
|
|
5
7
|
|
|
@@ -8,3 +10,10 @@ def check(context: Context, manifest: Manifest):
|
|
|
8
10
|
for node in get_manifest_object_names():
|
|
9
11
|
for obj in commands.get_nodes(context, manifest, node).values():
|
|
10
12
|
check(context, obj)
|
|
13
|
+
|
|
14
|
+
# Check if the configuration does not contain unknown models
|
|
15
|
+
rc: RawConfig = context.get("rc")
|
|
16
|
+
if rc.has("models"):
|
|
17
|
+
for name in rc.keys("models"):
|
|
18
|
+
if not commands.has_model(context, manifest, name):
|
|
19
|
+
raise ModelNotFound(manifest, model=name)
|