spinta 0.2.dev3__tar.gz → 0.2.dev5__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.dev5/PKG-INFO +304 -0
- spinta-0.2.dev5/pyproject.toml +174 -0
- spinta-0.2.dev5/spinta/__init__.py +9 -0
- spinta-0.2.dev5/spinta/accesslog/__init__.py +212 -0
- spinta-0.2.dev5/spinta/accesslog/file.py +79 -0
- spinta-0.2.dev5/spinta/accesslog/python.py +24 -0
- spinta-0.2.dev5/spinta/api/__init__.py +471 -0
- spinta-0.2.dev5/spinta/api/inspect.py +181 -0
- spinta-0.2.dev5/spinta/api/schema.py +208 -0
- spinta-0.2.dev5/spinta/api/validators.py +24 -0
- spinta-0.2.dev5/spinta/asgi.py +31 -0
- spinta-0.2.dev5/spinta/auth.py +904 -0
- spinta-0.2.dev5/spinta/backends/__init__.py +1975 -0
- spinta-0.2.dev5/spinta/backends/components.py +60 -0
- spinta-0.2.dev5/spinta/backends/constants.py +37 -0
- spinta-0.2.dev5/spinta/backends/fs/commands/decode.py +14 -0
- spinta-0.2.dev5/spinta/backends/fs/commands/encode.py +38 -0
- spinta-0.2.dev5/spinta/backends/fs/commands/init.py +29 -0
- spinta-0.2.dev5/spinta/backends/fs/commands/load.py +11 -0
- spinta-0.2.dev5/spinta/backends/fs/commands/read.py +58 -0
- spinta-0.2.dev5/spinta/backends/fs/commands/validate.py +73 -0
- spinta-0.2.dev5/spinta/backends/fs/commands/wipe.py +17 -0
- spinta-0.2.dev5/spinta/backends/fs/commands/write.py +118 -0
- spinta-0.2.dev5/spinta/backends/fs/components.py +12 -0
- spinta-0.2.dev5/spinta/backends/helpers.py +402 -0
- spinta-0.2.dev5/spinta/backends/memory/commands/read.py +42 -0
- spinta-0.2.dev5/spinta/backends/memory/components.py +88 -0
- spinta-0.2.dev5/spinta/backends/mongo/commands/changes.py +38 -0
- spinta-0.2.dev5/spinta/backends/mongo/commands/encode.py +24 -0
- spinta-0.2.dev5/spinta/backends/mongo/commands/load.py +16 -0
- spinta-0.2.dev5/spinta/backends/mongo/commands/read.py +131 -0
- spinta-0.2.dev5/spinta/backends/mongo/commands/validate.py +45 -0
- spinta-0.2.dev5/spinta/backends/mongo/commands/wipe.py +23 -0
- spinta-0.2.dev5/spinta/backends/mongo/commands/write.py +153 -0
- spinta-0.2.dev5/spinta/backends/mongo/components.py +72 -0
- spinta-0.2.dev5/spinta/backends/mongo/helpers.py +7 -0
- spinta-0.2.dev5/spinta/backends/mongo/types/file/write.py +30 -0
- spinta-0.2.dev5/spinta/backends/mongo/ufuncs/components.py +100 -0
- spinta-0.2.dev5/spinta/backends/mongo/ufuncs/ufuncs.py +535 -0
- spinta-0.2.dev5/spinta/backends/nobackend/commands/read.py +35 -0
- spinta-0.2.dev5/spinta/backends/nobackend/components.py +20 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/bootstrap.py +14 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/changes.py +124 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/column.py +172 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/freeze.py +190 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/init.py +145 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/load.py +26 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/constants.py +1 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/migrate.py +309 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/model.py +583 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/property.py +86 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/types/datatype.py +378 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/types/file.py +126 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/types/geometry.py +30 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/types/ref.py +669 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/types/string.py +135 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/types/text.py +132 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/read.py +86 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/redirect.py +47 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/summary.py +451 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/wait.py +21 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/wipe.py +61 -0
- spinta-0.2.dev5/spinta/backends/postgresql/commands/write.py +341 -0
- spinta-0.2.dev5/spinta/backends/postgresql/components.py +157 -0
- spinta-0.2.dev5/spinta/backends/postgresql/constants.py +6 -0
- spinta-0.2.dev5/spinta/backends/postgresql/files.py +224 -0
- spinta-0.2.dev5/spinta/backends/postgresql/helpers/__init__.py +41 -0
- spinta-0.2.dev5/spinta/backends/postgresql/helpers/changes.py +41 -0
- spinta-0.2.dev5/spinta/backends/postgresql/helpers/exceptions.py +62 -0
- spinta-0.2.dev5/spinta/backends/postgresql/helpers/extractors.py +17 -0
- spinta-0.2.dev5/spinta/backends/postgresql/helpers/migrate/actions.py +430 -0
- spinta-0.2.dev5/spinta/backends/postgresql/helpers/migrate/migrate.py +1441 -0
- spinta-0.2.dev5/spinta/backends/postgresql/helpers/name.py +109 -0
- spinta-0.2.dev5/spinta/backends/postgresql/helpers/redirect.py +30 -0
- spinta-0.2.dev5/spinta/backends/postgresql/helpers/validate.py +36 -0
- spinta-0.2.dev5/spinta/backends/postgresql/sqlalchemy.py +19 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/array/freeze.py +86 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/array/init.py +59 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/array/wipe.py +13 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/array/write.py +138 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/array_backref/init.py +9 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/external_ref/init.py +62 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/file/freeze.py +102 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/file/init.py +64 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/file/read.py +85 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/file/write.py +147 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/geometry/helpers.py +48 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/geometry/init.py +32 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/geometry/write.py +13 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/object/init.py +18 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/object/read.py +67 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/ref/freeze.py +83 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/ref/init.py +57 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/ref/validate.py +30 -0
- spinta-0.2.dev5/spinta/backends/postgresql/types/text/init.py +18 -0
- spinta-0.2.dev5/spinta/backends/postgresql/ufuncs/query/components.py +318 -0
- spinta-0.2.dev5/spinta/backends/postgresql/ufuncs/query/ufuncs.py +1300 -0
- spinta-0.2.dev5/spinta/backends/postgresql/ufuncs/result/components.py +18 -0
- spinta-0.2.dev5/spinta/backends/postgresql/ufuncs/result/ufuncs.py +24 -0
- spinta-0.2.dev5/spinta/cli/admin.py +87 -0
- spinta-0.2.dev5/spinta/cli/auth.py +158 -0
- spinta-0.2.dev5/spinta/cli/config.py +37 -0
- spinta-0.2.dev5/spinta/cli/data.py +189 -0
- spinta-0.2.dev5/spinta/cli/get.py +30 -0
- spinta-0.2.dev5/spinta/cli/helpers/admin/components.py +17 -0
- spinta-0.2.dev5/spinta/cli/helpers/admin/registry.py +31 -0
- spinta-0.2.dev5/spinta/cli/helpers/admin/scripts/changelog.py +414 -0
- spinta-0.2.dev5/spinta/cli/helpers/admin/scripts/deduplicate.py +262 -0
- spinta-0.2.dev5/spinta/cli/helpers/auth.py +33 -0
- spinta-0.2.dev5/spinta/cli/helpers/data.py +180 -0
- spinta-0.2.dev5/spinta/cli/helpers/errors.py +28 -0
- spinta-0.2.dev5/spinta/cli/helpers/export/backends/postgresql/commands.py +168 -0
- spinta-0.2.dev5/spinta/cli/helpers/export/backends/postgresql/components.py +58 -0
- spinta-0.2.dev5/spinta/cli/helpers/export/backends/postgresql/helpers.py +126 -0
- spinta-0.2.dev5/spinta/cli/helpers/export/commands.py +332 -0
- spinta-0.2.dev5/spinta/cli/helpers/export/components.py +71 -0
- spinta-0.2.dev5/spinta/cli/helpers/export/helpers.py +124 -0
- spinta-0.2.dev5/spinta/cli/helpers/push/__init__.py +70 -0
- spinta-0.2.dev5/spinta/cli/helpers/push/components.py +113 -0
- spinta-0.2.dev5/spinta/cli/helpers/push/delete.py +123 -0
- spinta-0.2.dev5/spinta/cli/helpers/push/error.py +152 -0
- spinta-0.2.dev5/spinta/cli/helpers/push/read.py +356 -0
- spinta-0.2.dev5/spinta/cli/helpers/push/state.py +219 -0
- spinta-0.2.dev5/spinta/cli/helpers/push/sync.py +281 -0
- spinta-0.2.dev5/spinta/cli/helpers/push/utils.py +171 -0
- spinta-0.2.dev5/spinta/cli/helpers/push/write.py +437 -0
- spinta-0.2.dev5/spinta/cli/helpers/script/components.py +121 -0
- spinta-0.2.dev5/spinta/cli/helpers/script/core.py +80 -0
- spinta-0.2.dev5/spinta/cli/helpers/script/helpers.py +70 -0
- spinta-0.2.dev5/spinta/cli/helpers/script/registry.py +93 -0
- spinta-0.2.dev5/spinta/cli/helpers/store.py +160 -0
- spinta-0.2.dev5/spinta/cli/helpers/sync/__init__.py +2 -0
- spinta-0.2.dev5/spinta/cli/helpers/sync/controllers/dataset.py +64 -0
- spinta-0.2.dev5/spinta/cli/helpers/sync/controllers/distribution.py +50 -0
- spinta-0.2.dev5/spinta/cli/helpers/sync/controllers/dsa.py +58 -0
- spinta-0.2.dev5/spinta/cli/helpers/sync/helpers.py +194 -0
- spinta-0.2.dev5/spinta/cli/helpers/upgrade/components.py +22 -0
- spinta-0.2.dev5/spinta/cli/helpers/upgrade/registry.py +72 -0
- spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts/clients.py +213 -0
- spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/helpers.py +49 -0
- spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/initial_setup.py +25 -0
- spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/modified_time.py +49 -0
- spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/redirect_support.py +99 -0
- spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts/redirect.py +87 -0
- spinta-0.2.dev5/spinta/cli/init.py +21 -0
- spinta-0.2.dev5/spinta/cli/inspect.py +57 -0
- spinta-0.2.dev5/spinta/cli/keymap.py +124 -0
- spinta-0.2.dev5/spinta/cli/main.py +108 -0
- spinta-0.2.dev5/spinta/cli/migrate.py +109 -0
- spinta-0.2.dev5/spinta/cli/pii.py +258 -0
- spinta-0.2.dev5/spinta/cli/pull.py +106 -0
- spinta-0.2.dev5/spinta/cli/push.py +223 -0
- spinta-0.2.dev5/spinta/cli/server.py +54 -0
- spinta-0.2.dev5/spinta/cli/show.py +26 -0
- spinta-0.2.dev5/spinta/cli/sync.py +72 -0
- spinta-0.2.dev5/spinta/cli/upgrade.py +90 -0
- spinta-0.2.dev5/spinta/client.py +166 -0
- spinta-0.2.dev5/spinta/commands/__init__.py +1370 -0
- spinta-0.2.dev5/spinta/commands/auth.py +22 -0
- spinta-0.2.dev5/spinta/commands/helpers.py +71 -0
- spinta-0.2.dev5/spinta/commands/read.py +599 -0
- spinta-0.2.dev5/spinta/commands/search.py +92 -0
- spinta-0.2.dev5/spinta/commands/version.py +30 -0
- spinta-0.2.dev5/spinta/commands/write.py +1439 -0
- spinta-0.2.dev5/spinta/compat.py +111 -0
- spinta-0.2.dev5/spinta/components.py +1105 -0
- spinta-0.2.dev5/spinta/config.py +339 -0
- spinta-0.2.dev5/spinta/core/access.py +86 -0
- spinta-0.2.dev5/spinta/core/config.py +665 -0
- spinta-0.2.dev5/spinta/core/context.py +65 -0
- spinta-0.2.dev5/spinta/core/enums.py +191 -0
- spinta-0.2.dev5/spinta/core/ufuncs.py +321 -0
- spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/csv/components.py +11 -0
- spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/json/components.py +11 -0
- spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/memory/components.py +11 -0
- spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/soap/commands/read.py +120 -0
- spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/soap/components.py +18 -0
- spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/soap/ufuncs/components.py +31 -0
- spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/soap/ufuncs/ufuncs.py +130 -0
- spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/xml/components.py +11 -0
- spinta-0.2.dev5/spinta/datasets/backends/dataframe/commands/read.py +599 -0
- spinta-0.2.dev5/spinta/datasets/backends/dataframe/components.py +13 -0
- spinta-0.2.dev5/spinta/datasets/backends/dataframe/ufuncs/components.py +5 -0
- spinta-0.2.dev5/spinta/datasets/backends/dataframe/ufuncs/query/components.py +63 -0
- spinta-0.2.dev5/spinta/datasets/backends/dataframe/ufuncs/query/ufuncs.py +459 -0
- spinta-0.2.dev5/spinta/datasets/backends/helpers.py +170 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mariadb/components.py +7 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mssql/components.py +7 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mssql/helpers.py +12 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mysql/components.py +7 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/backends/oracle/components.py +7 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/components.py +8 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/backends/postgresql/components.py +7 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/backends/sqlite/components.py +7 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/commands/cast.py +156 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/commands/load.py +20 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/commands/read.py +126 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/commands/wait.py +26 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/components.py +53 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/components.py +39 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/query/components.py +211 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/query/helpers.py +71 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/query/ufuncs.py +893 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/result/components.py +18 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/result/ufuncs.py +66 -0
- spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/ufuncs.py +41 -0
- spinta-0.2.dev5/spinta/datasets/backends/sqldump/commands/inspect.py +103 -0
- spinta-0.2.dev5/spinta/datasets/backends/sqldump/commands/load.py +18 -0
- spinta-0.2.dev5/spinta/datasets/backends/sqldump/components.py +24 -0
- spinta-0.2.dev5/spinta/datasets/backends/sqldump/ufuncs/components.py +20 -0
- spinta-0.2.dev5/spinta/datasets/backends/sqldump/ufuncs/ufuncs.py +27 -0
- spinta-0.2.dev5/spinta/datasets/commands/check.py +35 -0
- spinta-0.2.dev5/spinta/datasets/commands/error.py +32 -0
- spinta-0.2.dev5/spinta/datasets/commands/link.py +65 -0
- spinta-0.2.dev5/spinta/datasets/commands/load.py +150 -0
- spinta-0.2.dev5/spinta/datasets/components.py +240 -0
- spinta-0.2.dev5/spinta/datasets/enums.py +1 -0
- spinta-0.2.dev5/spinta/datasets/helpers.py +191 -0
- spinta-0.2.dev5/spinta/datasets/inspect/commands/merge.py +498 -0
- spinta-0.2.dev5/spinta/datasets/inspect/helpers.py +332 -0
- spinta-0.2.dev5/spinta/datasets/keymaps/components.py +47 -0
- spinta-0.2.dev5/spinta/datasets/keymaps/sqlalchemy.py +458 -0
- spinta-0.2.dev5/spinta/datasets/keymaps/sync.py +322 -0
- spinta-0.2.dev5/spinta/datasets/utils.py +71 -0
- spinta-0.2.dev5/spinta/dimensions/comments/helpers.py +32 -0
- spinta-0.2.dev5/spinta/dimensions/enum/commands.py +107 -0
- spinta-0.2.dev5/spinta/dimensions/enum/components.py +64 -0
- spinta-0.2.dev5/spinta/dimensions/enum/helpers.py +101 -0
- spinta-0.2.dev5/spinta/dimensions/enum/ufuncs.py +29 -0
- spinta-0.2.dev5/spinta/dimensions/lang/components.py +13 -0
- spinta-0.2.dev5/spinta/dimensions/param/helpers.py +78 -0
- spinta-0.2.dev5/spinta/dimensions/param/ufuncs.py +159 -0
- spinta-0.2.dev5/spinta/dimensions/prefix/components.py +28 -0
- spinta-0.2.dev5/spinta/dimensions/prefix/helpers.py +36 -0
- spinta-0.2.dev5/spinta/dispatcher.py +129 -0
- spinta-0.2.dev5/spinta/exceptions.py +1132 -0
- spinta-0.2.dev5/spinta/fetcher.py +46 -0
- spinta-0.2.dev5/spinta/formats/ascii/commands.py +80 -0
- spinta-0.2.dev5/spinta/formats/ascii/components.py +87 -0
- spinta-0.2.dev5/spinta/formats/ascii/helpers.py +180 -0
- spinta-0.2.dev5/spinta/formats/csv/commands.py +108 -0
- spinta-0.2.dev5/spinta/formats/csv/components.py +21 -0
- spinta-0.2.dev5/spinta/formats/helpers.py +232 -0
- spinta-0.2.dev5/spinta/formats/html/commands.py +932 -0
- spinta-0.2.dev5/spinta/formats/html/components.py +45 -0
- spinta-0.2.dev5/spinta/formats/html/helpers.py +272 -0
- spinta-0.2.dev5/spinta/formats/json/commands.py +85 -0
- spinta-0.2.dev5/spinta/formats/json/components.py +37 -0
- spinta-0.2.dev5/spinta/formats/jsonlines/commands.py +72 -0
- spinta-0.2.dev5/spinta/formats/jsonlines/components.py +29 -0
- spinta-0.2.dev5/spinta/formats/rdf/commands.py +826 -0
- spinta-0.2.dev5/spinta/formats/rdf/components.py +10 -0
- spinta-0.2.dev5/spinta/formats/xlsx/commands.py +84 -0
- spinta-0.2.dev5/spinta/formats/xlsx/components.py +9 -0
- spinta-0.2.dev5/spinta/hacks/spyna.py +31 -0
- spinta-0.2.dev5/spinta/hacks/urlparams.py +34 -0
- spinta-0.2.dev5/spinta/logging_config.py +33 -0
- spinta-0.2.dev5/spinta/manifests/backend/commands/bootstrap.py +17 -0
- spinta-0.2.dev5/spinta/manifests/backend/commands/load.py +19 -0
- spinta-0.2.dev5/spinta/manifests/backend/commands/migrate.py +15 -0
- spinta-0.2.dev5/spinta/manifests/backend/components.py +5 -0
- spinta-0.2.dev5/spinta/manifests/backend/helpers.py +251 -0
- spinta-0.2.dev5/spinta/manifests/commands/error.py +39 -0
- spinta-0.2.dev5/spinta/manifests/commands/init.py +14 -0
- spinta-0.2.dev5/spinta/manifests/commands/inspect.py +35 -0
- spinta-0.2.dev5/spinta/manifests/commands/migrate.py +16 -0
- spinta-0.2.dev5/spinta/manifests/commands/read.py +182 -0
- spinta-0.2.dev5/spinta/manifests/components.py +107 -0
- spinta-0.2.dev5/spinta/manifests/dict/commands/configure.py +16 -0
- spinta-0.2.dev5/spinta/manifests/dict/commands/load.py +46 -0
- spinta-0.2.dev5/spinta/manifests/dict/components.py +32 -0
- spinta-0.2.dev5/spinta/manifests/dict/helpers.py +512 -0
- spinta-0.2.dev5/spinta/manifests/helpers.py +455 -0
- spinta-0.2.dev5/spinta/manifests/internal/commands/configure.py +11 -0
- spinta-0.2.dev5/spinta/manifests/internal/commands/load.py +59 -0
- spinta-0.2.dev5/spinta/manifests/internal_sql/commands/auth.py +112 -0
- spinta-0.2.dev5/spinta/manifests/internal_sql/commands/bootstrap.py +22 -0
- spinta-0.2.dev5/spinta/manifests/internal_sql/commands/configure.py +20 -0
- spinta-0.2.dev5/spinta/manifests/internal_sql/commands/load.py +83 -0
- spinta-0.2.dev5/spinta/manifests/internal_sql/commands/manifest.py +619 -0
- spinta-0.2.dev5/spinta/manifests/internal_sql/commands/read.py +130 -0
- spinta-0.2.dev5/spinta/manifests/internal_sql/components.py +99 -0
- spinta-0.2.dev5/spinta/manifests/internal_sql/helpers.py +1413 -0
- spinta-0.2.dev5/spinta/manifests/memory/commands/configure.py +10 -0
- spinta-0.2.dev5/spinta/manifests/memory/commands/load.py +33 -0
- spinta-0.2.dev5/spinta/manifests/memory/components.py +5 -0
- spinta-0.2.dev5/spinta/manifests/mermaid/components.py +9 -0
- spinta-0.2.dev5/spinta/manifests/mermaid/helpers.py +259 -0
- spinta-0.2.dev5/spinta/manifests/open_api/commands/configure.py +15 -0
- spinta-0.2.dev5/spinta/manifests/open_api/commands/load.py +47 -0
- spinta-0.2.dev5/spinta/manifests/open_api/components.py +10 -0
- spinta-0.2.dev5/spinta/manifests/open_api/helpers.py +350 -0
- spinta-0.2.dev5/spinta/manifests/rdf/commands/bootstrap.py +10 -0
- spinta-0.2.dev5/spinta/manifests/rdf/commands/configure.py +14 -0
- spinta-0.2.dev5/spinta/manifests/rdf/commands/load.py +46 -0
- spinta-0.2.dev5/spinta/manifests/rdf/components.py +10 -0
- spinta-0.2.dev5/spinta/manifests/rdf/helpers.py +473 -0
- spinta-0.2.dev5/spinta/manifests/sql/commands/configure.py +15 -0
- spinta-0.2.dev5/spinta/manifests/sql/commands/load.py +60 -0
- spinta-0.2.dev5/spinta/manifests/sql/components.py +24 -0
- spinta-0.2.dev5/spinta/manifests/sql/helpers.py +313 -0
- spinta-0.2.dev5/spinta/manifests/tabular/commands/bootstrap.py +11 -0
- spinta-0.2.dev5/spinta/manifests/tabular/commands/configure.py +23 -0
- spinta-0.2.dev5/spinta/manifests/tabular/commands/load.py +81 -0
- spinta-0.2.dev5/spinta/manifests/tabular/components.py +303 -0
- spinta-0.2.dev5/spinta/manifests/tabular/constants.py +39 -0
- spinta-0.2.dev5/spinta/manifests/tabular/formats/gsheets.py +40 -0
- spinta-0.2.dev5/spinta/manifests/tabular/helpers.py +2963 -0
- spinta-0.2.dev5/spinta/manifests/xsd/commands/configure.py +15 -0
- spinta-0.2.dev5/spinta/manifests/xsd/commands/load.py +60 -0
- spinta-0.2.dev5/spinta/manifests/xsd/components.py +9 -0
- spinta-0.2.dev5/spinta/manifests/xsd/helpers.py +1180 -0
- spinta-0.2.dev5/spinta/manifests/xsd2/commands/configure.py +15 -0
- spinta-0.2.dev5/spinta/manifests/xsd2/commands/load.py +60 -0
- spinta-0.2.dev5/spinta/manifests/xsd2/components.py +9 -0
- spinta-0.2.dev5/spinta/manifests/xsd2/helpers.py +1282 -0
- spinta-0.2.dev5/spinta/manifests/yaml/commands/bootstrap.py +11 -0
- spinta-0.2.dev5/spinta/manifests/yaml/commands/configure.py +32 -0
- spinta-0.2.dev5/spinta/manifests/yaml/commands/freeze.py +50 -0
- spinta-0.2.dev5/spinta/manifests/yaml/commands/load.py +116 -0
- spinta-0.2.dev5/spinta/manifests/yaml/commands/migrate.py +8 -0
- spinta-0.2.dev5/spinta/manifests/yaml/components.py +19 -0
- spinta-0.2.dev5/spinta/manifests/yaml/helpers.py +156 -0
- spinta-0.2.dev5/spinta/middlewares.py +31 -0
- spinta-0.2.dev5/spinta/migrations/__init__.py +23 -0
- spinta-0.2.dev5/spinta/migrations/schema/alembic.py +119 -0
- spinta-0.2.dev5/spinta/naming/components.py +10 -0
- spinta-0.2.dev5/spinta/naming/helpers.py +136 -0
- spinta-0.2.dev5/spinta/naming/ufuncts.py +35 -0
- spinta-0.2.dev5/spinta/nodes.py +236 -0
- spinta-0.2.dev5/spinta/renderer.py +34 -0
- spinta-0.2.dev5/spinta/spyna.py +358 -0
- spinta-0.2.dev5/spinta/testing/__init__.py +4 -0
- spinta-0.2.dev5/spinta/testing/cli.py +67 -0
- spinta-0.2.dev5/spinta/testing/client.py +342 -0
- spinta-0.2.dev5/spinta/testing/config.py +91 -0
- spinta-0.2.dev5/spinta/testing/context.py +104 -0
- spinta-0.2.dev5/spinta/testing/csv.py +8 -0
- spinta-0.2.dev5/spinta/testing/data.py +271 -0
- spinta-0.2.dev5/spinta/testing/datasets.py +60 -0
- spinta-0.2.dev5/spinta/testing/dtypes.py +244 -0
- spinta-0.2.dev5/spinta/testing/push.py +16 -0
- spinta-0.2.dev5/spinta/testing/pytest.py +356 -0
- spinta-0.2.dev5/spinta/testing/request.py +93 -0
- spinta-0.2.dev5/spinta/testing/types/geometry.py +48 -0
- spinta-0.2.dev5/spinta/testing/ufuncs.py +31 -0
- spinta-0.2.dev5/spinta/testing/utils.py +173 -0
- spinta-0.2.dev5/spinta/types/array/check.py +48 -0
- spinta-0.2.dev5/spinta/types/array/link.py +96 -0
- spinta-0.2.dev5/spinta/types/backref/link.py +116 -0
- spinta-0.2.dev5/spinta/types/command.py +38 -0
- spinta-0.2.dev5/spinta/types/config.py +108 -0
- spinta-0.2.dev5/spinta/types/datatype.py +622 -0
- spinta-0.2.dev5/spinta/types/denorm/check.py +14 -0
- spinta-0.2.dev5/spinta/types/denorm/link.py +64 -0
- spinta-0.2.dev5/spinta/types/file/decode.py +31 -0
- spinta-0.2.dev5/spinta/types/file/helpers.py +40 -0
- spinta-0.2.dev5/spinta/types/geometry/components.py +12 -0
- spinta-0.2.dev5/spinta/types/geometry/constants.py +3 -0
- spinta-0.2.dev5/spinta/types/geometry/helpers.py +33 -0
- spinta-0.2.dev5/spinta/types/geometry/load.py +63 -0
- spinta-0.2.dev5/spinta/types/helpers.py +75 -0
- spinta-0.2.dev5/spinta/types/model.py +640 -0
- spinta-0.2.dev5/spinta/types/namespace.py +342 -0
- spinta-0.2.dev5/spinta/types/partial/link.py +48 -0
- spinta-0.2.dev5/spinta/types/ref/check.py +22 -0
- spinta-0.2.dev5/spinta/types/ref/link.py +53 -0
- spinta-0.2.dev5/spinta/types/store.py +160 -0
- spinta-0.2.dev5/spinta/types/text/components.py +11 -0
- spinta-0.2.dev5/spinta/types/text/load.py +25 -0
- spinta-0.2.dev5/spinta/typing.py +19 -0
- spinta-0.2.dev5/spinta/ufuncs/changebase/components.py +10 -0
- spinta-0.2.dev5/spinta/ufuncs/changebase/helpers.py +50 -0
- spinta-0.2.dev5/spinta/ufuncs/changebase/ufuncs.py +35 -0
- spinta-0.2.dev5/spinta/ufuncs/common.py +49 -0
- spinta-0.2.dev5/spinta/ufuncs/components.py +177 -0
- spinta-0.2.dev5/spinta/ufuncs/helpers.py +19 -0
- spinta-0.2.dev5/spinta/ufuncs/linkbuilder/ufuncs.py +51 -0
- spinta-0.2.dev5/spinta/ufuncs/loadbuilder/__init__.py +0 -0
- spinta-0.2.dev5/spinta/ufuncs/loadbuilder/components.py +80 -0
- spinta-0.2.dev5/spinta/ufuncs/loadbuilder/helpers.py +26 -0
- spinta-0.2.dev5/spinta/ufuncs/loadbuilder/ufuncs.py +72 -0
- spinta-0.2.dev5/spinta/ufuncs/propertyresolver/__init__.py +0 -0
- spinta-0.2.dev5/spinta/ufuncs/propertyresolver/components.py +16 -0
- spinta-0.2.dev5/spinta/ufuncs/propertyresolver/ufuncs.py +271 -0
- spinta-0.2.dev5/spinta/ufuncs/querybuilder/__init__.py +0 -0
- spinta-0.2.dev5/spinta/ufuncs/querybuilder/components.py +171 -0
- spinta-0.2.dev5/spinta/ufuncs/querybuilder/helpers.py +205 -0
- spinta-0.2.dev5/spinta/ufuncs/querybuilder/ufuncs.py +514 -0
- spinta-0.2.dev5/spinta/ufuncs/requestparamsbuilder/__init__.py +0 -0
- spinta-0.2.dev5/spinta/ufuncs/requestparamsbuilder/components.py +13 -0
- spinta-0.2.dev5/spinta/ufuncs/requestparamsbuilder/ufuncs.py +156 -0
- spinta-0.2.dev5/spinta/ufuncs/resultbuilder/__init__.py +0 -0
- spinta-0.2.dev5/spinta/ufuncs/resultbuilder/components.py +28 -0
- spinta-0.2.dev5/spinta/ufuncs/resultbuilder/helpers.py +152 -0
- spinta-0.2.dev5/spinta/ufuncs/resultbuilder/ufuncs.py +58 -0
- spinta-0.2.dev5/spinta/ufuncs/summaryenv/__init__.py +0 -0
- spinta-0.2.dev5/spinta/ufuncs/summaryenv/components.py +30 -0
- spinta-0.2.dev5/spinta/ufuncs/summaryenv/ufuncs.py +31 -0
- spinta-0.2.dev5/spinta/units/__init__.py +0 -0
- spinta-0.2.dev5/spinta/units/helpers.py +171 -0
- spinta-0.2.dev5/spinta/urlparams.py +497 -0
- spinta-0.2.dev5/spinta/utils/__init__.py +2 -0
- spinta-0.2.dev5/spinta/utils/aiotools.py +90 -0
- spinta-0.2.dev5/spinta/utils/changes.py +13 -0
- spinta-0.2.dev5/spinta/utils/config.py +46 -0
- spinta-0.2.dev5/spinta/utils/data.py +86 -0
- spinta-0.2.dev5/spinta/utils/encoding.py +15 -0
- spinta-0.2.dev5/spinta/utils/enums.py +43 -0
- spinta-0.2.dev5/spinta/utils/errors.py +23 -0
- spinta-0.2.dev5/spinta/utils/functools.py +7 -0
- spinta-0.2.dev5/spinta/utils/idgen.py +9 -0
- spinta-0.2.dev5/spinta/utils/imports.py +22 -0
- spinta-0.2.dev5/spinta/utils/itertools.py +118 -0
- spinta-0.2.dev5/spinta/utils/json.py +31 -0
- spinta-0.2.dev5/spinta/utils/naming.py +83 -0
- spinta-0.2.dev5/spinta/utils/nestedstruct.py +282 -0
- spinta-0.2.dev5/spinta/utils/nin.py +84 -0
- spinta-0.2.dev5/spinta/utils/passwords.py +52 -0
- spinta-0.2.dev5/spinta/utils/path.py +38 -0
- spinta-0.2.dev5/spinta/utils/response.py +324 -0
- spinta-0.2.dev5/spinta/utils/schema.py +96 -0
- spinta-0.2.dev5/spinta/utils/scopes.py +28 -0
- spinta-0.2.dev5/spinta/utils/sqlalchemy.py +48 -0
- spinta-0.2.dev5/spinta/utils/sqlite.py +144 -0
- spinta-0.2.dev5/spinta/utils/starlette.py +19 -0
- spinta-0.2.dev5/spinta/utils/streams.py +27 -0
- spinta-0.2.dev5/spinta/utils/tree.py +27 -0
- spinta-0.2.dev5/spinta/utils/types.py +16 -0
- spinta-0.2.dev5/spinta/utils/units.py +42 -0
- spinta-0.2.dev5/spinta/utils/url.py +114 -0
- spinta-0.2.dev3/PKG-INFO +0 -301
- spinta-0.2.dev3/pyproject.toml +0 -156
- spinta-0.2.dev3/spinta/__init__.py +0 -10
- spinta-0.2.dev3/spinta/accesslog/__init__.py +0 -210
- spinta-0.2.dev3/spinta/accesslog/file.py +0 -79
- spinta-0.2.dev3/spinta/accesslog/python.py +0 -24
- spinta-0.2.dev3/spinta/api/__init__.py +0 -465
- spinta-0.2.dev3/spinta/api/inspect.py +0 -189
- spinta-0.2.dev3/spinta/api/schema.py +0 -204
- spinta-0.2.dev3/spinta/asgi.py +0 -31
- spinta-0.2.dev3/spinta/auth.py +0 -894
- spinta-0.2.dev3/spinta/backends/__init__.py +0 -2205
- spinta-0.2.dev3/spinta/backends/components.py +0 -63
- spinta-0.2.dev3/spinta/backends/constants.py +0 -37
- spinta-0.2.dev3/spinta/backends/fs/commands/decode.py +0 -14
- spinta-0.2.dev3/spinta/backends/fs/commands/encode.py +0 -41
- spinta-0.2.dev3/spinta/backends/fs/commands/init.py +0 -29
- spinta-0.2.dev3/spinta/backends/fs/commands/load.py +0 -11
- spinta-0.2.dev3/spinta/backends/fs/commands/read.py +0 -58
- spinta-0.2.dev3/spinta/backends/fs/commands/validate.py +0 -83
- spinta-0.2.dev3/spinta/backends/fs/commands/wipe.py +0 -19
- spinta-0.2.dev3/spinta/backends/fs/commands/write.py +0 -115
- spinta-0.2.dev3/spinta/backends/fs/components.py +0 -13
- spinta-0.2.dev3/spinta/backends/helpers.py +0 -398
- spinta-0.2.dev3/spinta/backends/memory/commands/read.py +0 -49
- spinta-0.2.dev3/spinta/backends/memory/components.py +0 -87
- spinta-0.2.dev3/spinta/backends/mongo/commands/changes.py +0 -39
- spinta-0.2.dev3/spinta/backends/mongo/commands/encode.py +0 -28
- spinta-0.2.dev3/spinta/backends/mongo/commands/load.py +0 -16
- spinta-0.2.dev3/spinta/backends/mongo/commands/read.py +0 -125
- spinta-0.2.dev3/spinta/backends/mongo/commands/validate.py +0 -44
- spinta-0.2.dev3/spinta/backends/mongo/commands/wipe.py +0 -23
- spinta-0.2.dev3/spinta/backends/mongo/commands/write.py +0 -151
- spinta-0.2.dev3/spinta/backends/mongo/components.py +0 -74
- spinta-0.2.dev3/spinta/backends/mongo/helpers.py +0 -10
- spinta-0.2.dev3/spinta/backends/mongo/types/file/write.py +0 -32
- spinta-0.2.dev3/spinta/backends/mongo/ufuncs/components.py +0 -107
- spinta-0.2.dev3/spinta/backends/mongo/ufuncs/ufuncs.py +0 -472
- spinta-0.2.dev3/spinta/backends/nobackend/commands/read.py +0 -42
- spinta-0.2.dev3/spinta/backends/nobackend/components.py +0 -20
- spinta-0.2.dev3/spinta/backends/postgresql/commands/bootstrap.py +0 -17
- spinta-0.2.dev3/spinta/backends/postgresql/commands/changes.py +0 -118
- spinta-0.2.dev3/spinta/backends/postgresql/commands/column.py +0 -175
- spinta-0.2.dev3/spinta/backends/postgresql/commands/freeze.py +0 -208
- spinta-0.2.dev3/spinta/backends/postgresql/commands/init.py +0 -144
- spinta-0.2.dev3/spinta/backends/postgresql/commands/load.py +0 -28
- spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/constants.py +0 -3
- spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/migrate.py +0 -319
- spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/model.py +0 -613
- spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/property.py +0 -78
- spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/types/datatype.py +0 -317
- spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/types/file.py +0 -110
- spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/types/geometry.py +0 -28
- spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/types/ref.py +0 -642
- spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/types/string.py +0 -134
- spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/types/text.py +0 -138
- spinta-0.2.dev3/spinta/backends/postgresql/commands/read.py +0 -86
- spinta-0.2.dev3/spinta/backends/postgresql/commands/redirect.py +0 -59
- spinta-0.2.dev3/spinta/backends/postgresql/commands/summary.py +0 -500
- spinta-0.2.dev3/spinta/backends/postgresql/commands/wait.py +0 -21
- spinta-0.2.dev3/spinta/backends/postgresql/commands/wipe.py +0 -64
- spinta-0.2.dev3/spinta/backends/postgresql/commands/write.py +0 -374
- spinta-0.2.dev3/spinta/backends/postgresql/components.py +0 -161
- spinta-0.2.dev3/spinta/backends/postgresql/constants.py +0 -10
- spinta-0.2.dev3/spinta/backends/postgresql/files.py +0 -237
- spinta-0.2.dev3/spinta/backends/postgresql/helpers/__init__.py +0 -41
- spinta-0.2.dev3/spinta/backends/postgresql/helpers/changes.py +0 -41
- spinta-0.2.dev3/spinta/backends/postgresql/helpers/exceptions.py +0 -68
- spinta-0.2.dev3/spinta/backends/postgresql/helpers/extractors.py +0 -17
- spinta-0.2.dev3/spinta/backends/postgresql/helpers/migrate/actions.py +0 -446
- spinta-0.2.dev3/spinta/backends/postgresql/helpers/migrate/migrate.py +0 -1289
- spinta-0.2.dev3/spinta/backends/postgresql/helpers/name.py +0 -94
- spinta-0.2.dev3/spinta/backends/postgresql/helpers/redirect.py +0 -37
- spinta-0.2.dev3/spinta/backends/postgresql/helpers/validate.py +0 -41
- spinta-0.2.dev3/spinta/backends/postgresql/sqlalchemy.py +0 -19
- spinta-0.2.dev3/spinta/backends/postgresql/types/array/freeze.py +0 -77
- spinta-0.2.dev3/spinta/backends/postgresql/types/array/init.py +0 -54
- spinta-0.2.dev3/spinta/backends/postgresql/types/array/wipe.py +0 -13
- spinta-0.2.dev3/spinta/backends/postgresql/types/array/write.py +0 -147
- spinta-0.2.dev3/spinta/backends/postgresql/types/array_backref/init.py +0 -9
- spinta-0.2.dev3/spinta/backends/postgresql/types/external_ref/init.py +0 -62
- spinta-0.2.dev3/spinta/backends/postgresql/types/file/freeze.py +0 -100
- spinta-0.2.dev3/spinta/backends/postgresql/types/file/init.py +0 -57
- spinta-0.2.dev3/spinta/backends/postgresql/types/file/read.py +0 -86
- spinta-0.2.dev3/spinta/backends/postgresql/types/file/write.py +0 -145
- spinta-0.2.dev3/spinta/backends/postgresql/types/geometry/helpers.py +0 -48
- spinta-0.2.dev3/spinta/backends/postgresql/types/geometry/init.py +0 -43
- spinta-0.2.dev3/spinta/backends/postgresql/types/geometry/write.py +0 -23
- spinta-0.2.dev3/spinta/backends/postgresql/types/object/init.py +0 -18
- spinta-0.2.dev3/spinta/backends/postgresql/types/object/read.py +0 -70
- spinta-0.2.dev3/spinta/backends/postgresql/types/ref/freeze.py +0 -81
- spinta-0.2.dev3/spinta/backends/postgresql/types/ref/init.py +0 -67
- spinta-0.2.dev3/spinta/backends/postgresql/types/ref/validate.py +0 -30
- spinta-0.2.dev3/spinta/backends/postgresql/types/text/init.py +0 -16
- spinta-0.2.dev3/spinta/backends/postgresql/ufuncs/query/components.py +0 -322
- spinta-0.2.dev3/spinta/backends/postgresql/ufuncs/query/ufuncs.py +0 -1319
- spinta-0.2.dev3/spinta/backends/postgresql/ufuncs/result/components.py +0 -18
- spinta-0.2.dev3/spinta/backends/postgresql/ufuncs/result/ufuncs.py +0 -27
- spinta-0.2.dev3/spinta/cli/auth.py +0 -180
- spinta-0.2.dev3/spinta/cli/config.py +0 -39
- spinta-0.2.dev3/spinta/cli/data.py +0 -214
- spinta-0.2.dev3/spinta/cli/get.py +0 -34
- spinta-0.2.dev3/spinta/cli/helpers/auth.py +0 -28
- spinta-0.2.dev3/spinta/cli/helpers/data.py +0 -184
- spinta-0.2.dev3/spinta/cli/helpers/errors.py +0 -30
- spinta-0.2.dev3/spinta/cli/helpers/export/backends/postgresql/commands.py +0 -189
- spinta-0.2.dev3/spinta/cli/helpers/export/backends/postgresql/components.py +0 -67
- spinta-0.2.dev3/spinta/cli/helpers/export/backends/postgresql/helpers.py +0 -160
- spinta-0.2.dev3/spinta/cli/helpers/export/commands.py +0 -437
- spinta-0.2.dev3/spinta/cli/helpers/export/components.py +0 -71
- spinta-0.2.dev3/spinta/cli/helpers/export/helpers.py +0 -159
- spinta-0.2.dev3/spinta/cli/helpers/push/__init__.py +0 -73
- spinta-0.2.dev3/spinta/cli/helpers/push/components.py +0 -115
- spinta-0.2.dev3/spinta/cli/helpers/push/delete.py +0 -165
- spinta-0.2.dev3/spinta/cli/helpers/push/error.py +0 -196
- spinta-0.2.dev3/spinta/cli/helpers/push/read.py +0 -412
- spinta-0.2.dev3/spinta/cli/helpers/push/state.py +0 -257
- spinta-0.2.dev3/spinta/cli/helpers/push/sync.py +0 -343
- spinta-0.2.dev3/spinta/cli/helpers/push/utils.py +0 -190
- spinta-0.2.dev3/spinta/cli/helpers/push/write.py +0 -520
- spinta-0.2.dev3/spinta/cli/helpers/store.py +0 -176
- spinta-0.2.dev3/spinta/cli/helpers/upgrade/components.py +0 -51
- spinta-0.2.dev3/spinta/cli/helpers/upgrade/core.py +0 -143
- spinta-0.2.dev3/spinta/cli/helpers/upgrade/helpers.py +0 -29
- spinta-0.2.dev3/spinta/cli/helpers/upgrade/scripts/clients.py +0 -237
- spinta-0.2.dev3/spinta/cli/helpers/upgrade/scripts/deduplicate.py +0 -263
- spinta-0.2.dev3/spinta/cli/helpers/upgrade/scripts/redirect.py +0 -107
- spinta-0.2.dev3/spinta/cli/init.py +0 -22
- spinta-0.2.dev3/spinta/cli/inspect.py +0 -66
- spinta-0.2.dev3/spinta/cli/keymap.py +0 -129
- spinta-0.2.dev3/spinta/cli/main.py +0 -117
- spinta-0.2.dev3/spinta/cli/migrate.py +0 -113
- spinta-0.2.dev3/spinta/cli/pii.py +0 -258
- spinta-0.2.dev3/spinta/cli/pull.py +0 -113
- spinta-0.2.dev3/spinta/cli/push.py +0 -251
- spinta-0.2.dev3/spinta/cli/server.py +0 -60
- spinta-0.2.dev3/spinta/cli/show.py +0 -29
- spinta-0.2.dev3/spinta/cli/upgrade.py +0 -76
- spinta-0.2.dev3/spinta/client.py +0 -151
- spinta-0.2.dev3/spinta/commands/__init__.py +0 -1579
- spinta-0.2.dev3/spinta/commands/auth.py +0 -17
- spinta-0.2.dev3/spinta/commands/helpers.py +0 -71
- spinta-0.2.dev3/spinta/commands/read.py +0 -627
- spinta-0.2.dev3/spinta/commands/search.py +0 -93
- spinta-0.2.dev3/spinta/commands/version.py +0 -30
- spinta-0.2.dev3/spinta/commands/write.py +0 -1462
- spinta-0.2.dev3/spinta/compat.py +0 -107
- spinta-0.2.dev3/spinta/components.py +0 -1135
- spinta-0.2.dev3/spinta/config.py +0 -371
- spinta-0.2.dev3/spinta/core/access.py +0 -78
- spinta-0.2.dev3/spinta/core/config.py +0 -686
- spinta-0.2.dev3/spinta/core/context.py +0 -65
- spinta-0.2.dev3/spinta/core/enums.py +0 -194
- spinta-0.2.dev3/spinta/core/ufuncs.py +0 -332
- spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/csv/components.py +0 -11
- spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/json/components.py +0 -11
- spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/memory/components.py +0 -11
- spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/soap/commands/read.py +0 -49
- spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/soap/components.py +0 -16
- spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/xml/components.py +0 -11
- spinta-0.2.dev3/spinta/datasets/backends/dataframe/commands/read.py +0 -619
- spinta-0.2.dev3/spinta/datasets/backends/dataframe/components.py +0 -14
- spinta-0.2.dev3/spinta/datasets/backends/dataframe/ufuncs/components.py +0 -5
- spinta-0.2.dev3/spinta/datasets/backends/dataframe/ufuncs/query/components.py +0 -64
- spinta-0.2.dev3/spinta/datasets/backends/dataframe/ufuncs/query/ufuncs.py +0 -474
- spinta-0.2.dev3/spinta/datasets/backends/helpers.py +0 -188
- spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mariadb/components.py +0 -7
- spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mssql/components.py +0 -7
- spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mssql/helpers.py +0 -12
- spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mysql/components.py +0 -7
- spinta-0.2.dev3/spinta/datasets/backends/sql/backends/oracle/components.py +0 -7
- spinta-0.2.dev3/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/components.py +0 -9
- spinta-0.2.dev3/spinta/datasets/backends/sql/backends/postgresql/components.py +0 -7
- spinta-0.2.dev3/spinta/datasets/backends/sql/backends/sqlite/components.py +0 -7
- spinta-0.2.dev3/spinta/datasets/backends/sql/commands/cast.py +0 -238
- spinta-0.2.dev3/spinta/datasets/backends/sql/commands/load.py +0 -20
- spinta-0.2.dev3/spinta/datasets/backends/sql/commands/read.py +0 -130
- spinta-0.2.dev3/spinta/datasets/backends/sql/commands/wait.py +0 -26
- spinta-0.2.dev3/spinta/datasets/backends/sql/components.py +0 -62
- spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs/components.py +0 -34
- spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs/query/components.py +0 -211
- spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs/query/helpers.py +0 -78
- spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs/query/ufuncs.py +0 -962
- spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs/result/components.py +0 -18
- spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs/result/ufuncs.py +0 -68
- spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs/ufuncs.py +0 -41
- spinta-0.2.dev3/spinta/datasets/backends/sqldump/commands/inspect.py +0 -103
- spinta-0.2.dev3/spinta/datasets/backends/sqldump/commands/load.py +0 -18
- spinta-0.2.dev3/spinta/datasets/backends/sqldump/components.py +0 -25
- spinta-0.2.dev3/spinta/datasets/backends/sqldump/ufuncs/components.py +0 -20
- spinta-0.2.dev3/spinta/datasets/backends/sqldump/ufuncs/ufuncs.py +0 -27
- spinta-0.2.dev3/spinta/datasets/commands/check.py +0 -42
- spinta-0.2.dev3/spinta/datasets/commands/error.py +0 -25
- spinta-0.2.dev3/spinta/datasets/commands/link.py +0 -69
- spinta-0.2.dev3/spinta/datasets/commands/load.py +0 -151
- spinta-0.2.dev3/spinta/datasets/components.py +0 -243
- spinta-0.2.dev3/spinta/datasets/enums.py +0 -3
- spinta-0.2.dev3/spinta/datasets/helpers.py +0 -198
- spinta-0.2.dev3/spinta/datasets/inspect/commands/merge.py +0 -536
- spinta-0.2.dev3/spinta/datasets/inspect/helpers.py +0 -355
- spinta-0.2.dev3/spinta/datasets/keymaps/components.py +0 -30
- spinta-0.2.dev3/spinta/datasets/keymaps/sqlalchemy.py +0 -258
- spinta-0.2.dev3/spinta/datasets/keymaps/sync.py +0 -318
- spinta-0.2.dev3/spinta/datasets/utils.py +0 -71
- spinta-0.2.dev3/spinta/dimensions/comments/helpers.py +0 -30
- spinta-0.2.dev3/spinta/dimensions/enum/commands.py +0 -104
- spinta-0.2.dev3/spinta/dimensions/enum/components.py +0 -68
- spinta-0.2.dev3/spinta/dimensions/enum/helpers.py +0 -106
- spinta-0.2.dev3/spinta/dimensions/enum/ufuncs.py +0 -27
- spinta-0.2.dev3/spinta/dimensions/lang/components.py +0 -13
- spinta-0.2.dev3/spinta/dimensions/param/helpers.py +0 -62
- spinta-0.2.dev3/spinta/dimensions/param/ufuncs.py +0 -154
- spinta-0.2.dev3/spinta/dimensions/prefix/components.py +0 -28
- spinta-0.2.dev3/spinta/dimensions/prefix/helpers.py +0 -38
- spinta-0.2.dev3/spinta/dispatcher.py +0 -134
- spinta-0.2.dev3/spinta/exceptions.py +0 -1113
- spinta-0.2.dev3/spinta/fetcher.py +0 -47
- spinta-0.2.dev3/spinta/formats/ascii/commands.py +0 -76
- spinta-0.2.dev3/spinta/formats/ascii/components.py +0 -100
- spinta-0.2.dev3/spinta/formats/ascii/helpers.py +0 -213
- spinta-0.2.dev3/spinta/formats/csv/commands.py +0 -110
- spinta-0.2.dev3/spinta/formats/csv/components.py +0 -22
- spinta-0.2.dev3/spinta/formats/helpers.py +0 -239
- spinta-0.2.dev3/spinta/formats/html/commands.py +0 -942
- spinta-0.2.dev3/spinta/formats/html/components.py +0 -49
- spinta-0.2.dev3/spinta/formats/html/helpers.py +0 -277
- spinta-0.2.dev3/spinta/formats/json/commands.py +0 -89
- spinta-0.2.dev3/spinta/formats/json/components.py +0 -38
- spinta-0.2.dev3/spinta/formats/jsonlines/commands.py +0 -75
- spinta-0.2.dev3/spinta/formats/jsonlines/components.py +0 -31
- spinta-0.2.dev3/spinta/formats/rdf/commands.py +0 -1043
- spinta-0.2.dev3/spinta/formats/rdf/components.py +0 -11
- spinta-0.2.dev3/spinta/formats/xlsx/commands.py +0 -87
- spinta-0.2.dev3/spinta/formats/xlsx/components.py +0 -9
- spinta-0.2.dev3/spinta/hacks/spyna.py +0 -31
- spinta-0.2.dev3/spinta/hacks/urlparams.py +0 -37
- spinta-0.2.dev3/spinta/logging_config.py +0 -32
- spinta-0.2.dev3/spinta/manifests/backend/commands/bootstrap.py +0 -17
- spinta-0.2.dev3/spinta/manifests/backend/commands/load.py +0 -21
- spinta-0.2.dev3/spinta/manifests/backend/commands/migrate.py +0 -15
- spinta-0.2.dev3/spinta/manifests/backend/components.py +0 -5
- spinta-0.2.dev3/spinta/manifests/backend/helpers.py +0 -247
- spinta-0.2.dev3/spinta/manifests/commands/error.py +0 -42
- spinta-0.2.dev3/spinta/manifests/commands/init.py +0 -14
- spinta-0.2.dev3/spinta/manifests/commands/inspect.py +0 -38
- spinta-0.2.dev3/spinta/manifests/commands/migrate.py +0 -17
- spinta-0.2.dev3/spinta/manifests/commands/read.py +0 -190
- spinta-0.2.dev3/spinta/manifests/components.py +0 -109
- spinta-0.2.dev3/spinta/manifests/dict/commands/configure.py +0 -16
- spinta-0.2.dev3/spinta/manifests/dict/commands/load.py +0 -45
- spinta-0.2.dev3/spinta/manifests/dict/components.py +0 -33
- spinta-0.2.dev3/spinta/manifests/dict/helpers.py +0 -539
- spinta-0.2.dev3/spinta/manifests/helpers.py +0 -473
- spinta-0.2.dev3/spinta/manifests/internal/commands/configure.py +0 -11
- spinta-0.2.dev3/spinta/manifests/internal/commands/load.py +0 -59
- spinta-0.2.dev3/spinta/manifests/internal_sql/commands/auth.py +0 -125
- spinta-0.2.dev3/spinta/manifests/internal_sql/commands/bootstrap.py +0 -22
- spinta-0.2.dev3/spinta/manifests/internal_sql/commands/configure.py +0 -20
- spinta-0.2.dev3/spinta/manifests/internal_sql/commands/load.py +0 -80
- spinta-0.2.dev3/spinta/manifests/internal_sql/commands/manifest.py +0 -619
- spinta-0.2.dev3/spinta/manifests/internal_sql/commands/read.py +0 -143
- spinta-0.2.dev3/spinta/manifests/internal_sql/components.py +0 -99
- spinta-0.2.dev3/spinta/manifests/internal_sql/helpers.py +0 -1452
- spinta-0.2.dev3/spinta/manifests/memory/commands/configure.py +0 -10
- spinta-0.2.dev3/spinta/manifests/memory/commands/load.py +0 -33
- spinta-0.2.dev3/spinta/manifests/memory/components.py +0 -5
- spinta-0.2.dev3/spinta/manifests/mermaid/components.py +0 -9
- spinta-0.2.dev3/spinta/manifests/mermaid/helpers.py +0 -273
- spinta-0.2.dev3/spinta/manifests/open_api/commands/configure.py +0 -15
- spinta-0.2.dev3/spinta/manifests/open_api/commands/load.py +0 -48
- spinta-0.2.dev3/spinta/manifests/open_api/components.py +0 -10
- spinta-0.2.dev3/spinta/manifests/open_api/helpers.py +0 -112
- spinta-0.2.dev3/spinta/manifests/rdf/commands/bootstrap.py +0 -10
- spinta-0.2.dev3/spinta/manifests/rdf/commands/configure.py +0 -14
- spinta-0.2.dev3/spinta/manifests/rdf/commands/load.py +0 -45
- spinta-0.2.dev3/spinta/manifests/rdf/components.py +0 -10
- spinta-0.2.dev3/spinta/manifests/rdf/helpers.py +0 -497
- spinta-0.2.dev3/spinta/manifests/sql/commands/configure.py +0 -15
- spinta-0.2.dev3/spinta/manifests/sql/commands/load.py +0 -61
- spinta-0.2.dev3/spinta/manifests/sql/components.py +0 -24
- spinta-0.2.dev3/spinta/manifests/sql/helpers.py +0 -308
- spinta-0.2.dev3/spinta/manifests/tabular/commands/bootstrap.py +0 -11
- spinta-0.2.dev3/spinta/manifests/tabular/commands/configure.py +0 -24
- spinta-0.2.dev3/spinta/manifests/tabular/commands/load.py +0 -82
- spinta-0.2.dev3/spinta/manifests/tabular/components.py +0 -303
- spinta-0.2.dev3/spinta/manifests/tabular/constants.py +0 -39
- spinta-0.2.dev3/spinta/manifests/tabular/formats/gsheets.py +0 -41
- spinta-0.2.dev3/spinta/manifests/tabular/helpers.py +0 -2980
- spinta-0.2.dev3/spinta/manifests/xsd/commands/configure.py +0 -15
- spinta-0.2.dev3/spinta/manifests/xsd/commands/load.py +0 -61
- spinta-0.2.dev3/spinta/manifests/xsd/compare_xsd_to_dsa.py +0 -93
- spinta-0.2.dev3/spinta/manifests/xsd/components.py +0 -9
- spinta-0.2.dev3/spinta/manifests/xsd/download_xsd_rc.py +0 -71
- spinta-0.2.dev3/spinta/manifests/xsd/helpers.py +0 -1222
- spinta-0.2.dev3/spinta/manifests/xsd/tryout.py +0 -6
- spinta-0.2.dev3/spinta/manifests/xsd2/commands/configure.py +0 -15
- spinta-0.2.dev3/spinta/manifests/xsd2/commands/load.py +0 -61
- spinta-0.2.dev3/spinta/manifests/xsd2/components.py +0 -9
- spinta-0.2.dev3/spinta/manifests/xsd2/helpers.py +0 -1278
- spinta-0.2.dev3/spinta/manifests/yaml/commands/bootstrap.py +0 -11
- spinta-0.2.dev3/spinta/manifests/yaml/commands/configure.py +0 -28
- spinta-0.2.dev3/spinta/manifests/yaml/commands/freeze.py +0 -52
- spinta-0.2.dev3/spinta/manifests/yaml/commands/load.py +0 -117
- spinta-0.2.dev3/spinta/manifests/yaml/commands/migrate.py +0 -11
- spinta-0.2.dev3/spinta/manifests/yaml/components.py +0 -19
- spinta-0.2.dev3/spinta/manifests/yaml/helpers.py +0 -155
- spinta-0.2.dev3/spinta/middlewares.py +0 -31
- spinta-0.2.dev3/spinta/migrations/__init__.py +0 -32
- spinta-0.2.dev3/spinta/migrations/schema/alembic.py +0 -120
- spinta-0.2.dev3/spinta/naming/components.py +0 -11
- spinta-0.2.dev3/spinta/naming/helpers.py +0 -145
- spinta-0.2.dev3/spinta/naming/ufuncts.py +0 -36
- spinta-0.2.dev3/spinta/nodes.py +0 -248
- spinta-0.2.dev3/spinta/renderer.py +0 -31
- spinta-0.2.dev3/spinta/spyna.py +0 -359
- spinta-0.2.dev3/spinta/testing/__init__.py +0 -4
- spinta-0.2.dev3/spinta/testing/cli.py +0 -68
- spinta-0.2.dev3/spinta/testing/client.py +0 -348
- spinta-0.2.dev3/spinta/testing/config.py +0 -87
- spinta-0.2.dev3/spinta/testing/context.py +0 -107
- spinta-0.2.dev3/spinta/testing/csv.py +0 -11
- spinta-0.2.dev3/spinta/testing/data.py +0 -284
- spinta-0.2.dev3/spinta/testing/datasets.py +0 -59
- spinta-0.2.dev3/spinta/testing/dtypes.py +0 -215
- spinta-0.2.dev3/spinta/testing/push.py +0 -25
- spinta-0.2.dev3/spinta/testing/pytest.py +0 -279
- spinta-0.2.dev3/spinta/testing/request.py +0 -100
- spinta-0.2.dev3/spinta/testing/types/geometry.py +0 -46
- spinta-0.2.dev3/spinta/testing/ufuncs.py +0 -32
- spinta-0.2.dev3/spinta/testing/utils.py +0 -174
- spinta-0.2.dev3/spinta/types/array/check.py +0 -54
- spinta-0.2.dev3/spinta/types/array/link.py +0 -92
- spinta-0.2.dev3/spinta/types/backref/link.py +0 -111
- spinta-0.2.dev3/spinta/types/command.py +0 -35
- spinta-0.2.dev3/spinta/types/config.py +0 -112
- spinta-0.2.dev3/spinta/types/datatype.py +0 -629
- spinta-0.2.dev3/spinta/types/denorm/check.py +0 -13
- spinta-0.2.dev3/spinta/types/denorm/link.py +0 -59
- spinta-0.2.dev3/spinta/types/file/decode.py +0 -31
- spinta-0.2.dev3/spinta/types/file/helpers.py +0 -38
- spinta-0.2.dev3/spinta/types/geometry/components.py +0 -14
- spinta-0.2.dev3/spinta/types/geometry/constants.py +0 -4
- spinta-0.2.dev3/spinta/types/geometry/helpers.py +0 -43
- spinta-0.2.dev3/spinta/types/geometry/load.py +0 -70
- spinta-0.2.dev3/spinta/types/helpers.py +0 -80
- spinta-0.2.dev3/spinta/types/model.py +0 -647
- spinta-0.2.dev3/spinta/types/namespace.py +0 -366
- spinta-0.2.dev3/spinta/types/partial/link.py +0 -49
- spinta-0.2.dev3/spinta/types/ref/check.py +0 -20
- spinta-0.2.dev3/spinta/types/ref/link.py +0 -49
- spinta-0.2.dev3/spinta/types/store.py +0 -153
- spinta-0.2.dev3/spinta/types/text/components.py +0 -15
- spinta-0.2.dev3/spinta/types/text/load.py +0 -25
- spinta-0.2.dev3/spinta/typing.py +0 -19
- spinta-0.2.dev3/spinta/ufuncs/changebase/components.py +0 -11
- spinta-0.2.dev3/spinta/ufuncs/changebase/helpers.py +0 -52
- spinta-0.2.dev3/spinta/ufuncs/changebase/ufuncs.py +0 -36
- spinta-0.2.dev3/spinta/ufuncs/common.py +0 -48
- spinta-0.2.dev3/spinta/ufuncs/components.py +0 -181
- spinta-0.2.dev3/spinta/ufuncs/helpers.py +0 -19
- spinta-0.2.dev3/spinta/ufuncs/linkbuilder/ufuncs.py +0 -59
- spinta-0.2.dev3/spinta/ufuncs/loadbuilder/components.py +0 -83
- spinta-0.2.dev3/spinta/ufuncs/loadbuilder/helpers.py +0 -25
- spinta-0.2.dev3/spinta/ufuncs/loadbuilder/ufuncs.py +0 -63
- spinta-0.2.dev3/spinta/ufuncs/propertyresolver/components.py +0 -20
- spinta-0.2.dev3/spinta/ufuncs/propertyresolver/ufuncs.py +0 -329
- spinta-0.2.dev3/spinta/ufuncs/querybuilder/components.py +0 -185
- spinta-0.2.dev3/spinta/ufuncs/querybuilder/helpers.py +0 -229
- spinta-0.2.dev3/spinta/ufuncs/querybuilder/ufuncs.py +0 -537
- spinta-0.2.dev3/spinta/ufuncs/requestparamsbuilder/components.py +0 -18
- spinta-0.2.dev3/spinta/ufuncs/requestparamsbuilder/ufuncs.py +0 -169
- spinta-0.2.dev3/spinta/ufuncs/resultbuilder/components.py +0 -27
- spinta-0.2.dev3/spinta/ufuncs/resultbuilder/helpers.py +0 -184
- spinta-0.2.dev3/spinta/ufuncs/resultbuilder/ufuncs.py +0 -58
- spinta-0.2.dev3/spinta/ufuncs/summaryenv/components.py +0 -29
- spinta-0.2.dev3/spinta/ufuncs/summaryenv/ufuncs.py +0 -37
- spinta-0.2.dev3/spinta/units/helpers.py +0 -171
- spinta-0.2.dev3/spinta/urlparams.py +0 -500
- spinta-0.2.dev3/spinta/utils/__init__.py +0 -2
- spinta-0.2.dev3/spinta/utils/aiotools.py +0 -90
- spinta-0.2.dev3/spinta/utils/changes.py +0 -13
- spinta-0.2.dev3/spinta/utils/config.py +0 -48
- spinta-0.2.dev3/spinta/utils/data.py +0 -91
- spinta-0.2.dev3/spinta/utils/encoding.py +0 -15
- spinta-0.2.dev3/spinta/utils/enums.py +0 -45
- spinta-0.2.dev3/spinta/utils/errors.py +0 -23
- spinta-0.2.dev3/spinta/utils/functools.py +0 -7
- spinta-0.2.dev3/spinta/utils/idgen.py +0 -9
- spinta-0.2.dev3/spinta/utils/imports.py +0 -25
- spinta-0.2.dev3/spinta/utils/itertools.py +0 -119
- spinta-0.2.dev3/spinta/utils/json.py +0 -31
- spinta-0.2.dev3/spinta/utils/naming.py +0 -67
- spinta-0.2.dev3/spinta/utils/nestedstruct.py +0 -285
- spinta-0.2.dev3/spinta/utils/nin.py +0 -85
- spinta-0.2.dev3/spinta/utils/passwords.py +0 -52
- spinta-0.2.dev3/spinta/utils/path.py +0 -33
- spinta-0.2.dev3/spinta/utils/response.py +0 -334
- spinta-0.2.dev3/spinta/utils/schema.py +0 -97
- spinta-0.2.dev3/spinta/utils/scopes.py +0 -30
- spinta-0.2.dev3/spinta/utils/sqlalchemy.py +0 -56
- spinta-0.2.dev3/spinta/utils/sqlite.py +0 -163
- spinta-0.2.dev3/spinta/utils/starlette.py +0 -19
- spinta-0.2.dev3/spinta/utils/streams.py +0 -27
- spinta-0.2.dev3/spinta/utils/tree.py +0 -27
- spinta-0.2.dev3/spinta/utils/types.py +0 -18
- spinta-0.2.dev3/spinta/utils/units.py +0 -42
- spinta-0.2.dev3/spinta/utils/url.py +0 -121
- {spinta-0.2.dev3 → spinta-0.2.dev5}/LICENSE +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/README.rst +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/__main__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/fs/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/fs/commands/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/fs/commands/bootstrap.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/fs/commands/changes.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/fs/commands/migrate.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/fs/commands/wait.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/auth.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/bootstrap.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/changes.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/check.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/encode.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/init.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/load.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/manifest.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/wait.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/wipe.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/write.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/commands/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/commands/bootstrap.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/commands/freeze.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/commands/init.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/commands/migrate.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/commands/wait.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/types/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/types/array/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/types/array/write.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/types/file/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/types/object/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/types/object/write.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/commands/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/commands/bootstrap.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/commands/changes.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/commands/init.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/commands/load.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/commands/wait.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/commands/wipe.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/commands/write.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/commands/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/commands/encode.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/commands/link.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/commands/manifest.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/commands/migrate/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/commands/migrate/types/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/commands/validate.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/helpers/manifest.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/helpers/migrate/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/array/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/array_backref/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/backref/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/backref/init.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/denorm/init.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/file/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/geometry/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/geometry/encode.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/object/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/object/freeze.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/object/wipe.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/ref/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/text/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/ufuncs/components.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/ufuncs/result/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/types/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/cli/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/cli/helpers/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/cli/helpers/export → spinta-0.2.dev5/spinta/cli/helpers/admin}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/cli/helpers/export/backends → spinta-0.2.dev5/spinta/cli/helpers/admin/scripts}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/cli/helpers/export/backends/postgresql → spinta-0.2.dev5/spinta/cli/helpers/export}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/cli/helpers/upgrade → spinta-0.2.dev5/spinta/cli/helpers/export/backends}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/cli/helpers/upgrade/scripts → spinta-0.2.dev5/spinta/cli/helpers/export/backends/postgresql}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/cli/helpers/manifest.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/cli/helpers/migrate.py +0 -0
- {spinta-0.2.dev3/spinta/core → spinta-0.2.dev5/spinta/cli/helpers/script}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets → spinta-0.2.dev5/spinta/cli/helpers/sync/controllers}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/cli/helpers/typer.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends → spinta-0.2.dev5/spinta/cli/helpers/upgrade}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/dataframe → spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends → spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts/keymaps}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/csv → spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/cli/manifest.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/config.yml +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/json → spinta-0.2.dev5/spinta/core}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/memory → spinta-0.2.dev5/spinta/datasets}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/soap → spinta-0.2.dev5/spinta/datasets/backends}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/soap/commands → spinta-0.2.dev5/spinta/datasets/backends/dataframe}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/xml → spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/dataframe/commands → spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/csv}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/dataframe/ufuncs → spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/json}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/dataframe/ufuncs/query → spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/memory}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/notimpl → spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/soap}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/notimpl → spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/soap}/commands/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql → spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/soap/ufuncs}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends → spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/xml}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mariadb → spinta-0.2.dev5/spinta/datasets/backends/dataframe/commands}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mariadb → spinta-0.2.dev5/spinta/datasets/backends/dataframe}/ufuncs/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mariadb → spinta-0.2.dev5/spinta/datasets/backends/dataframe}/ufuncs/query/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/dataframe/ufuncs/ufuncs.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mssql → spinta-0.2.dev5/spinta/datasets/backends/notimpl}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mssql/ufuncs → spinta-0.2.dev5/spinta/datasets/backends/notimpl/commands}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/notimpl/commands/load.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/notimpl/commands/wait.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/notimpl/components.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mssql/ufuncs/query → spinta-0.2.dev5/spinta/datasets/backends/sql}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mysql → spinta-0.2.dev5/spinta/datasets/backends/sql/backends}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/helpers.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mysql/ufuncs → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mariadb}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/mariadb/helpers.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mysql/ufuncs/query → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mariadb/ufuncs}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/oracle → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/oracle/ufuncs → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mssql}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/oracle/ufuncs/query → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mssql/ufuncs}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/postgresql → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mssql/ufuncs/query}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/mssql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/mssql/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/postgresql/ufuncs → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mysql}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/mysql/helpers.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mysql/ufuncs}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/sqlite → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mysql/ufuncs/query}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/mysql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/mysql/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/sqlite/ufuncs → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/oracle}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/oracle/helpers.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/oracle/ufuncs}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/commands → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/oracle/ufuncs/query}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/postgresql}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/postgresql/helpers.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs/query → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/postgresql/ufuncs}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs/result → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sqldump → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/sqlite}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/sqlite/helpers.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sqldump/commands → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/sqlite/ufuncs}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/sqldump/ufuncs → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query/components.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query/ufuncs.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/wsdl → spinta-0.2.dev5/spinta/datasets/backends/sql/commands}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/commands/bootstrap.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/commands/column.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/commands/init.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/helpers.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/backends/wsdl/commads → spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/commands → spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/query}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/inspect → spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/result}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/inspect/commands → spinta-0.2.dev5/spinta/datasets/backends/sqldump}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/datasets/keymaps → spinta-0.2.dev5/spinta/datasets/backends/sqldump/commands}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sqldump/commands/wait.py +0 -0
- {spinta-0.2.dev3/spinta/dimensions → spinta-0.2.dev5/spinta/datasets/backends/sqldump/ufuncs}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/dimensions/comments → spinta-0.2.dev5/spinta/datasets/backends/wsdl}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/dimensions/enum → spinta-0.2.dev5/spinta/datasets/backends/wsdl/commads}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/wsdl/commads/read.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/wsdl/components.py +0 -0
- {spinta-0.2.dev3/spinta/dimensions/lang → spinta-0.2.dev5/spinta/datasets/commands}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/commands/inspect.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/commands/wipe.py +0 -0
- {spinta-0.2.dev3/spinta/dimensions/param → spinta-0.2.dev5/spinta/datasets/inspect}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/dimensions/prefix → spinta-0.2.dev5/spinta/datasets/inspect/commands}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/inspect/commands/manifest.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/inspect/components.py +0 -0
- {spinta-0.2.dev3/spinta/dimensions/prefix/commands → spinta-0.2.dev5/spinta/datasets/keymaps}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/formats → spinta-0.2.dev5/spinta/dimensions}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/formats/ascii → spinta-0.2.dev5/spinta/dimensions/comments}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/dimensions/comments/components.py +0 -0
- {spinta-0.2.dev3/spinta/formats/csv → spinta-0.2.dev5/spinta/dimensions/enum}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/formats/html → spinta-0.2.dev5/spinta/dimensions/lang}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/dimensions/lang/helpers.py +0 -0
- {spinta-0.2.dev3/spinta/formats/json → spinta-0.2.dev5/spinta/dimensions/param}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/dimensions/param/components.py +0 -0
- {spinta-0.2.dev3/spinta/formats/jsonlines → spinta-0.2.dev5/spinta/dimensions/prefix}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/formats/xlsx → spinta-0.2.dev5/spinta/dimensions/prefix/commands}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/dimensions/prefix/commands/load.py +0 -0
- {spinta-0.2.dev3/spinta/hacks → spinta-0.2.dev5/spinta/formats}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests → spinta-0.2.dev5/spinta/formats/ascii}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/formats/components.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/backend → spinta-0.2.dev5/spinta/formats/csv}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/backend/commands → spinta-0.2.dev5/spinta/formats/html}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/commands → spinta-0.2.dev5/spinta/formats/json}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/dict → spinta-0.2.dev5/spinta/formats/jsonlines}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/dict/commands → spinta-0.2.dev5/spinta/formats/xlsx}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/internal → spinta-0.2.dev5/spinta/hacks}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifest/_ns.yml +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifest/_schema/version.yml +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifest/_schema.yml +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifest/_txn.yml +0 -0
- {spinta-0.2.dev3/spinta/manifests/internal/commands → spinta-0.2.dev5/spinta/manifests}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/internal_sql → spinta-0.2.dev5/spinta/manifests/backend}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/internal_sql → spinta-0.2.dev5/spinta/manifests/backend}/commands/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/backend/commands/configure.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/backend/commands/freeze.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/backend/commands/manifest.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/backend/commands/sync.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/memory → spinta-0.2.dev5/spinta/manifests/commands}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/commands/auth.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/commands/check.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/commands/link.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/commands/load.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/commands/manifest.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/memory/commands → spinta-0.2.dev5/spinta/manifests/dict}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/mermaid → spinta-0.2.dev5/spinta/manifests/dict/commands}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/open_api → spinta-0.2.dev5/spinta/manifests/internal}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/open_api → spinta-0.2.dev5/spinta/manifests/internal}/commands/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/internal/components.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/sql → spinta-0.2.dev5/spinta/manifests/internal_sql}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/sql → spinta-0.2.dev5/spinta/manifests/internal_sql}/commands/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/internal_sql/commands/backend.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/tabular → spinta-0.2.dev5/spinta/manifests/memory}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/tabular → spinta-0.2.dev5/spinta/manifests/memory}/commands/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/tabular/formats → spinta-0.2.dev5/spinta/manifests/mermaid}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/xsd → spinta-0.2.dev5/spinta/manifests/open_api}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/xsd → spinta-0.2.dev5/spinta/manifests/open_api}/commands/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/xsd2 → spinta-0.2.dev5/spinta/manifests/sql}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/xsd2 → spinta-0.2.dev5/spinta/manifests/sql}/commands/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/yaml → spinta-0.2.dev5/spinta/manifests/tabular}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/manifests/yaml → spinta-0.2.dev5/spinta/manifests/tabular}/commands/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/migrations/schema → spinta-0.2.dev5/spinta/manifests/tabular/formats}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/naming → spinta-0.2.dev5/spinta/manifests/xsd}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/testing/types → spinta-0.2.dev5/spinta/manifests/xsd/commands}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/types → spinta-0.2.dev5/spinta/manifests/xsd2}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/types/array → spinta-0.2.dev5/spinta/manifests/xsd2/commands}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/types/backref → spinta-0.2.dev5/spinta/manifests/yaml}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/types/denorm → spinta-0.2.dev5/spinta/manifests/yaml/commands}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/yaml/commands/manifest.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/yaml/commands/sync.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/methods.py +0 -0
- {spinta-0.2.dev3/spinta/types/file → spinta-0.2.dev5/spinta/migrations/schema}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/types/geometry → spinta-0.2.dev5/spinta/naming}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/templates/base.html +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/templates/data.html +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/templates/error.html +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/templates/form.html +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/testing/manifest.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/testing/tabular.py +0 -0
- {spinta-0.2.dev3/spinta/types/inherit → spinta-0.2.dev5/spinta/testing/types}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/types/object → spinta-0.2.dev5/spinta/types}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/types/partial → spinta-0.2.dev5/spinta/types/array}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/types/array/resolve.py +0 -0
- {spinta-0.2.dev3/spinta/types/ref → spinta-0.2.dev5/spinta/types/backref}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/types/text → spinta-0.2.dev5/spinta/types/denorm}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/ufuncs → spinta-0.2.dev5/spinta/types/file}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/types/file/components.py +0 -0
- {spinta-0.2.dev3/spinta/ufuncs/changebase → spinta-0.2.dev5/spinta/types/geometry}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/ufuncs/linkbuilder → spinta-0.2.dev5/spinta/types/inherit}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/types/inherit/check.py +0 -0
- {spinta-0.2.dev3/spinta/ufuncs/loadbuilder → spinta-0.2.dev5/spinta/types/object}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/types/object/check.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/types/object/link.py +0 -0
- {spinta-0.2.dev3/spinta/ufuncs/propertyresolver → spinta-0.2.dev5/spinta/types/partial}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/ufuncs/querybuilder → spinta-0.2.dev5/spinta/types/ref}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/types/ref/resolve.py +0 -0
- {spinta-0.2.dev3/spinta/ufuncs/requestparamsbuilder → spinta-0.2.dev5/spinta/types/text}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/types/text/check.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/types/text/helpers.py +0 -0
- {spinta-0.2.dev3/spinta/ufuncs/resultbuilder → spinta-0.2.dev5/spinta/ufuncs}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/ufuncs/binds.py +0 -0
- {spinta-0.2.dev3/spinta/ufuncs/summaryenv → spinta-0.2.dev5/spinta/ufuncs/changebase}/__init__.py +0 -0
- {spinta-0.2.dev3/spinta/units → spinta-0.2.dev5/spinta/ufuncs/linkbuilder}/__init__.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/ufuncs/linkbuilder/components.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/ufuncs/requestparamsbuilder/helpers.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/units/components.py +0 -0
- {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/utils/refs.py +0 -0
spinta-0.2.dev5/PKG-INFO
ADDED
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: spinta
|
|
3
|
+
Version: 0.2.dev5
|
|
4
|
+
Summary: A platform for describing, extracting, transforming, loading and serving open data.
|
|
5
|
+
License: MIT
|
|
6
|
+
Author: Mantas Zimnickas
|
|
7
|
+
Author-email: sirexas@gmail.com
|
|
8
|
+
Requires-Python: >=3.9,<4.0
|
|
9
|
+
Classifier: Development Status :: 3 - Alpha
|
|
10
|
+
Classifier: Environment :: Console
|
|
11
|
+
Classifier: Environment :: Web Environment
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Intended Audience :: System Administrators
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Operating System :: POSIX
|
|
16
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Topic :: Database
|
|
24
|
+
Classifier: Topic :: Database :: Database Engines/Servers
|
|
25
|
+
Classifier: Topic :: Database :: Front-Ends
|
|
26
|
+
Provides-Extra: all
|
|
27
|
+
Provides-Extra: http
|
|
28
|
+
Provides-Extra: migrations
|
|
29
|
+
Requires-Dist: GeoAlchemy2
|
|
30
|
+
Requires-Dist: Shapely
|
|
31
|
+
Requires-Dist: XlsxWriter
|
|
32
|
+
Requires-Dist: aiofiles
|
|
33
|
+
Requires-Dist: aiohttp
|
|
34
|
+
Requires-Dist: alembic (>=1.11.0,<1.12.0) ; extra == "migrations" or extra == "all"
|
|
35
|
+
Requires-Dist: asyncpg
|
|
36
|
+
Requires-Dist: authlib (>=0.11,<0.12)
|
|
37
|
+
Requires-Dist: cachetools
|
|
38
|
+
Requires-Dist: click
|
|
39
|
+
Requires-Dist: dask[dataframe]
|
|
40
|
+
Requires-Dist: docutils (>=0.21.2,<0.22.0)
|
|
41
|
+
Requires-Dist: fsspec
|
|
42
|
+
Requires-Dist: gunicorn ; extra == "http" or extra == "all"
|
|
43
|
+
Requires-Dist: jinja2
|
|
44
|
+
Requires-Dist: jsonpatch
|
|
45
|
+
Requires-Dist: lark-parser
|
|
46
|
+
Requires-Dist: lxml
|
|
47
|
+
Requires-Dist: msgpack
|
|
48
|
+
Requires-Dist: multipledispatch
|
|
49
|
+
Requires-Dist: mypy
|
|
50
|
+
Requires-Dist: numpy
|
|
51
|
+
Requires-Dist: openpyxl
|
|
52
|
+
Requires-Dist: phonenumbers
|
|
53
|
+
Requires-Dist: pprintpp
|
|
54
|
+
Requires-Dist: psutil
|
|
55
|
+
Requires-Dist: psycopg2-binary
|
|
56
|
+
Requires-Dist: pydantic
|
|
57
|
+
Requires-Dist: pymongo (<=4.8.0)
|
|
58
|
+
Requires-Dist: pyproj (==3.6.1) ; python_version < "3.13"
|
|
59
|
+
Requires-Dist: pyproj (>=3.7.0) ; python_version >= "3.13"
|
|
60
|
+
Requires-Dist: python-multipart
|
|
61
|
+
Requires-Dist: pytz
|
|
62
|
+
Requires-Dist: rdflib
|
|
63
|
+
Requires-Dist: requests
|
|
64
|
+
Requires-Dist: ruamel.yaml
|
|
65
|
+
Requires-Dist: setuptools
|
|
66
|
+
Requires-Dist: setuptools-scm
|
|
67
|
+
Requires-Dist: sqlalchemy (>=1.4,<1.5)
|
|
68
|
+
Requires-Dist: sqlalchemy-utils
|
|
69
|
+
Requires-Dist: sqlean-py
|
|
70
|
+
Requires-Dist: sqlparse
|
|
71
|
+
Requires-Dist: starlette (>=0.40)
|
|
72
|
+
Requires-Dist: tabulate
|
|
73
|
+
Requires-Dist: toposort
|
|
74
|
+
Requires-Dist: tqdm
|
|
75
|
+
Requires-Dist: typer[all]
|
|
76
|
+
Requires-Dist: ujson
|
|
77
|
+
Requires-Dist: unidecode
|
|
78
|
+
Requires-Dist: uvicorn ; extra == "http" or extra == "all"
|
|
79
|
+
Requires-Dist: xlrd
|
|
80
|
+
Requires-Dist: xmltodict
|
|
81
|
+
Requires-Dist: zeep (>=4.3.1,<5.0.0)
|
|
82
|
+
Project-URL: Bug Tracker, https://github.com/atviriduomenys/spinta/issues
|
|
83
|
+
Project-URL: Documentation, https://spinta.readthedocs.io/
|
|
84
|
+
Project-URL: Homepage, https://github.com/atviriduomenys/spinta
|
|
85
|
+
Project-URL: Repository, https://github.com/atviriduomenys/spinta
|
|
86
|
+
Description-Content-Type: text/x-rst
|
|
87
|
+
|
|
88
|
+
.. default-role:: literal
|
|
89
|
+
|
|
90
|
+
Spinta is a command line tool and REST JSON API service for publishing and
|
|
91
|
+
mapping data between different physical data models, JSON API and semantic data
|
|
92
|
+
models. It supports a great deal of data schemes and formats.
|
|
93
|
+
|
|
94
|
+
.. image:: https://gitlab.com/atviriduomenys/spinta/badges/master/pipeline.svg
|
|
95
|
+
:target: https://gitlab.com/atviriduomenys/spinta/commits/master
|
|
96
|
+
|
|
97
|
+
.. image:: https://gitlab.com/atviriduomenys/spinta/badges/master/coverage.svg
|
|
98
|
+
:target: https://gitlab.com/atviriduomenys/spinta/commits/master
|
|
99
|
+
|
|
100
|
+
::
|
|
101
|
+
|
|
102
|
+
Physical data Different Real time REST JSON
|
|
103
|
+
sources formats transformation API
|
|
104
|
+
|
|
105
|
+
+-----+
|
|
106
|
+
+--> | SQL | --------->|
|
|
107
|
+
+------+ | +-----+ |
|
|
108
|
+
| file | ---->| |
|
|
109
|
+
+------+ | +-----+ |
|
|
110
|
+
+--> | CSV | --------->|
|
|
111
|
+
+--------+ | +-----+ | +---------------+
|
|
112
|
+
| DB API | --->| | ------->| REST JSON API |
|
|
113
|
+
+--------+ | +------+ | +---------------+
|
|
114
|
+
| | JSON | -------->|
|
|
115
|
+
+----------+ | +------+ |
|
|
116
|
+
| REST API | -->| |
|
|
117
|
+
+----------+ | +-----+ |
|
|
118
|
+
+--> | XML | --------->|
|
|
119
|
+
+-----+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
Purpose
|
|
125
|
+
=======
|
|
126
|
+
|
|
127
|
+
- **Describe your data**: You can automatically generate data structure
|
|
128
|
+
description table (*Manifest*) from many different data sources.
|
|
129
|
+
|
|
130
|
+
- **Extract your data**: Once you have your data structure in *Manifest* tables,
|
|
131
|
+
you can extract data from multiple external data sources. Extracted data are
|
|
132
|
+
validated and transformed using rules defined in *Manifest* table. Finally,
|
|
133
|
+
data can be stored into internal database in order to provide fast and
|
|
134
|
+
flexible access to data.
|
|
135
|
+
|
|
136
|
+
- **Transform your data**: Data transformations are applied in real time, when
|
|
137
|
+
reading data from source. This puts some limitations on transformation side, but
|
|
138
|
+
allows data to be streamed in real time.
|
|
139
|
+
|
|
140
|
+
- **Publish your data**: Once you have your data loaded into internal
|
|
141
|
+
database, you can publish data using API. API is generated automatically using
|
|
142
|
+
*Manifest* tables and provides extracted data in many different formats. For
|
|
143
|
+
example if original data source was a CSV file, now you have a flexible API,
|
|
144
|
+
that can talk JSON, RDF, SQL, CSV and other formats.
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
Features
|
|
148
|
+
========
|
|
149
|
+
|
|
150
|
+
- Simple 15 column table format for describing data structures (you can use
|
|
151
|
+
any spreadsheet software to manage metadata of your data)
|
|
152
|
+
|
|
153
|
+
- Internal data storage with pluggable backends (PostgreSQL or Mongo)
|
|
154
|
+
|
|
155
|
+
- Build-in async API server built on top of Starlette_ for data publishing
|
|
156
|
+
|
|
157
|
+
- Simple web based data browser.
|
|
158
|
+
|
|
159
|
+
- Convenient command-line interface
|
|
160
|
+
|
|
161
|
+
- Public or restricted API access via OAuth protocol using build-in access
|
|
162
|
+
management.
|
|
163
|
+
|
|
164
|
+
- Simple DSL_ for querying, transforming and validating data.
|
|
165
|
+
|
|
166
|
+
- Low memory consumption for data of any size
|
|
167
|
+
|
|
168
|
+
- Support for many different data sources
|
|
169
|
+
|
|
170
|
+
- Advanced data extraction even from dynamic API.
|
|
171
|
+
|
|
172
|
+
- Compatible with DCAT_ and `Frictionless Data Specifications`_.
|
|
173
|
+
|
|
174
|
+
.. _Starlette: https://www.starlette.io/
|
|
175
|
+
.. _DSL: https://en.wikipedia.org/wiki/Domain-specific_language
|
|
176
|
+
.. _DCAT: https://www.w3.org/TR/vocab-dcat-2/
|
|
177
|
+
.. _Frictionless Data Specifications: https://specs.frictionlessdata.io/
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
.. note::
|
|
181
|
+
|
|
182
|
+
Currently this project is under heavy development and is in pre-alpha stage.
|
|
183
|
+
So many things might not work and many things can change. Use it at your own
|
|
184
|
+
risk.
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
Example
|
|
188
|
+
=======
|
|
189
|
+
|
|
190
|
+
If you have an SQLite database:
|
|
191
|
+
|
|
192
|
+
.. code-block:: sh
|
|
193
|
+
|
|
194
|
+
$ sqlite3 sqlite.db <<EOF
|
|
195
|
+
CREATE TABLE COUNTRY (
|
|
196
|
+
NAME TEXT
|
|
197
|
+
);
|
|
198
|
+
EOF
|
|
199
|
+
|
|
200
|
+
You can get a limited API and simple web based data browser with a single
|
|
201
|
+
command:
|
|
202
|
+
|
|
203
|
+
.. code-block:: sh
|
|
204
|
+
|
|
205
|
+
$ spinta run -r sql sqlite:///sqlite.db
|
|
206
|
+
|
|
207
|
+
Then you can generate metadata table (*manifest*) like this:
|
|
208
|
+
|
|
209
|
+
.. code-block:: sh
|
|
210
|
+
|
|
211
|
+
$ spinta inspect -r sql sqlite:///sqlite.db
|
|
212
|
+
d | r | b | m | property | type | ref | source | prepare | level | access | uri | title | description
|
|
213
|
+
dataset | | | | | | | | |
|
|
214
|
+
| sql | sql | | sqlite:///sqlite.db | | | | | |
|
|
215
|
+
| | | | | | | | |
|
|
216
|
+
| | | Country | | | COUNTRY | | | | | |
|
|
217
|
+
| | | | name | string | | NAME | | 3 | open | | |
|
|
218
|
+
|
|
219
|
+
Generated data structure table can be saved into a CSV file:
|
|
220
|
+
|
|
221
|
+
.. code-block:: sh
|
|
222
|
+
|
|
223
|
+
$ spinta inspect -r sql sqlite:///sqlite.db -o manifest.csv
|
|
224
|
+
|
|
225
|
+
Missing peaces in metadata can be filled using any Spreadsheet software.
|
|
226
|
+
|
|
227
|
+
Once you done editing metadata, you can test it via web based data browser or
|
|
228
|
+
API:
|
|
229
|
+
|
|
230
|
+
.. code-block:: sh
|
|
231
|
+
|
|
232
|
+
$ spinta run --mode external manifest.csv
|
|
233
|
+
|
|
234
|
+
Once you are satisfied with metadata, you can generate a new metadata table for
|
|
235
|
+
publishing, removing all traces of original data source:
|
|
236
|
+
|
|
237
|
+
.. code-block:: sh
|
|
238
|
+
|
|
239
|
+
$ spinta copy --no-source --access open manifest.csv manifest-public.csv
|
|
240
|
+
|
|
241
|
+
Now you have matadata for publishing, but all things about original data
|
|
242
|
+
source are gone. In order to publish data, you need to copy external data to
|
|
243
|
+
internal data store. To do that, first you need to initialize internal data
|
|
244
|
+
store:
|
|
245
|
+
|
|
246
|
+
.. code-block:: sh
|
|
247
|
+
|
|
248
|
+
$ spinta config add backend my_backend postgresql postgresql://localhost/db
|
|
249
|
+
$ spinta config add manifest my_manifest tabular manifest-public.csv
|
|
250
|
+
$ spinta migrate
|
|
251
|
+
|
|
252
|
+
Once internal database is initialized, you can push external data into it:
|
|
253
|
+
|
|
254
|
+
.. code-block:: sh
|
|
255
|
+
|
|
256
|
+
$ spinta push --access open manifest.csv
|
|
257
|
+
|
|
258
|
+
And now you can publish data via full featured API with a web based data
|
|
259
|
+
browser:
|
|
260
|
+
|
|
261
|
+
.. code-block:: json
|
|
262
|
+
|
|
263
|
+
$ spinta run
|
|
264
|
+
|
|
265
|
+
You can access your data like this:
|
|
266
|
+
|
|
267
|
+
.. code-block:: json
|
|
268
|
+
|
|
269
|
+
$ http :8000/dataset/sql/Country
|
|
270
|
+
HTTP/1.1 200 OK
|
|
271
|
+
content-type: application/json
|
|
272
|
+
|
|
273
|
+
{
|
|
274
|
+
"_data": [
|
|
275
|
+
{
|
|
276
|
+
"_type": "dataset/sql/Country",
|
|
277
|
+
"_id": "abdd1245-bbf9-4085-9366-f11c0f737c1d",
|
|
278
|
+
"_rev": "16dabe62-61e9-4549-a6bd-07cecfbc3508",
|
|
279
|
+
"_txn": "792a5029-63c9-4c07-995c-cbc063aaac2c",
|
|
280
|
+
"name": "Vilnius"
|
|
281
|
+
}
|
|
282
|
+
]
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
$ http :8000/dataset/sql/Country/abdd1245-bbf9-4085-9366-f11c0f737c1d
|
|
286
|
+
HTTP/1.1 200 OK
|
|
287
|
+
content-type: application/json
|
|
288
|
+
|
|
289
|
+
{
|
|
290
|
+
"_type": "dataset/sql/Country",
|
|
291
|
+
"_id": "abdd1245-bbf9-4085-9366-f11c0f737c1d",
|
|
292
|
+
"_rev": "16dabe62-61e9-4549-a6bd-07cecfbc3508",
|
|
293
|
+
"_txn": "792a5029-63c9-4c07-995c-cbc063aaac2c",
|
|
294
|
+
"name": "Vilnius"
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
$ http :8000/dataset/sql/Country/abdd1245-bbf9-4085-9366-f11c0f737c1d?select(name)
|
|
298
|
+
HTTP/1.1 200 OK
|
|
299
|
+
content-type: application/json
|
|
300
|
+
|
|
301
|
+
{
|
|
302
|
+
"name": "Vilnius"
|
|
303
|
+
}
|
|
304
|
+
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
[tool.poetry]
|
|
2
|
+
name = "spinta"
|
|
3
|
+
version = "0.2.dev5"
|
|
4
|
+
description = "A platform for describing, extracting, transforming, loading and serving open data."
|
|
5
|
+
authors = ["Mantas Zimnickas <sirexas@gmail.com>"]
|
|
6
|
+
license = "MIT"
|
|
7
|
+
readme = "README.rst"
|
|
8
|
+
homepage = "https://github.com/atviriduomenys/spinta"
|
|
9
|
+
repository = "https://github.com/atviriduomenys/spinta"
|
|
10
|
+
documentation = "https://spinta.readthedocs.io/"
|
|
11
|
+
classifiers = [
|
|
12
|
+
"Development Status :: 3 - Alpha",
|
|
13
|
+
"Environment :: Console",
|
|
14
|
+
"Environment :: Web Environment",
|
|
15
|
+
"Intended Audience :: Developers",
|
|
16
|
+
"Intended Audience :: System Administrators",
|
|
17
|
+
"Operating System :: POSIX",
|
|
18
|
+
"Operating System :: POSIX :: Linux",
|
|
19
|
+
"Topic :: Database",
|
|
20
|
+
"Topic :: Database :: Database Engines/Servers",
|
|
21
|
+
"Topic :: Database :: Front-Ends",
|
|
22
|
+
]
|
|
23
|
+
packages = [
|
|
24
|
+
{ include = "spinta" },
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
[tool.poetry.urls]
|
|
29
|
+
"Bug Tracker" = "https://github.com/atviriduomenys/spinta/issues"
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
[tool.poetry.scripts]
|
|
33
|
+
spinta = "spinta.cli.main:app"
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
[tool.poetry.dependencies]
|
|
37
|
+
python = "^3.9"
|
|
38
|
+
aiofiles = "*"
|
|
39
|
+
authlib = "~0.11"
|
|
40
|
+
jinja2 = "*"
|
|
41
|
+
jsonpatch = "*"
|
|
42
|
+
lark-parser = "*"
|
|
43
|
+
msgpack = "*"
|
|
44
|
+
multipledispatch = "*"
|
|
45
|
+
python-multipart = "*"
|
|
46
|
+
pytz = "*"
|
|
47
|
+
requests = "*"
|
|
48
|
+
"ruamel.yaml" = "*"
|
|
49
|
+
# FIXME: https://setuptools.readthedocs.io/en/latest/history.html#v58-0-0
|
|
50
|
+
# simpleeval package uses use_2to3 thus it is not compatbile with
|
|
51
|
+
# setuptools>=58
|
|
52
|
+
setuptools = "*"
|
|
53
|
+
setuptools-scm = "*"
|
|
54
|
+
# https://github.com/encode/starlette/security/advisories/GHSA-f96h-pmfr-66vw
|
|
55
|
+
starlette = ">=0.40"
|
|
56
|
+
pydantic = "*"
|
|
57
|
+
toposort = "*"
|
|
58
|
+
tqdm = "*"
|
|
59
|
+
ujson = "*"
|
|
60
|
+
unidecode = "*"
|
|
61
|
+
sqlparse = "*"
|
|
62
|
+
pprintpp = "*"
|
|
63
|
+
rdflib = "*"
|
|
64
|
+
numpy = "*"
|
|
65
|
+
|
|
66
|
+
# CLI tool
|
|
67
|
+
click = "*"
|
|
68
|
+
typer = { version = "*", extras = ["all"] }
|
|
69
|
+
|
|
70
|
+
# API server dependencies
|
|
71
|
+
gunicorn = { version = "*", optional = true }
|
|
72
|
+
uvicorn = { version = "*", optional = true }
|
|
73
|
+
|
|
74
|
+
# PostgreSQL backend dependencies
|
|
75
|
+
alembic = { version = "~1.11.0", optional = true }
|
|
76
|
+
asyncpg = "*"
|
|
77
|
+
psycopg2-binary = "*"
|
|
78
|
+
# FIXME: https://github.com/python-poetry/poetry/issues/4402
|
|
79
|
+
# sqlalchemy = "~1.4"
|
|
80
|
+
sqlalchemy = "~1.4"
|
|
81
|
+
# https://github.com/kvesteri/sqlalchemy-utils/issues/472
|
|
82
|
+
sqlalchemy-utils = "*"
|
|
83
|
+
|
|
84
|
+
# Mongo backend dependendencies
|
|
85
|
+
# https://github.com/atviriduomenys/spinta/issues/806
|
|
86
|
+
pymongo = "<=4.8.0"
|
|
87
|
+
|
|
88
|
+
# Excel dependencies
|
|
89
|
+
xlrd = "*"
|
|
90
|
+
|
|
91
|
+
# XML format dependencies
|
|
92
|
+
lxml = "*"
|
|
93
|
+
|
|
94
|
+
# PII (Person Identifiable Information) dependencies
|
|
95
|
+
phonenumbers = "*"
|
|
96
|
+
|
|
97
|
+
# Other dependencies
|
|
98
|
+
XlsxWriter = "*"
|
|
99
|
+
openpyxl = "*"
|
|
100
|
+
GeoAlchemy2 = "*"
|
|
101
|
+
Shapely = "*"
|
|
102
|
+
aiohttp = "*"
|
|
103
|
+
fsspec = "*"
|
|
104
|
+
dask = { version = "*", extras = ["dataframe"] }
|
|
105
|
+
psutil = "*"
|
|
106
|
+
tabulate = "*"
|
|
107
|
+
pyproj = [{version = ">=3.7.0", python = ">=3.13"}, {version = "3.6.1", python = "<3.13"}]
|
|
108
|
+
xmltodict = "*"
|
|
109
|
+
sqlean-py = "*"
|
|
110
|
+
cachetools = "*"
|
|
111
|
+
docutils = "^0.21.2"
|
|
112
|
+
zeep = "^4.3.1"
|
|
113
|
+
# mypy naudojamas tam, kad galima būtų naudoti `defaultdict`, ne tik tipų tikrinimui
|
|
114
|
+
mypy = "*"
|
|
115
|
+
|
|
116
|
+
[tool.poetry.extras]
|
|
117
|
+
http = ["gunicorn", "uvicorn"]
|
|
118
|
+
migrations = ["alembic"]
|
|
119
|
+
all = ["gunicorn", "uvicorn", "alembic"]
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
[tool.poetry.group.dev.dependencies]
|
|
123
|
+
ipdb = "*"
|
|
124
|
+
ipython = "*"
|
|
125
|
+
pp-ez = "*"
|
|
126
|
+
pytest = "~7"
|
|
127
|
+
pytest-asyncio = "*"
|
|
128
|
+
pytest-cov = "*"
|
|
129
|
+
pytest-mock = "*"
|
|
130
|
+
responses = "*"
|
|
131
|
+
snoop = "*"
|
|
132
|
+
python-dotenv = "*"
|
|
133
|
+
docutils = "*"
|
|
134
|
+
requests-mock = "^1.11.0"
|
|
135
|
+
ruff = "^0.12.10"
|
|
136
|
+
|
|
137
|
+
# Starlette
|
|
138
|
+
httpx = "*"
|
|
139
|
+
|
|
140
|
+
# Docs
|
|
141
|
+
sphinx = "*"
|
|
142
|
+
sphinx-autobuild = "*"
|
|
143
|
+
sphinxcontrib-httpdomain = "*"
|
|
144
|
+
memory-profiler = "*"
|
|
145
|
+
mypy = "*"
|
|
146
|
+
cssselect = "*"
|
|
147
|
+
objprint = "*"
|
|
148
|
+
sphinx-rtd-theme = "*"
|
|
149
|
+
sqlalchemy-stubs = "*"
|
|
150
|
+
types-requests = "^2.32.4.20250809"
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
[build-system]
|
|
154
|
+
requires = ["poetry_core>=1.0.0"]
|
|
155
|
+
build-backend = "poetry.core.masonry.api"
|
|
156
|
+
|
|
157
|
+
# https://mypy.readthedocs.io/en/stable/config_file.html#using-a-pyproject-toml-file
|
|
158
|
+
[tool.mypy]
|
|
159
|
+
disallow_any_unimported = true
|
|
160
|
+
show_error_codes = true
|
|
161
|
+
check_untyped_defs = true
|
|
162
|
+
plugins = "sqlmypy"
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
[tool.ruff]
|
|
166
|
+
line-length = 120
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
[tool.ruff.format]
|
|
170
|
+
quote-style = "double"
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
[tool.ruff.lint]
|
|
174
|
+
ignore = ["F811"]
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
import os
|
|
3
|
+
import time
|
|
4
|
+
from typing import Any
|
|
5
|
+
from typing import Dict
|
|
6
|
+
from typing import Iterable
|
|
7
|
+
from typing import Iterator
|
|
8
|
+
from typing import List
|
|
9
|
+
from typing import TypeVar
|
|
10
|
+
from typing import AsyncIterator
|
|
11
|
+
from typing import overload
|
|
12
|
+
|
|
13
|
+
import psutil
|
|
14
|
+
from starlette.requests import Request
|
|
15
|
+
|
|
16
|
+
from spinta import commands
|
|
17
|
+
from spinta.auth import Token, get_default_auth_client_id
|
|
18
|
+
from spinta.components import Context, Config
|
|
19
|
+
from spinta.components import UrlParams
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class AccessLog:
|
|
23
|
+
client: str = None
|
|
24
|
+
method: str = None
|
|
25
|
+
reason: str = None
|
|
26
|
+
url: str = None
|
|
27
|
+
buffer_size: int = 100
|
|
28
|
+
format: str = None # response format
|
|
29
|
+
content_type: str = None # request content-type header
|
|
30
|
+
agent: str = None # request user-agent header
|
|
31
|
+
txn: str = None # request transaction id
|
|
32
|
+
start: float = None # request start time in seconds
|
|
33
|
+
memory: int = None # memory used in bytes at the start of request
|
|
34
|
+
scopes: List[str] = None # list of scopes
|
|
35
|
+
token: str = None # token used for request
|
|
36
|
+
|
|
37
|
+
def __enter__(self):
|
|
38
|
+
return self
|
|
39
|
+
|
|
40
|
+
def __exit__(self, *exc):
|
|
41
|
+
return None
|
|
42
|
+
|
|
43
|
+
def log(self, message: Dict[str, Any]) -> None:
|
|
44
|
+
raise NotImplementedError
|
|
45
|
+
|
|
46
|
+
def request(
|
|
47
|
+
self,
|
|
48
|
+
*,
|
|
49
|
+
txn: str,
|
|
50
|
+
ns: str = None,
|
|
51
|
+
model: str = None,
|
|
52
|
+
prop: str = None,
|
|
53
|
+
action: str = None,
|
|
54
|
+
method: str = None,
|
|
55
|
+
reason: str = None,
|
|
56
|
+
id_: str = None,
|
|
57
|
+
rev: str = None,
|
|
58
|
+
scopes: List[str] = None,
|
|
59
|
+
):
|
|
60
|
+
self.txn = txn
|
|
61
|
+
self.start = self._get_time()
|
|
62
|
+
self.memory = self._get_memory()
|
|
63
|
+
message = {
|
|
64
|
+
"time": datetime.datetime.now(datetime.timezone.utc).isoformat(),
|
|
65
|
+
"pid": os.getpid(),
|
|
66
|
+
"type": "request",
|
|
67
|
+
"method": method or self.method,
|
|
68
|
+
"action": action,
|
|
69
|
+
"ns": ns,
|
|
70
|
+
"model": model,
|
|
71
|
+
"prop": prop,
|
|
72
|
+
"id": id_,
|
|
73
|
+
"rev": rev,
|
|
74
|
+
"txn": txn,
|
|
75
|
+
"rctype": self.content_type,
|
|
76
|
+
"format": self.format,
|
|
77
|
+
"url": self.url,
|
|
78
|
+
"client": self.client,
|
|
79
|
+
"token": self.token,
|
|
80
|
+
"reason": reason or self.reason,
|
|
81
|
+
"agent": self.agent,
|
|
82
|
+
}
|
|
83
|
+
message = {k: v for k, v in message.items() if v is not None}
|
|
84
|
+
self.log(message)
|
|
85
|
+
|
|
86
|
+
def response(
|
|
87
|
+
self,
|
|
88
|
+
*,
|
|
89
|
+
objects: int,
|
|
90
|
+
):
|
|
91
|
+
delta = self._get_time() - self.start
|
|
92
|
+
memory = self._get_memory() - self.memory
|
|
93
|
+
message = {
|
|
94
|
+
"time": datetime.datetime.now(datetime.timezone.utc).isoformat(),
|
|
95
|
+
"type": "response",
|
|
96
|
+
"delta": delta,
|
|
97
|
+
"memory": memory,
|
|
98
|
+
"objects": objects,
|
|
99
|
+
"txn": self.txn,
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
self.log(message)
|
|
103
|
+
|
|
104
|
+
def auth(
|
|
105
|
+
self,
|
|
106
|
+
*,
|
|
107
|
+
reason: str = None,
|
|
108
|
+
):
|
|
109
|
+
message = {
|
|
110
|
+
"time": datetime.datetime.now(datetime.timezone.utc).isoformat(),
|
|
111
|
+
"type": "auth",
|
|
112
|
+
"client": self.client,
|
|
113
|
+
"token": self.token,
|
|
114
|
+
"scope": self.scopes,
|
|
115
|
+
"reason": reason or self.reason,
|
|
116
|
+
"method": self.method,
|
|
117
|
+
"rctype": self.content_type,
|
|
118
|
+
"format": self.format,
|
|
119
|
+
"url": self.url,
|
|
120
|
+
"agent": self.agent,
|
|
121
|
+
}
|
|
122
|
+
message = {k: v for k, v in message.items() if v is not None}
|
|
123
|
+
self.log(message)
|
|
124
|
+
|
|
125
|
+
def _get_time(self) -> float:
|
|
126
|
+
"Get current time in seconds"
|
|
127
|
+
return time.monotonic()
|
|
128
|
+
|
|
129
|
+
def _get_memory(self) -> float:
|
|
130
|
+
"Get currently used memory in bytes"
|
|
131
|
+
return psutil.Process().memory_info().rss
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
@overload
|
|
135
|
+
@commands.load.register(Context, AccessLog, Config)
|
|
136
|
+
def load(context: Context, accesslog: AccessLog, config: Config):
|
|
137
|
+
accesslog.buffer_size = config.rc.get(
|
|
138
|
+
"accesslog",
|
|
139
|
+
"buffer_size",
|
|
140
|
+
required=True,
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
@overload
|
|
145
|
+
@commands.load.register(Context, AccessLog, Token)
|
|
146
|
+
def load(context: Context, accesslog: AccessLog, token: Token): # noqa
|
|
147
|
+
accesslog.client = token.get_sub()
|
|
148
|
+
|
|
149
|
+
client_id = token.get_client_id()
|
|
150
|
+
config = context.get("config")
|
|
151
|
+
if client_id != get_default_auth_client_id(context):
|
|
152
|
+
if config.scope_log:
|
|
153
|
+
accesslog.scopes = token.get_scope()
|
|
154
|
+
accesslog.token = token.get_jti()
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
@overload
|
|
158
|
+
@commands.load.register(Context, AccessLog, Request)
|
|
159
|
+
def load(context: Context, accesslog: AccessLog, request: Request): # noqa
|
|
160
|
+
accesslog.method = request.method
|
|
161
|
+
accesslog.url = str(request.url)
|
|
162
|
+
accesslog.content_type = request.headers.get("content-type")
|
|
163
|
+
accesslog.agent = request.headers.get("user-agent")
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
@overload
|
|
167
|
+
@commands.load.register(Context, AccessLog, UrlParams)
|
|
168
|
+
def load(context: Context, accesslog: AccessLog, params: UrlParams): # noqa
|
|
169
|
+
accesslog.format = params.format if params.format else "json"
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
def create_accesslog(
|
|
173
|
+
context: Context,
|
|
174
|
+
*,
|
|
175
|
+
method: str = None,
|
|
176
|
+
loaders: List[Any],
|
|
177
|
+
) -> AccessLog:
|
|
178
|
+
config: Config = context.get("config")
|
|
179
|
+
# XXX: Probably we should clone store.accesslog here, instead of creating
|
|
180
|
+
# completely new AccessLog instance.
|
|
181
|
+
accesslog: AccessLog = config.AccessLog()
|
|
182
|
+
accesslog.method = method
|
|
183
|
+
for loader in loaders:
|
|
184
|
+
commands.load(context, accesslog, loader)
|
|
185
|
+
return accesslog
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
TRow = TypeVar("TRow")
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
def log_response(
|
|
192
|
+
context: Context,
|
|
193
|
+
rows: Iterable[TRow],
|
|
194
|
+
) -> Iterator[TRow]:
|
|
195
|
+
objects = 0
|
|
196
|
+
for row in rows:
|
|
197
|
+
objects += 1
|
|
198
|
+
yield row
|
|
199
|
+
accesslog: AccessLog = context.get("accesslog")
|
|
200
|
+
accesslog.response(objects=objects)
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
async def log_async_response(
|
|
204
|
+
context: Context,
|
|
205
|
+
rows: AsyncIterator[TRow],
|
|
206
|
+
) -> AsyncIterator[TRow]:
|
|
207
|
+
objects = 0
|
|
208
|
+
async for row in rows:
|
|
209
|
+
objects += 1
|
|
210
|
+
yield row
|
|
211
|
+
accesslog: AccessLog = context.get("accesslog")
|
|
212
|
+
accesslog.response(objects=objects)
|