spinta 0.2.dev23__tar.gz → 0.2.dev24__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.dev23 → spinta-0.2.dev24}/PKG-INFO +2 -1
- {spinta-0.2.dev23 → spinta-0.2.dev24}/pyproject.toml +2 -1
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/__init__.py +60 -2
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/helpers.py +26 -1
- spinta-0.2.dev24/spinta/cli/comment.py +113 -0
- spinta-0.2.dev24/spinta/cli/helpers/enums.py +5 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/main.py +4 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/manifest.py +11 -9
- spinta-0.2.dev24/spinta/cli/uncomment.py +110 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/components.py +12 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/config.py +1 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/core/access.py +2 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/commands/read.py +5 -2
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/ufuncs/query/ufuncs.py +11 -1
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/helpers.py +2 -1
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/commands/cast.py +20 -17
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/commands/read.py +50 -15
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/ufuncs/query/ufuncs.py +11 -1
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/components.py +0 -1
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/helpers.py +36 -3
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/comments/components.py +3 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/comments/helpers.py +2 -0
- spinta-0.2.dev24/spinta/dimensions/scope/components.py +46 -0
- spinta-0.2.dev24/spinta/dimensions/scope/helpers.py +39 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/exceptions.py +24 -5
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/html/commands.py +8 -5
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/html/helpers.py +7 -1
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/internal_sql/helpers.py +4 -2
- spinta-0.2.dev24/spinta/manifests/mermaid/helpers.py +330 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/tabular/components.py +19 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/tabular/helpers.py +110 -6
- spinta-0.2.dev24/spinta/types/__init__.py +1 -0
- spinta-0.2.dev24/spinta/types/array/__init__.py +1 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/array/link.py +6 -3
- spinta-0.2.dev24/spinta/types/backref/__init__.py +1 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/backref/link.py +9 -3
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/datatype.py +11 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/helpers.py +67 -2
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/model.py +44 -2
- spinta-0.2.dev24/spinta/types/ref/__init__.py +1 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/ref/link.py +5 -3
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/urlparams.py +2 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/naming.py +2 -2
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/url.py +3 -0
- spinta-0.2.dev23/spinta/manifests/mermaid/helpers.py +0 -259
- spinta-0.2.dev23/spinta/ufuncs/resultbuilder/__init__.py +0 -0
- spinta-0.2.dev23/spinta/ufuncs/summaryenv/__init__.py +0 -0
- spinta-0.2.dev23/spinta/units/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/LICENSE +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/README.rst +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/__main__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/accesslog/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/accesslog/file.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/accesslog/python.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/adapters/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/adapters/rc/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/adapters/rc/signature_adapter.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/adapters/soap_plugins.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/api/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/api/inspect.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/api/schema.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/api/validators.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/asgi.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/auth.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/constants.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/fs/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/fs/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/fs/commands/bootstrap.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/fs/commands/changes.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/fs/commands/decode.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/fs/commands/encode.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/fs/commands/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/fs/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/fs/commands/migrate.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/fs/commands/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/fs/commands/validate.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/fs/commands/wait.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/fs/commands/wipe.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/fs/commands/write.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/fs/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/memory/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/memory/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/memory/commands/auth.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/memory/commands/bootstrap.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/memory/commands/changes.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/memory/commands/check.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/memory/commands/encode.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/memory/commands/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/memory/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/memory/commands/manifest.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/memory/commands/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/memory/commands/wait.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/memory/commands/wipe.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/memory/commands/write.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/memory/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/commands/bootstrap.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/commands/changes.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/commands/encode.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/commands/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/commands/migrate.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/commands/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/commands/validate.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/commands/wait.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/commands/wipe.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/commands/write.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/types/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/types/array/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/types/array/write.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/types/file/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/types/file/write.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/types/object/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/types/object/write.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/ufuncs/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/mongo/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/nobackend/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/nobackend/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/nobackend/commands/bootstrap.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/nobackend/commands/changes.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/nobackend/commands/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/nobackend/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/nobackend/commands/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/nobackend/commands/wait.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/nobackend/commands/wipe.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/nobackend/commands/write.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/nobackend/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/bootstrap.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/changes.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/column.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/encode.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/link.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/manifest.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/migrate/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/migrate/constants.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/migrate/migrate.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/migrate/model.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/migrate/property.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/migrate/types/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/migrate/types/array.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/migrate/types/datatype.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/migrate/types/file.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/migrate/types/geometry.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/migrate/types/object.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/migrate/types/ref.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/migrate/types/string.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/migrate/types/text.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/redirect.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/summary.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/validate.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/wait.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/wipe.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/commands/write.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/constants.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/files.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/helpers/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/helpers/changes.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/helpers/exceptions.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/helpers/extractors.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/helpers/manifest.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/helpers/migrate/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/helpers/migrate/actions.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/helpers/migrate/cast.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/helpers/migrate/migrate.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/helpers/migrate/name.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/helpers/name.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/helpers/redirect.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/helpers/type.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/helpers/validate.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/sqlalchemy.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/array/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/array/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/array/wipe.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/array/write.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/array_backref/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/array_backref/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/backref/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/backref/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/denorm/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/denorm/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/external_ref/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/external_ref/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/file/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/file/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/file/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/file/write.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/geometry/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/geometry/encode.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/geometry/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/geometry/write.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/object/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/object/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/object/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/object/wipe.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/ref/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/ref/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/ref/validate.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/text/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/types/text/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/ufuncs/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/ufuncs/result/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/ufuncs/result/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/ufuncs/result/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/postgresql/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/backends/types/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/admin.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/auth.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/config.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/data.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/get.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/admin/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/admin/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/admin/registry.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/admin/scripts/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/admin/scripts/changelog.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/admin/scripts/deduplicate.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/admin/scripts/enums.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/auth.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/data.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/errors.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/export/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/export/backends/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/export/backends/postgresql/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/export/backends/postgresql/commands.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/export/backends/postgresql/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/export/backends/postgresql/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/export/commands.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/export/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/export/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/manifest.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/message.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/migrate.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/push/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/push/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/push/delete.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/push/error.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/push/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/push/state.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/push/sync.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/push/utils.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/push/write.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/script/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/script/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/script/core.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/script/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/script/registry.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/store.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/sync/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/sync/api_helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/sync/controllers/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/sync/controllers/data_service.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/sync/controllers/dataset.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/sync/controllers/distribution.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/sync/controllers/dsa.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/sync/controllers/synchronization/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/sync/controllers/synchronization/connection.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/sync/controllers/synchronization/manifest_catalog_to_agent.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/sync/enum.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/sync/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/typer.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/upgrade/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/upgrade/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/upgrade/registry.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/upgrade/scripts/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/upgrade/scripts/backends/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/upgrade/scripts/backends/postgresql/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/upgrade/scripts/backends/postgresql/comments.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/upgrade/scripts/backends/postgresql/schemas.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/upgrade/scripts/clients.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/upgrade/scripts/keymaps/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/initial_setup.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/modified_time.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/redirect_support.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/helpers/upgrade/scripts/redirect.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/inspect.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/keymap.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/migrate.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/pii.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/pull.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/push.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/server.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/show.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/sync.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/cli/upgrade.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/client.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/commands/auth.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/commands/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/commands/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/commands/search.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/commands/version.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/commands/write.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/compat.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/config.yml +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/core/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/core/config.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/core/context.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/core/enums.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/core/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/csv/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/csv/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/csv/commands/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/csv/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/json/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/json/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/json/commands/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/json/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/memory/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/memory/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/soap/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/soap/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/soap/commands/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/soap/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/soap/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/soap/ufuncs/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/soap/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/xml/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/xml/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/xml/commands/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/backends/xml/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/commands/check.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/ufuncs/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/notimpl/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/notimpl/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/notimpl/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/notimpl/commands/wait.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/notimpl/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mariadb/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mariadb/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mariadb/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mssql/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mssql/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mssql/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mssql/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mssql/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mssql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mssql/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mysql/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mysql/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mysql/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mysql/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mysql/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mysql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/mysql/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/oracle/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/oracle/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/oracle/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/oracle/types/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/oracle/types/geometry/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/oracle/types/geometry/encode.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/oracle/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/postgresql/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/postgresql/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/postgresql/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/base.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/commands/cast.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/commands/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/constants.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/dialect.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/formats.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/identifier.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/introspection.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/log4j.properties +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/types.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sas/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sqlite/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sqlite/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sqlite/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/commands/bootstrap.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/commands/column.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/commands/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/commands/wait.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/ufuncs/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/ufuncs/query/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/ufuncs/result/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/ufuncs/result/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/ufuncs/result/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sql/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sqldump/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sqldump/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sqldump/commands/inspect.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sqldump/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sqldump/commands/wait.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sqldump/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sqldump/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sqldump/ufuncs/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/sqldump/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/wsdl/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/wsdl/commads/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/wsdl/commads/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/wsdl/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/commands/check.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/commands/error.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/commands/inspect.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/commands/link.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/commands/wipe.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/enums.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/inspect/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/inspect/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/inspect/commands/manifest.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/inspect/commands/merge.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/inspect/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/inspect/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/keymaps/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/keymaps/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/keymaps/redis.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/keymaps/sqlalchemy.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/keymaps/sync.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/utils.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/comments/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/enum/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/enum/commands.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/enum/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/enum/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/enum/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/lang/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/lang/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/lang/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/param/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/param/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/param/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/param/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/prefix/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/prefix/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/prefix/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/prefix/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dimensions/prefix/helpers.py +0 -0
- {spinta-0.2.dev23/spinta/formats → spinta-0.2.dev24/spinta/dimensions/scope}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/dispatcher.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/fetcher.py +0 -0
- {spinta-0.2.dev23/spinta/formats/ascii → spinta-0.2.dev24/spinta/formats}/__init__.py +0 -0
- {spinta-0.2.dev23/spinta/formats/csv → spinta-0.2.dev24/spinta/formats/ascii}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/ascii/commands.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/ascii/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/ascii/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/components.py +0 -0
- {spinta-0.2.dev23/spinta/formats/html → spinta-0.2.dev24/spinta/formats/csv}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/csv/commands.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/csv/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/helpers.py +0 -0
- {spinta-0.2.dev23/spinta/formats/json → spinta-0.2.dev24/spinta/formats/html}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/html/components.py +0 -0
- {spinta-0.2.dev23/spinta/formats/jsonlines → spinta-0.2.dev24/spinta/formats/json}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/json/commands.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/json/components.py +0 -0
- {spinta-0.2.dev23/spinta/formats/xlsx → spinta-0.2.dev24/spinta/formats/jsonlines}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/jsonlines/commands.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/jsonlines/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/rdf/commands.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/rdf/components.py +0 -0
- {spinta-0.2.dev23/spinta/hacks → spinta-0.2.dev24/spinta/formats/xlsx}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/xlsx/commands.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/formats/xlsx/components.py +0 -0
- {spinta-0.2.dev23/spinta/manifests → spinta-0.2.dev24/spinta/hacks}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/hacks/spyna.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/hacks/urlparams.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/handlers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/logging_config.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifest/_ns.yml +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifest/_schema/version.yml +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifest/_schema.yml +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifest/_txn.yml +0 -0
- {spinta-0.2.dev23/spinta/manifests/backend → spinta-0.2.dev24/spinta/manifests}/__init__.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/backend/commands → spinta-0.2.dev24/spinta/manifests/backend}/__init__.py +0 -0
- {spinta-0.2.dev23/spinta/manifests → spinta-0.2.dev24/spinta/manifests/backend}/commands/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/backend/commands/bootstrap.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/backend/commands/configure.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/backend/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/backend/commands/manifest.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/backend/commands/migrate.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/backend/commands/sync.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/backend/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/backend/helpers.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/dict → spinta-0.2.dev24/spinta/manifests/commands}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/commands/auth.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/commands/check.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/commands/error.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/commands/init.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/commands/inspect.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/commands/link.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/commands/manifest.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/commands/migrate.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/commands/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/components.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/dict/commands → spinta-0.2.dev24/spinta/manifests/dict}/__init__.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/internal → spinta-0.2.dev24/spinta/manifests/dict/commands}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/dict/commands/configure.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/dict/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/dict/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/dict/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/helpers.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/internal/commands → spinta-0.2.dev24/spinta/manifests/internal}/__init__.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/internal_sql → spinta-0.2.dev24/spinta/manifests/internal/commands}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/internal/commands/configure.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/internal/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/internal/components.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/internal_sql/commands → spinta-0.2.dev24/spinta/manifests/internal_sql}/__init__.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/memory → spinta-0.2.dev24/spinta/manifests/internal_sql/commands}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/internal_sql/commands/auth.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/internal_sql/commands/backend.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/internal_sql/commands/bootstrap.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/internal_sql/commands/configure.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/internal_sql/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/internal_sql/commands/manifest.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/internal_sql/commands/read.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/internal_sql/components.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/memory/commands → spinta-0.2.dev24/spinta/manifests/memory}/__init__.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/mermaid → spinta-0.2.dev24/spinta/manifests/memory/commands}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/memory/commands/configure.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/memory/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/memory/components.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/open_api → spinta-0.2.dev24/spinta/manifests/mermaid}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/mermaid/components.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/open_api/commands → spinta-0.2.dev24/spinta/manifests/open_api}/__init__.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/sql → spinta-0.2.dev24/spinta/manifests/open_api/commands}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/open_api/commands/configure.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/open_api/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/open_api/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/open_api/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/open_api/openapi_config.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/open_api/openapi_generator.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/rdf/commands/bootstrap.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/rdf/commands/configure.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/rdf/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/rdf/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/rdf/helpers.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/sql/commands → spinta-0.2.dev24/spinta/manifests/sql}/__init__.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/tabular → spinta-0.2.dev24/spinta/manifests/sql/commands}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/sql/commands/configure.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/sql/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/sql/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/sql/helpers.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/tabular/commands → spinta-0.2.dev24/spinta/manifests/tabular}/__init__.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/tabular/formats → spinta-0.2.dev24/spinta/manifests/tabular/commands}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/tabular/commands/bootstrap.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/tabular/commands/configure.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/tabular/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/tabular/constants.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/xsd → spinta-0.2.dev24/spinta/manifests/tabular/formats}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/tabular/formats/gsheets.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/xsd/commands → spinta-0.2.dev24/spinta/manifests/xsd}/__init__.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/yaml → spinta-0.2.dev24/spinta/manifests/xsd/commands}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/xsd/commands/configure.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/xsd/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/xsd/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/xsd/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/xsd2/commands/load.py +0 -0
- {spinta-0.2.dev23/spinta/manifests/yaml/commands → spinta-0.2.dev24/spinta/manifests/yaml}/__init__.py +0 -0
- {spinta-0.2.dev23/spinta/naming → spinta-0.2.dev24/spinta/manifests/yaml/commands}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/yaml/commands/bootstrap.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/yaml/commands/configure.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/yaml/commands/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/yaml/commands/manifest.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/yaml/commands/migrate.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/yaml/commands/sync.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/yaml/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/manifests/yaml/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/methods.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/middlewares.py +0 -0
- {spinta-0.2.dev23/spinta/testing/types → spinta-0.2.dev24/spinta/naming}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/naming/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/naming/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/naming/ufuncts.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/nodes.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/renderer.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/spyna.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/templates/base.html +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/templates/data.html +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/templates/error.html +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/templates/form.html +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/cli.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/client.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/config.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/context.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/csv.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/data.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/datasets.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/dtypes.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/manifest.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/migration.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/push.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/pytest.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/request.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/tabular.py +0 -0
- {spinta-0.2.dev23/spinta → spinta-0.2.dev24/spinta/testing}/types/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/types/geometry.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/testing/utils.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/array/check.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/array/resolve.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/command.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/config.py +0 -0
- {spinta-0.2.dev23/spinta/types/array → spinta-0.2.dev24/spinta/types/denorm}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/denorm/check.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/denorm/link.py +0 -0
- {spinta-0.2.dev23/spinta/types/backref → spinta-0.2.dev24/spinta/types/file}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/file/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/file/decode.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/file/helpers.py +0 -0
- {spinta-0.2.dev23/spinta/types/denorm → spinta-0.2.dev24/spinta/types/geometry}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/geometry/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/geometry/constants.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/geometry/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/geometry/load.py +0 -0
- {spinta-0.2.dev23/spinta/types/file → spinta-0.2.dev24/spinta/types/inherit}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/inherit/check.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/namespace.py +0 -0
- {spinta-0.2.dev23/spinta/types/geometry → spinta-0.2.dev24/spinta/types/object}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/object/check.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/object/link.py +0 -0
- {spinta-0.2.dev23/spinta/types/inherit → spinta-0.2.dev24/spinta/types/partial}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/partial/link.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/ref/check.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/ref/resolve.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/store.py +0 -0
- {spinta-0.2.dev23/spinta/types/object → spinta-0.2.dev24/spinta/types/text}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/text/check.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/text/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/text/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/types/text/load.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/typing.py +0 -0
- {spinta-0.2.dev23/spinta/types/partial → spinta-0.2.dev24/spinta/ufuncs}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/binds.py +0 -0
- {spinta-0.2.dev23/spinta/types/ref → spinta-0.2.dev24/spinta/ufuncs/changebase}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/changebase/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/changebase/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/changebase/ufuncs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/common.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/helpers.py +0 -0
- {spinta-0.2.dev23/spinta/types/text → spinta-0.2.dev24/spinta/ufuncs/linkbuilder}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/linkbuilder/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/linkbuilder/ufuncs.py +0 -0
- {spinta-0.2.dev23/spinta/ufuncs → spinta-0.2.dev24/spinta/ufuncs/loadbuilder}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/loadbuilder/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/loadbuilder/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/loadbuilder/ufuncs.py +0 -0
- {spinta-0.2.dev23/spinta/ufuncs/changebase → spinta-0.2.dev24/spinta/ufuncs/propertyresolver}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/propertyresolver/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/propertyresolver/ufuncs.py +0 -0
- {spinta-0.2.dev23/spinta/ufuncs/linkbuilder → spinta-0.2.dev24/spinta/ufuncs/querybuilder}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/querybuilder/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/querybuilder/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/querybuilder/ufuncs.py +0 -0
- {spinta-0.2.dev23/spinta/ufuncs/loadbuilder → spinta-0.2.dev24/spinta/ufuncs/requestparamsbuilder}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/requestparamsbuilder/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/requestparamsbuilder/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/requestparamsbuilder/ufuncs.py +0 -0
- {spinta-0.2.dev23/spinta/ufuncs/propertyresolver → spinta-0.2.dev24/spinta/ufuncs/resultbuilder}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/resultbuilder/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/resultbuilder/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/resultbuilder/ufuncs.py +0 -0
- {spinta-0.2.dev23/spinta/ufuncs/querybuilder → spinta-0.2.dev24/spinta/ufuncs/summaryenv}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/summaryenv/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/ufuncs/summaryenv/ufuncs.py +0 -0
- {spinta-0.2.dev23/spinta/ufuncs/requestparamsbuilder → spinta-0.2.dev24/spinta/units}/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/units/components.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/units/helpers.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/__init__.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/aiotools.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/changes.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/collections.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/config.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/data.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/encoding.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/enums.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/errors.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/functools.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/idgen.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/imports.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/itertools.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/json.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/nestedstruct.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/nin.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/passwords.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/path.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/refs.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/response.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/schema.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/scopes.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/sqlalchemy.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/sqlite.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/starlette.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/streams.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/tree.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/types.py +0 -0
- {spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/utils/units.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: spinta
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.dev24
|
|
4
4
|
Summary: A platform for describing, extracting, transforming, loading and serving open data.
|
|
5
5
|
License: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -36,6 +36,7 @@ Requires-Dist: alembic (>=1.11.0,<1.12.0) ; extra == "migrations" or extra == "a
|
|
|
36
36
|
Requires-Dist: asyncpg
|
|
37
37
|
Requires-Dist: authlib (>=1.0.0)
|
|
38
38
|
Requires-Dist: cachetools
|
|
39
|
+
Requires-Dist: cbor2 (>=5.9.0,<6.0.0)
|
|
39
40
|
Requires-Dist: click
|
|
40
41
|
Requires-Dist: dask[dataframe]
|
|
41
42
|
Requires-Dist: docutils (>=0.21.2,<0.22.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "spinta"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.2dev24"
|
|
4
4
|
description = "A platform for describing, extracting, transforming, loading and serving open data."
|
|
5
5
|
authors = ["Mantas Zimnickas <sirexas@gmail.com>"]
|
|
6
6
|
license = "MIT"
|
|
@@ -116,6 +116,7 @@ cachetools = "*"
|
|
|
116
116
|
docutils = "^0.21.2"
|
|
117
117
|
zeep = "^4.3.1"
|
|
118
118
|
redis = "^6.4.0"
|
|
119
|
+
cbor2 = "^5.9.0"
|
|
119
120
|
|
|
120
121
|
[tool.poetry.extras]
|
|
121
122
|
http = ["gunicorn", "uvicorn"]
|
|
@@ -13,6 +13,7 @@ from typing import Iterable
|
|
|
13
13
|
from typing import List
|
|
14
14
|
from typing import Optional
|
|
15
15
|
|
|
16
|
+
from cbor2 import dumps as cbor_dumps
|
|
16
17
|
import dateutil
|
|
17
18
|
import shapely.geometry.base
|
|
18
19
|
from geoalchemy2.elements import WKTElement, WKBElement
|
|
@@ -23,7 +24,7 @@ from spinta import commands
|
|
|
23
24
|
from spinta import exceptions
|
|
24
25
|
from spinta.backends.components import Backend
|
|
25
26
|
from spinta.backends.components import SelectTree
|
|
26
|
-
from spinta.backends.helpers import check_unknown_props, get_select_tree, prepare_response
|
|
27
|
+
from spinta.backends.helpers import check_unknown_props, get_select_tree, prepare_response, is_accessible_by_equals_sign
|
|
27
28
|
from spinta.backends.helpers import flat_select_to_nested
|
|
28
29
|
from spinta.backends.helpers import get_model_reserved_props
|
|
29
30
|
from spinta.backends.helpers import get_select_prop_names
|
|
@@ -58,7 +59,19 @@ from spinta.exceptions import (
|
|
|
58
59
|
from spinta.exceptions import NoItemRevision
|
|
59
60
|
from spinta.formats.components import Format
|
|
60
61
|
from spinta.manifests.components import Manifest
|
|
61
|
-
from spinta.types.datatype import
|
|
62
|
+
from spinta.types.datatype import (
|
|
63
|
+
Array,
|
|
64
|
+
ExternalRef,
|
|
65
|
+
Inherit,
|
|
66
|
+
PageType,
|
|
67
|
+
BackRef,
|
|
68
|
+
ArrayBackRef,
|
|
69
|
+
Integer,
|
|
70
|
+
Boolean,
|
|
71
|
+
Denorm,
|
|
72
|
+
Base32,
|
|
73
|
+
String,
|
|
74
|
+
)
|
|
62
75
|
from spinta.types.datatype import Binary
|
|
63
76
|
from spinta.types.datatype import DataType
|
|
64
77
|
from spinta.types.datatype import Date
|
|
@@ -590,12 +603,31 @@ def is_object_id(context: Context, value: str):
|
|
|
590
603
|
|
|
591
604
|
@is_object_id.register(Context, Backend, Model, str)
|
|
592
605
|
def is_object_id(context: Context, backend: Backend, model: Model, value: str):
|
|
606
|
+
return is_object_id(context, backend, model.properties["_id"].dtype, value)
|
|
607
|
+
|
|
608
|
+
|
|
609
|
+
@is_object_id.register(Context, Backend, PrimaryKey, str)
|
|
610
|
+
def is_object_id(context: Context, backend: Backend, dtype: PrimaryKey, value: str):
|
|
593
611
|
try:
|
|
594
612
|
return uuid.UUID(value).version == 4
|
|
595
613
|
except ValueError:
|
|
596
614
|
return False
|
|
597
615
|
|
|
598
616
|
|
|
617
|
+
@is_object_id.register(Context, Backend, DataType, str)
|
|
618
|
+
def is_object_id(context: Context, backend: Backend, dtype: DataType, value: str):
|
|
619
|
+
candidate = value
|
|
620
|
+
if is_accessible_by_equals_sign(dtype.prop, value):
|
|
621
|
+
if not value.startswith("="):
|
|
622
|
+
return False
|
|
623
|
+
candidate = value[1:]
|
|
624
|
+
try:
|
|
625
|
+
dtype.load(candidate)
|
|
626
|
+
except exceptions.InvalidValue:
|
|
627
|
+
return False
|
|
628
|
+
return True
|
|
629
|
+
|
|
630
|
+
|
|
599
631
|
@is_object_id.register(Context, Backend, Model, uuid.UUID)
|
|
600
632
|
def is_object_id(context: Context, backend: Backend, model: Model, value: uuid.UUID):
|
|
601
633
|
return value.version == 4
|
|
@@ -1750,6 +1782,13 @@ def cast_backend_to_python(context: Context, dtype: DataType, backend: Backend,
|
|
|
1750
1782
|
return data
|
|
1751
1783
|
|
|
1752
1784
|
|
|
1785
|
+
@commands.cast_backend_to_python.register(Context, String, Backend, object)
|
|
1786
|
+
def cast_backend_to_python(context: Context, dtype: String, backend: Backend, data: Any, **kwargs) -> Any:
|
|
1787
|
+
if data is None or is_nan(data):
|
|
1788
|
+
return None
|
|
1789
|
+
return str(data)
|
|
1790
|
+
|
|
1791
|
+
|
|
1753
1792
|
@commands.cast_backend_to_python.register(Context, UUID, Backend, object)
|
|
1754
1793
|
def cast_backend_to_python(context: Context, dtype: UUID, backend: Backend, data: Any, **kwargs) -> Any:
|
|
1755
1794
|
if is_nan(data):
|
|
@@ -1891,6 +1930,13 @@ def cast_backend_to_python(context: Context, dtype: Ref, backend: Backend, data:
|
|
|
1891
1930
|
|
|
1892
1931
|
processed_data = {}
|
|
1893
1932
|
for key in data:
|
|
1933
|
+
if key == "_id":
|
|
1934
|
+
# _id reaches this dispatch already in its final form — produced by
|
|
1935
|
+
# handle_ref_key_assignment for external readers, or read directly
|
|
1936
|
+
# from the storage column for internal backends. Re-applying the
|
|
1937
|
+
# referenced model's _id cast double-encodes Base32 ids.
|
|
1938
|
+
processed_data[key] = data[key]
|
|
1939
|
+
continue
|
|
1894
1940
|
prop = commands.resolve_property(dtype.prop.model, f"{dtype.prop.place}.{key}")
|
|
1895
1941
|
if prop is not None:
|
|
1896
1942
|
processed_data[key] = commands.cast_backend_to_python(context, prop, backend, data[key], **kwargs)
|
|
@@ -1939,6 +1985,18 @@ def cast_backend_to_python(context: Context, dtype: Denorm, backend: Backend, da
|
|
|
1939
1985
|
return commands.cast_backend_to_python(context, dtype.rel_prop, backend, data, **kwargs)
|
|
1940
1986
|
|
|
1941
1987
|
|
|
1988
|
+
@commands.cast_backend_to_python.register(Context, Base32, Backend, object)
|
|
1989
|
+
def cast_backend_to_python(context: Context, dtype: Base32, backend: Backend, data: Any, **kwargs) -> Any:
|
|
1990
|
+
if is_nan(data):
|
|
1991
|
+
return None
|
|
1992
|
+
if isinstance(data, (list, tuple)):
|
|
1993
|
+
data = cbor_dumps(list(data))
|
|
1994
|
+
else:
|
|
1995
|
+
data = str(data).encode("utf-8")
|
|
1996
|
+
encoded = base64.b32encode(data)
|
|
1997
|
+
return encoded.rstrip(b"=").decode("utf-8")
|
|
1998
|
+
|
|
1999
|
+
|
|
1942
2000
|
@commands.reload_backend_metadata.register(Context, Manifest, Backend)
|
|
1943
2001
|
def reload_backend_metadata(context, manifest, backend):
|
|
1944
2002
|
pass
|
|
@@ -26,7 +26,7 @@ from spinta.components import Model
|
|
|
26
26
|
from spinta.components import Namespace
|
|
27
27
|
from spinta.components import Property
|
|
28
28
|
from spinta.exceptions import BackendUnavailable
|
|
29
|
-
from spinta.types.datatype import DataType, Denorm
|
|
29
|
+
from spinta.types.datatype import DataType, Denorm, String, Base32, PrimaryKey
|
|
30
30
|
from spinta.utils.data import take
|
|
31
31
|
from spinta.backends.constants import TableType, BackendOrigin
|
|
32
32
|
|
|
@@ -596,3 +596,28 @@ def extract_table_data_from_logical_name(table_name: str) -> tuple[str | None, T
|
|
|
596
596
|
return data[0], table_type, None
|
|
597
597
|
|
|
598
598
|
return None, None, None
|
|
599
|
+
|
|
600
|
+
|
|
601
|
+
def is_custom_id_prop(prop: Property) -> bool:
|
|
602
|
+
return prop.name == "_id" and not isinstance(prop.dtype, PrimaryKey)
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
def is_custom_revision_prop(prop: Property) -> bool:
|
|
606
|
+
return prop.name == "_revision" and prop.explicitly_given
|
|
607
|
+
|
|
608
|
+
|
|
609
|
+
def is_accessible_by_equals_sign(id_prop: Property, value: str | int) -> bool:
|
|
610
|
+
if isinstance(id_prop.dtype, Base32):
|
|
611
|
+
return True
|
|
612
|
+
|
|
613
|
+
if isinstance(id_prop.dtype, String):
|
|
614
|
+
return not check_if_model_primary_key_is_composite(id_prop.model)
|
|
615
|
+
|
|
616
|
+
return False
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
def check_if_model_primary_key_is_composite(model: Model) -> bool:
|
|
620
|
+
pkeys_count = len(model.external.pkeys)
|
|
621
|
+
if pkeys_count > 1:
|
|
622
|
+
return True
|
|
623
|
+
return False
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
from typer import Argument
|
|
2
|
+
from typer import Context as TyperContext
|
|
3
|
+
from typer import Option
|
|
4
|
+
from typer import echo
|
|
5
|
+
|
|
6
|
+
from spinta.cli.helpers.enums import CommentPart
|
|
7
|
+
from spinta.cli.helpers.store import load_manifest
|
|
8
|
+
from spinta.components import Context, Property
|
|
9
|
+
from spinta.core.context import configure_context
|
|
10
|
+
from spinta.core.enums import Access
|
|
11
|
+
from spinta.manifests.components import Manifest
|
|
12
|
+
from spinta.manifests.tabular.helpers import datasets_to_tabular
|
|
13
|
+
from spinta.manifests.tabular.helpers import render_tabular_manifest_rows
|
|
14
|
+
from spinta.manifests.tabular.helpers import write_tabular_manifest
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def comment(
|
|
18
|
+
ctx: TyperContext,
|
|
19
|
+
part: CommentPart = Argument(None, help="Part to comment"),
|
|
20
|
+
author: str | None = Option(None, "--author", help="Comment author"),
|
|
21
|
+
uri: str | None = Option(
|
|
22
|
+
None, "--uri", help="URI tag stored on each comment (use with uncomment --uri to restore selectively)"
|
|
23
|
+
),
|
|
24
|
+
description: str | None = Option(None, "--description", help="Additional description stored on each comment"),
|
|
25
|
+
output: str | None = Option(None, "-o", "--output", help="Output tabular manifest in a specified file"),
|
|
26
|
+
manifests: list[str] = Argument(None, help="Source manifest files"),
|
|
27
|
+
) -> None:
|
|
28
|
+
"""Comment out specific manifest parts so the manifest can be processed further."""
|
|
29
|
+
context: Context = ctx.obj
|
|
30
|
+
context = configure_context(context, manifests)
|
|
31
|
+
|
|
32
|
+
comment_manifest(
|
|
33
|
+
context,
|
|
34
|
+
author=author,
|
|
35
|
+
uri=uri,
|
|
36
|
+
description=description,
|
|
37
|
+
output=output,
|
|
38
|
+
manifests=manifests,
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def comment_manifest(
|
|
43
|
+
context: Context,
|
|
44
|
+
author: str | None = None,
|
|
45
|
+
uri: str | None = None,
|
|
46
|
+
description: str | None = None,
|
|
47
|
+
output: str | None = None,
|
|
48
|
+
manifests: list[str] | None = None,
|
|
49
|
+
) -> None:
|
|
50
|
+
verbose = bool(output)
|
|
51
|
+
context = configure_context(context, manifests)
|
|
52
|
+
store = load_manifest(
|
|
53
|
+
context,
|
|
54
|
+
load_internal=False,
|
|
55
|
+
verbose=verbose,
|
|
56
|
+
full_load=True,
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
_update_systemic_comments(context, store.manifest, author=author, uri=uri, description=description)
|
|
60
|
+
rows = datasets_to_tabular(context, store.manifest, external=False, access=Access.private)
|
|
61
|
+
|
|
62
|
+
if output:
|
|
63
|
+
write_tabular_manifest(context, output, rows)
|
|
64
|
+
else:
|
|
65
|
+
manager = context.get("error_manager")
|
|
66
|
+
handler = manager.handler
|
|
67
|
+
table = render_tabular_manifest_rows(rows)
|
|
68
|
+
if handler.get_counts():
|
|
69
|
+
handler.post_process()
|
|
70
|
+
else:
|
|
71
|
+
echo(table)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def _update_systemic_comments(
|
|
75
|
+
context: Context,
|
|
76
|
+
manifest: Manifest,
|
|
77
|
+
*,
|
|
78
|
+
author: str | None = None,
|
|
79
|
+
uri: str | None = None,
|
|
80
|
+
description: str | None = None,
|
|
81
|
+
) -> None:
|
|
82
|
+
"""Update author/uri/description on comment type properties."""
|
|
83
|
+
from spinta import commands
|
|
84
|
+
|
|
85
|
+
if all(argument is None for argument in [author, uri, description]):
|
|
86
|
+
return
|
|
87
|
+
|
|
88
|
+
models = commands.get_models(context, manifest)
|
|
89
|
+
for model in models.values():
|
|
90
|
+
for prop in model.properties.values():
|
|
91
|
+
_patch_property_restore_comments(prop, author=author, uri=uri, description=description)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def _patch_property_restore_comments(
|
|
95
|
+
prop: Property,
|
|
96
|
+
*,
|
|
97
|
+
author: str | None,
|
|
98
|
+
uri: str | None,
|
|
99
|
+
description: str | None,
|
|
100
|
+
) -> None:
|
|
101
|
+
if not prop.comments:
|
|
102
|
+
return
|
|
103
|
+
|
|
104
|
+
for comment in prop.comments:
|
|
105
|
+
if not comment.prepare or not comment.prepare.startswith("update"):
|
|
106
|
+
continue
|
|
107
|
+
|
|
108
|
+
if author is not None:
|
|
109
|
+
comment.author = author
|
|
110
|
+
if uri is not None:
|
|
111
|
+
comment.uri = uri
|
|
112
|
+
if description is not None:
|
|
113
|
+
comment.comment = description
|
|
@@ -17,6 +17,8 @@ from spinta.cli import data
|
|
|
17
17
|
from spinta.cli import inspect
|
|
18
18
|
from spinta.cli import manifest
|
|
19
19
|
from spinta.cli import migrate
|
|
20
|
+
from spinta.cli.comment import comment
|
|
21
|
+
from spinta.cli.uncomment import uncomment
|
|
20
22
|
from spinta.cli import pii
|
|
21
23
|
from spinta.cli import pull
|
|
22
24
|
from spinta.cli import push
|
|
@@ -45,6 +47,8 @@ add(app, "inspect", inspect.inspect, short_help=("Update manifest schema from an
|
|
|
45
47
|
add(app, "pii", pii.app, short_help="Manage Person Identifying Information")
|
|
46
48
|
|
|
47
49
|
add(app, "copy", manifest.copy, short_help="Copy only specified metadata from a manifest")
|
|
50
|
+
add(app, "comment", comment, short_help="Comment unsupported functionality in a manifest")
|
|
51
|
+
add(app, "uncomment", uncomment, short_help="Restore commented parts of a manifest")
|
|
48
52
|
add(app, "show", show, short_help="Show manifest as ascii table")
|
|
49
53
|
|
|
50
54
|
add(app, "bootstrap", migrate.bootstrap, short_help="Initialize backends")
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
from typing import Iterator, Union
|
|
2
2
|
from typing import List
|
|
3
|
-
from typing import Optional
|
|
4
3
|
|
|
5
4
|
from typer import Argument
|
|
6
5
|
from typer import Context as TyperContext
|
|
@@ -36,9 +35,10 @@ def copy(
|
|
|
36
35
|
# https://github.com/tiangolo/typer/issues/151
|
|
37
36
|
access: str = Option("private", help=("Copy properties with at least specified access")),
|
|
38
37
|
format_names: bool = Option(False, help=("Reformat model and property names.")),
|
|
39
|
-
output:
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
output: str | None = Option(None, "-o", "--output", help=("Output tabular manifest in a specified file")),
|
|
39
|
+
dataset: str | None = Option(None, "-d", "--dataset", help=("Main dataset name")),
|
|
40
|
+
columns: str | None = Option(None, "-c", "--columns", help=("Comma separated list of columns")),
|
|
41
|
+
order_by: str | None = Option(
|
|
42
42
|
None, help=("Order by a specified column (currently only access column is supported)")
|
|
43
43
|
),
|
|
44
44
|
rename_duplicates: bool = Option(False, help=("Rename duplicate model names by adding number suffix")),
|
|
@@ -57,6 +57,7 @@ def copy(
|
|
|
57
57
|
order_by=order_by,
|
|
58
58
|
rename_duplicates=rename_duplicates,
|
|
59
59
|
manifests=manifests,
|
|
60
|
+
dataset=dataset,
|
|
60
61
|
)
|
|
61
62
|
|
|
62
63
|
|
|
@@ -65,12 +66,13 @@ def copy_manifest(
|
|
|
65
66
|
source: bool = True,
|
|
66
67
|
access: str = "private",
|
|
67
68
|
format_names: bool = False,
|
|
68
|
-
output:
|
|
69
|
-
columns:
|
|
70
|
-
order_by:
|
|
69
|
+
output: str | None = None,
|
|
70
|
+
columns: str | None = None,
|
|
71
|
+
order_by: str | None = None,
|
|
71
72
|
rename_duplicates: bool = False,
|
|
72
73
|
manifests: List[str] = None,
|
|
73
|
-
output_type:
|
|
74
|
+
output_type: str | None = None,
|
|
75
|
+
dataset: str | None = None,
|
|
74
76
|
):
|
|
75
77
|
"""Copy models from CSV manifest files into another CSV manifest file"""
|
|
76
78
|
access = get_enum_by_name(Access, access)
|
|
@@ -113,7 +115,7 @@ def copy_manifest(
|
|
|
113
115
|
)
|
|
114
116
|
if output:
|
|
115
117
|
if output_type == "mermaid":
|
|
116
|
-
write_mermaid_manifest(context,
|
|
118
|
+
write_mermaid_manifest(context, rows, dataset, output)
|
|
117
119
|
elif internal:
|
|
118
120
|
write_internal_sql_manifest(context, output, rows)
|
|
119
121
|
else:
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import csv
|
|
2
|
+
import pathlib
|
|
3
|
+
import re
|
|
4
|
+
|
|
5
|
+
from typer import Argument
|
|
6
|
+
from typer import Context as TyperContext
|
|
7
|
+
from typer import Option
|
|
8
|
+
from typer import echo
|
|
9
|
+
|
|
10
|
+
from spinta.components import Context
|
|
11
|
+
from spinta.manifests.tabular.components import MANIFEST_COLUMNS
|
|
12
|
+
from spinta.manifests.tabular.components import ManifestRow
|
|
13
|
+
from spinta.manifests.tabular.helpers import render_tabular_manifest_rows
|
|
14
|
+
from spinta.manifests.tabular.helpers import torow
|
|
15
|
+
from spinta.manifests.tabular.helpers import write_tabular_manifest
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
UPDATE_FUNCTION = "update"
|
|
19
|
+
COLUMN_TYPE_COMMENT = "comment"
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def uncomment(
|
|
23
|
+
ctx: TyperContext,
|
|
24
|
+
uri: str | None = Option(None, "--uri", help="Only restore comments that carry this URI tag"),
|
|
25
|
+
output: str | None = Option(None, "-o", "--output", help="Output tabular manifest in a specified file"),
|
|
26
|
+
manifests: list[str] = Argument(None, help="Source manifest files"),
|
|
27
|
+
):
|
|
28
|
+
"""Restore commented-out properties."""
|
|
29
|
+
context: Context = ctx.obj
|
|
30
|
+
uncomment_manifest(context, uri=uri, output=output, manifests=manifests)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def uncomment_manifest(
|
|
34
|
+
context: Context,
|
|
35
|
+
uri: str | None = None,
|
|
36
|
+
output: str | None = None,
|
|
37
|
+
manifests: list[str] | None = None,
|
|
38
|
+
) -> None:
|
|
39
|
+
"""Read raw CSV rows, remove `update` comments, and write the result."""
|
|
40
|
+
rows = _read_raw_manifest_rows(manifests or [])
|
|
41
|
+
result = _uncomment_rows(rows, uri_filter=uri)
|
|
42
|
+
if output:
|
|
43
|
+
write_tabular_manifest(context, output, iter(result))
|
|
44
|
+
else:
|
|
45
|
+
echo(render_tabular_manifest_rows(iter(result)))
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def _read_raw_manifest_rows(manifests: list[str]) -> list[ManifestRow]:
|
|
49
|
+
"""Read CSV manifest files as raw dicts, normalising to MANIFEST_COLUMNS keys."""
|
|
50
|
+
rows = []
|
|
51
|
+
for path in manifests:
|
|
52
|
+
with pathlib.Path(path).open(encoding="utf-8-sig") as file:
|
|
53
|
+
reader = csv.DictReader(file)
|
|
54
|
+
for raw in reader:
|
|
55
|
+
rows.append(torow(MANIFEST_COLUMNS, raw))
|
|
56
|
+
return rows
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def _parse_update_fields(prepare: str) -> dict[str, str]:
|
|
60
|
+
"""Parse 'update(key1:val1, key2:val2, ...)' into {'key1': 'val1', 'key2': 'val2', ...}.
|
|
61
|
+
|
|
62
|
+
Splits on commas only when followed by a word-colon pattern, so values containing
|
|
63
|
+
commas inside brackets (e.g. ref:example2/City[id, name]) are handled correctly.
|
|
64
|
+
"""
|
|
65
|
+
match = re.match(rf"{UPDATE_FUNCTION}\((.+)\)\s*$", (prepare or "").strip())
|
|
66
|
+
if not match:
|
|
67
|
+
return {}
|
|
68
|
+
parts = re.split(r",\s*(?=\w+:)", match.group(1))
|
|
69
|
+
result = {}
|
|
70
|
+
for part in parts:
|
|
71
|
+
key, _, value = part.partition(":")
|
|
72
|
+
result[key.strip()] = value.strip().strip('"')
|
|
73
|
+
return result
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def _is_restore_comment(row: ManifestRow) -> bool:
|
|
77
|
+
prepare = row.get("prepare") or ""
|
|
78
|
+
return row.get("type") == COLUMN_TYPE_COMMENT and prepare.startswith(UPDATE_FUNCTION)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def _uncomment_rows(rows: list[ManifestRow], uri_filter: str | None) -> list[ManifestRow]:
|
|
82
|
+
"""
|
|
83
|
+
Walk rows in order. When an `update` comment is found (and passes the URI filter),
|
|
84
|
+
patch the most recent property row in result and drop the comment row.
|
|
85
|
+
"""
|
|
86
|
+
result: list[ManifestRow] = []
|
|
87
|
+
last_property_index: int | None = None
|
|
88
|
+
|
|
89
|
+
for row in rows:
|
|
90
|
+
if _is_restore_comment(row):
|
|
91
|
+
# Restore only rows that match the `uri` if it is given by input;
|
|
92
|
+
if uri_filter is not None and row.get("uri") != uri_filter:
|
|
93
|
+
result.append(row)
|
|
94
|
+
continue
|
|
95
|
+
|
|
96
|
+
# Parse the expression and apply field to the last seen row (comments go after the row they change);
|
|
97
|
+
fields = _parse_update_fields(row.get("prepare", ""))
|
|
98
|
+
if fields and last_property_index is not None:
|
|
99
|
+
prop_row: dict = dict(result[last_property_index])
|
|
100
|
+
for key, value in fields.items():
|
|
101
|
+
prop_row[key] = value
|
|
102
|
+
prop_row["level"] = row.get("level") or ""
|
|
103
|
+
result[last_property_index] = prop_row
|
|
104
|
+
else:
|
|
105
|
+
# If it's not an `update` comment, append to the result as-is;
|
|
106
|
+
if row.get("property"):
|
|
107
|
+
last_property_index = len(result)
|
|
108
|
+
result.append(row)
|
|
109
|
+
|
|
110
|
+
return result
|
|
@@ -38,6 +38,7 @@ if TYPE_CHECKING:
|
|
|
38
38
|
from spinta.accesslog import AccessLog
|
|
39
39
|
from spinta.formats.components import Format
|
|
40
40
|
from spinta.dimensions.comments.components import Comment
|
|
41
|
+
from spinta.dimensions.scope.components import Scope
|
|
41
42
|
|
|
42
43
|
|
|
43
44
|
class Context:
|
|
@@ -620,6 +621,14 @@ def page_in_data(data: dict) -> bool:
|
|
|
620
621
|
return "_page" in data
|
|
621
622
|
|
|
622
623
|
|
|
624
|
+
def revision_in_data(data: dict) -> bool:
|
|
625
|
+
return "_revision" in data
|
|
626
|
+
|
|
627
|
+
|
|
628
|
+
def check_if_revision_explicit(prop: Property) -> bool:
|
|
629
|
+
return prop.name == "_revision" and prop.explicitly_given
|
|
630
|
+
|
|
631
|
+
|
|
623
632
|
class ParamsPage:
|
|
624
633
|
values: List[Any]
|
|
625
634
|
size: int
|
|
@@ -642,6 +651,7 @@ class Model(MetaData):
|
|
|
642
651
|
description: str
|
|
643
652
|
ns: Namespace
|
|
644
653
|
external: Entity = None
|
|
654
|
+
scopes: Dict[str, Scope]
|
|
645
655
|
properties: Dict[str, Property]
|
|
646
656
|
mode: Mode = None
|
|
647
657
|
given: ModelGiven
|
|
@@ -666,6 +676,7 @@ class Model(MetaData):
|
|
|
666
676
|
"unique": {"default": []},
|
|
667
677
|
"base": {},
|
|
668
678
|
"link": {},
|
|
679
|
+
"scopes": {"default": {}},
|
|
669
680
|
"properties": {"default": {}},
|
|
670
681
|
"external": {},
|
|
671
682
|
"level": {
|
|
@@ -884,6 +895,7 @@ class Attachment:
|
|
|
884
895
|
class UrlParseNode(TypedDict):
|
|
885
896
|
name: str
|
|
886
897
|
args: List[Any]
|
|
898
|
+
id_prop: Property
|
|
887
899
|
|
|
888
900
|
|
|
889
901
|
class UrlParams:
|
|
@@ -165,6 +165,7 @@ CONFIG = {
|
|
|
165
165
|
"partial_array": "spinta.types.datatype:PartialArray",
|
|
166
166
|
"uuid": "spinta.types.datatype:UUID",
|
|
167
167
|
"unknown": "spinta.types.datatype:Unknown",
|
|
168
|
+
"base32": "spinta.types.datatype:Base32",
|
|
168
169
|
},
|
|
169
170
|
"urlparams": {
|
|
170
171
|
"component": "spinta.urlparams:UrlParams",
|
|
@@ -9,6 +9,7 @@ from spinta.utils.enums import enum_by_name, get_enum_by_name
|
|
|
9
9
|
|
|
10
10
|
if TYPE_CHECKING:
|
|
11
11
|
from spinta.dimensions.enum.components import EnumItem
|
|
12
|
+
from spinta.dimensions.scope.components import Scope
|
|
12
13
|
from spinta.components import Model
|
|
13
14
|
from spinta.components import Namespace
|
|
14
15
|
from spinta.components import Property
|
|
@@ -25,6 +26,7 @@ def load_access_param(
|
|
|
25
26
|
Model,
|
|
26
27
|
Property,
|
|
27
28
|
EnumItem,
|
|
29
|
+
Scope,
|
|
28
30
|
],
|
|
29
31
|
given_access: Union[str, Access],
|
|
30
32
|
parents: Iterable[
|
|
@@ -15,16 +15,17 @@ from spinta.core.ufuncs import Expr, Env
|
|
|
15
15
|
from spinta.datasets.backends.dataframe.components import DaskBackend
|
|
16
16
|
from spinta.datasets.backends.dataframe.backends.memory.components import MemoryDaskBackend
|
|
17
17
|
from spinta.datasets.backends.dataframe.ufuncs.query.components import DaskDataFrameQueryBuilder
|
|
18
|
+
from spinta.backends.helpers import is_custom_id_prop
|
|
18
19
|
from spinta.datasets.backends.helpers import handle_ref_key_assignment
|
|
19
20
|
from spinta.datasets.components import Resource
|
|
20
|
-
from spinta.datasets.helpers import get_enum_filters, get_ref_filters
|
|
21
|
+
from spinta.datasets.helpers import get_enum_filters, get_ref_filters, encode_composite_string_id
|
|
21
22
|
from spinta.datasets.keymaps.components import KeyMap
|
|
22
23
|
from spinta.datasets.utils import iterparams
|
|
23
24
|
from spinta.dimensions.enum.helpers import get_prop_enum
|
|
24
25
|
from spinta.dimensions.param.components import ResolvedParams
|
|
25
26
|
from spinta.exceptions import PropertyNotFound, NoExternalName, ValueNotInEnum
|
|
26
27
|
from spinta.manifests.components import Manifest
|
|
27
|
-
from spinta.types.datatype import PrimaryKey, Ref, DataType, Boolean, Number, Integer, DateTime
|
|
28
|
+
from spinta.types.datatype import PrimaryKey, Ref, DataType, Boolean, Number, Integer, DateTime, Base32
|
|
28
29
|
from spinta.typing import ObjectData
|
|
29
30
|
from spinta.ufuncs.querybuilder.components import Selected
|
|
30
31
|
from spinta.ufuncs.helpers import merge_formulas
|
|
@@ -284,6 +285,8 @@ def dask_get_all(
|
|
|
284
285
|
val = keymap.encode(sel.prop.model.model_type(), val)
|
|
285
286
|
elif isinstance(sel.prop.dtype, Ref):
|
|
286
287
|
val = handle_ref_key_assignment(context, keymap, env, val, sel.prop.dtype)
|
|
288
|
+
elif is_custom_id_prop(sel.prop) and isinstance(val, list) and not isinstance(sel.prop.dtype, Base32):
|
|
289
|
+
val = encode_composite_string_id(val, model.external.pkeys)
|
|
287
290
|
res[key] = val
|
|
288
291
|
res = commands.cast_backend_to_python(context, model, backend, res, extra_properties=extra_properties)
|
|
289
292
|
yield res
|
{spinta-0.2.dev23 → spinta-0.2.dev24}/spinta/datasets/backends/dataframe/ufuncs/query/ufuncs.py
RENAMED
|
@@ -6,6 +6,7 @@ from typing import Dict, Any, Tuple, List, Iterator
|
|
|
6
6
|
from dask.dataframe import Series
|
|
7
7
|
|
|
8
8
|
from spinta.auth import authorized
|
|
9
|
+
from spinta.backends.helpers import is_custom_id_prop, is_custom_revision_prop
|
|
9
10
|
from spinta.components import Property
|
|
10
11
|
from spinta.core.enums import Action
|
|
11
12
|
from spinta.core.ufuncs import Expr, ufunc, Bind, Unresolved, GetAttr
|
|
@@ -166,7 +167,9 @@ def select(env: DaskDataFrameQueryBuilder, expr: Expr):
|
|
|
166
167
|
else:
|
|
167
168
|
raise PropertyNotFound(env.model, property=resolved[selected_key])
|
|
168
169
|
else:
|
|
169
|
-
for prop in take(["_id", all], env.model.properties).values():
|
|
170
|
+
for prop in take(["_id", "_revision", all], env.model.properties).values():
|
|
171
|
+
if prop.name == "_revision" and not is_custom_revision_prop(prop):
|
|
172
|
+
continue
|
|
170
173
|
if authorized(env.context, prop, Action.GETALL):
|
|
171
174
|
env.selected[prop.place] = env.call("select", prop)
|
|
172
175
|
|
|
@@ -238,6 +241,13 @@ def select(env: DaskDataFrameQueryBuilder, prop: Property) -> Selected:
|
|
|
238
241
|
elif prop.external and prop.external.name:
|
|
239
242
|
# If prepare is not given, then take value from `source`.
|
|
240
243
|
result = env.call("select", prop.dtype)
|
|
244
|
+
elif is_custom_id_prop(prop):
|
|
245
|
+
pkeys = prop.model.external.pkeys or list(take(prop.model.properties).values())
|
|
246
|
+
if len(pkeys) == 1:
|
|
247
|
+
prep = env.call("select", pkeys[0])
|
|
248
|
+
else:
|
|
249
|
+
prep = [env.call("select", pk) for pk in pkeys]
|
|
250
|
+
result = Selected(prop=prop, prep=prep)
|
|
241
251
|
elif prop.is_reserved():
|
|
242
252
|
# Reserved properties never have external source.
|
|
243
253
|
result = env.call("select", prop.dtype)
|
|
@@ -3,6 +3,7 @@ import pathlib
|
|
|
3
3
|
from typing import Any
|
|
4
4
|
|
|
5
5
|
from spinta import commands, spyna
|
|
6
|
+
from spinta.backends.helpers import is_custom_id_prop
|
|
6
7
|
from spinta.components import Property, Model, Context
|
|
7
8
|
from spinta.core.enums import Mode
|
|
8
9
|
from spinta.core.ufuncs import Env, asttoexpr
|
|
@@ -49,7 +50,7 @@ def handle_ref_key_assignment(context: Context, keymap: KeyMap, env: Env, value:
|
|
|
49
50
|
|
|
50
51
|
val = None
|
|
51
52
|
contains = None
|
|
52
|
-
if ref.refprops[0].name != "_id":
|
|
53
|
+
if ref.refprops[0].name != "_id" and not is_custom_id_prop(ref.model.properties["_id"]):
|
|
53
54
|
contains = keymap.contains(keymap_name, target_value)
|
|
54
55
|
if not contains:
|
|
55
56
|
if target_value is None:
|