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.
Files changed (1113) hide show
  1. spinta-0.2.dev5/PKG-INFO +304 -0
  2. spinta-0.2.dev5/pyproject.toml +174 -0
  3. spinta-0.2.dev5/spinta/__init__.py +9 -0
  4. spinta-0.2.dev5/spinta/accesslog/__init__.py +212 -0
  5. spinta-0.2.dev5/spinta/accesslog/file.py +79 -0
  6. spinta-0.2.dev5/spinta/accesslog/python.py +24 -0
  7. spinta-0.2.dev5/spinta/api/__init__.py +471 -0
  8. spinta-0.2.dev5/spinta/api/inspect.py +181 -0
  9. spinta-0.2.dev5/spinta/api/schema.py +208 -0
  10. spinta-0.2.dev5/spinta/api/validators.py +24 -0
  11. spinta-0.2.dev5/spinta/asgi.py +31 -0
  12. spinta-0.2.dev5/spinta/auth.py +904 -0
  13. spinta-0.2.dev5/spinta/backends/__init__.py +1975 -0
  14. spinta-0.2.dev5/spinta/backends/components.py +60 -0
  15. spinta-0.2.dev5/spinta/backends/constants.py +37 -0
  16. spinta-0.2.dev5/spinta/backends/fs/commands/decode.py +14 -0
  17. spinta-0.2.dev5/spinta/backends/fs/commands/encode.py +38 -0
  18. spinta-0.2.dev5/spinta/backends/fs/commands/init.py +29 -0
  19. spinta-0.2.dev5/spinta/backends/fs/commands/load.py +11 -0
  20. spinta-0.2.dev5/spinta/backends/fs/commands/read.py +58 -0
  21. spinta-0.2.dev5/spinta/backends/fs/commands/validate.py +73 -0
  22. spinta-0.2.dev5/spinta/backends/fs/commands/wipe.py +17 -0
  23. spinta-0.2.dev5/spinta/backends/fs/commands/write.py +118 -0
  24. spinta-0.2.dev5/spinta/backends/fs/components.py +12 -0
  25. spinta-0.2.dev5/spinta/backends/helpers.py +402 -0
  26. spinta-0.2.dev5/spinta/backends/memory/commands/read.py +42 -0
  27. spinta-0.2.dev5/spinta/backends/memory/components.py +88 -0
  28. spinta-0.2.dev5/spinta/backends/mongo/commands/changes.py +38 -0
  29. spinta-0.2.dev5/spinta/backends/mongo/commands/encode.py +24 -0
  30. spinta-0.2.dev5/spinta/backends/mongo/commands/load.py +16 -0
  31. spinta-0.2.dev5/spinta/backends/mongo/commands/read.py +131 -0
  32. spinta-0.2.dev5/spinta/backends/mongo/commands/validate.py +45 -0
  33. spinta-0.2.dev5/spinta/backends/mongo/commands/wipe.py +23 -0
  34. spinta-0.2.dev5/spinta/backends/mongo/commands/write.py +153 -0
  35. spinta-0.2.dev5/spinta/backends/mongo/components.py +72 -0
  36. spinta-0.2.dev5/spinta/backends/mongo/helpers.py +7 -0
  37. spinta-0.2.dev5/spinta/backends/mongo/types/file/write.py +30 -0
  38. spinta-0.2.dev5/spinta/backends/mongo/ufuncs/components.py +100 -0
  39. spinta-0.2.dev5/spinta/backends/mongo/ufuncs/ufuncs.py +535 -0
  40. spinta-0.2.dev5/spinta/backends/nobackend/commands/read.py +35 -0
  41. spinta-0.2.dev5/spinta/backends/nobackend/components.py +20 -0
  42. spinta-0.2.dev5/spinta/backends/postgresql/commands/bootstrap.py +14 -0
  43. spinta-0.2.dev5/spinta/backends/postgresql/commands/changes.py +124 -0
  44. spinta-0.2.dev5/spinta/backends/postgresql/commands/column.py +172 -0
  45. spinta-0.2.dev5/spinta/backends/postgresql/commands/freeze.py +190 -0
  46. spinta-0.2.dev5/spinta/backends/postgresql/commands/init.py +145 -0
  47. spinta-0.2.dev5/spinta/backends/postgresql/commands/load.py +26 -0
  48. spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/constants.py +1 -0
  49. spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/migrate.py +309 -0
  50. spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/model.py +583 -0
  51. spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/property.py +86 -0
  52. spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/types/datatype.py +378 -0
  53. spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/types/file.py +126 -0
  54. spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/types/geometry.py +30 -0
  55. spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/types/ref.py +669 -0
  56. spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/types/string.py +135 -0
  57. spinta-0.2.dev5/spinta/backends/postgresql/commands/migrate/types/text.py +132 -0
  58. spinta-0.2.dev5/spinta/backends/postgresql/commands/read.py +86 -0
  59. spinta-0.2.dev5/spinta/backends/postgresql/commands/redirect.py +47 -0
  60. spinta-0.2.dev5/spinta/backends/postgresql/commands/summary.py +451 -0
  61. spinta-0.2.dev5/spinta/backends/postgresql/commands/wait.py +21 -0
  62. spinta-0.2.dev5/spinta/backends/postgresql/commands/wipe.py +61 -0
  63. spinta-0.2.dev5/spinta/backends/postgresql/commands/write.py +341 -0
  64. spinta-0.2.dev5/spinta/backends/postgresql/components.py +157 -0
  65. spinta-0.2.dev5/spinta/backends/postgresql/constants.py +6 -0
  66. spinta-0.2.dev5/spinta/backends/postgresql/files.py +224 -0
  67. spinta-0.2.dev5/spinta/backends/postgresql/helpers/__init__.py +41 -0
  68. spinta-0.2.dev5/spinta/backends/postgresql/helpers/changes.py +41 -0
  69. spinta-0.2.dev5/spinta/backends/postgresql/helpers/exceptions.py +62 -0
  70. spinta-0.2.dev5/spinta/backends/postgresql/helpers/extractors.py +17 -0
  71. spinta-0.2.dev5/spinta/backends/postgresql/helpers/migrate/actions.py +430 -0
  72. spinta-0.2.dev5/spinta/backends/postgresql/helpers/migrate/migrate.py +1441 -0
  73. spinta-0.2.dev5/spinta/backends/postgresql/helpers/name.py +109 -0
  74. spinta-0.2.dev5/spinta/backends/postgresql/helpers/redirect.py +30 -0
  75. spinta-0.2.dev5/spinta/backends/postgresql/helpers/validate.py +36 -0
  76. spinta-0.2.dev5/spinta/backends/postgresql/sqlalchemy.py +19 -0
  77. spinta-0.2.dev5/spinta/backends/postgresql/types/array/freeze.py +86 -0
  78. spinta-0.2.dev5/spinta/backends/postgresql/types/array/init.py +59 -0
  79. spinta-0.2.dev5/spinta/backends/postgresql/types/array/wipe.py +13 -0
  80. spinta-0.2.dev5/spinta/backends/postgresql/types/array/write.py +138 -0
  81. spinta-0.2.dev5/spinta/backends/postgresql/types/array_backref/init.py +9 -0
  82. spinta-0.2.dev5/spinta/backends/postgresql/types/external_ref/init.py +62 -0
  83. spinta-0.2.dev5/spinta/backends/postgresql/types/file/freeze.py +102 -0
  84. spinta-0.2.dev5/spinta/backends/postgresql/types/file/init.py +64 -0
  85. spinta-0.2.dev5/spinta/backends/postgresql/types/file/read.py +85 -0
  86. spinta-0.2.dev5/spinta/backends/postgresql/types/file/write.py +147 -0
  87. spinta-0.2.dev5/spinta/backends/postgresql/types/geometry/helpers.py +48 -0
  88. spinta-0.2.dev5/spinta/backends/postgresql/types/geometry/init.py +32 -0
  89. spinta-0.2.dev5/spinta/backends/postgresql/types/geometry/write.py +13 -0
  90. spinta-0.2.dev5/spinta/backends/postgresql/types/object/init.py +18 -0
  91. spinta-0.2.dev5/spinta/backends/postgresql/types/object/read.py +67 -0
  92. spinta-0.2.dev5/spinta/backends/postgresql/types/ref/freeze.py +83 -0
  93. spinta-0.2.dev5/spinta/backends/postgresql/types/ref/init.py +57 -0
  94. spinta-0.2.dev5/spinta/backends/postgresql/types/ref/validate.py +30 -0
  95. spinta-0.2.dev5/spinta/backends/postgresql/types/text/init.py +18 -0
  96. spinta-0.2.dev5/spinta/backends/postgresql/ufuncs/query/components.py +318 -0
  97. spinta-0.2.dev5/spinta/backends/postgresql/ufuncs/query/ufuncs.py +1300 -0
  98. spinta-0.2.dev5/spinta/backends/postgresql/ufuncs/result/components.py +18 -0
  99. spinta-0.2.dev5/spinta/backends/postgresql/ufuncs/result/ufuncs.py +24 -0
  100. spinta-0.2.dev5/spinta/cli/admin.py +87 -0
  101. spinta-0.2.dev5/spinta/cli/auth.py +158 -0
  102. spinta-0.2.dev5/spinta/cli/config.py +37 -0
  103. spinta-0.2.dev5/spinta/cli/data.py +189 -0
  104. spinta-0.2.dev5/spinta/cli/get.py +30 -0
  105. spinta-0.2.dev5/spinta/cli/helpers/admin/components.py +17 -0
  106. spinta-0.2.dev5/spinta/cli/helpers/admin/registry.py +31 -0
  107. spinta-0.2.dev5/spinta/cli/helpers/admin/scripts/changelog.py +414 -0
  108. spinta-0.2.dev5/spinta/cli/helpers/admin/scripts/deduplicate.py +262 -0
  109. spinta-0.2.dev5/spinta/cli/helpers/auth.py +33 -0
  110. spinta-0.2.dev5/spinta/cli/helpers/data.py +180 -0
  111. spinta-0.2.dev5/spinta/cli/helpers/errors.py +28 -0
  112. spinta-0.2.dev5/spinta/cli/helpers/export/backends/postgresql/commands.py +168 -0
  113. spinta-0.2.dev5/spinta/cli/helpers/export/backends/postgresql/components.py +58 -0
  114. spinta-0.2.dev5/spinta/cli/helpers/export/backends/postgresql/helpers.py +126 -0
  115. spinta-0.2.dev5/spinta/cli/helpers/export/commands.py +332 -0
  116. spinta-0.2.dev5/spinta/cli/helpers/export/components.py +71 -0
  117. spinta-0.2.dev5/spinta/cli/helpers/export/helpers.py +124 -0
  118. spinta-0.2.dev5/spinta/cli/helpers/push/__init__.py +70 -0
  119. spinta-0.2.dev5/spinta/cli/helpers/push/components.py +113 -0
  120. spinta-0.2.dev5/spinta/cli/helpers/push/delete.py +123 -0
  121. spinta-0.2.dev5/spinta/cli/helpers/push/error.py +152 -0
  122. spinta-0.2.dev5/spinta/cli/helpers/push/read.py +356 -0
  123. spinta-0.2.dev5/spinta/cli/helpers/push/state.py +219 -0
  124. spinta-0.2.dev5/spinta/cli/helpers/push/sync.py +281 -0
  125. spinta-0.2.dev5/spinta/cli/helpers/push/utils.py +171 -0
  126. spinta-0.2.dev5/spinta/cli/helpers/push/write.py +437 -0
  127. spinta-0.2.dev5/spinta/cli/helpers/script/components.py +121 -0
  128. spinta-0.2.dev5/spinta/cli/helpers/script/core.py +80 -0
  129. spinta-0.2.dev5/spinta/cli/helpers/script/helpers.py +70 -0
  130. spinta-0.2.dev5/spinta/cli/helpers/script/registry.py +93 -0
  131. spinta-0.2.dev5/spinta/cli/helpers/store.py +160 -0
  132. spinta-0.2.dev5/spinta/cli/helpers/sync/__init__.py +2 -0
  133. spinta-0.2.dev5/spinta/cli/helpers/sync/controllers/dataset.py +64 -0
  134. spinta-0.2.dev5/spinta/cli/helpers/sync/controllers/distribution.py +50 -0
  135. spinta-0.2.dev5/spinta/cli/helpers/sync/controllers/dsa.py +58 -0
  136. spinta-0.2.dev5/spinta/cli/helpers/sync/helpers.py +194 -0
  137. spinta-0.2.dev5/spinta/cli/helpers/upgrade/components.py +22 -0
  138. spinta-0.2.dev5/spinta/cli/helpers/upgrade/registry.py +72 -0
  139. spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts/clients.py +213 -0
  140. spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/helpers.py +49 -0
  141. spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/initial_setup.py +25 -0
  142. spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/modified_time.py +49 -0
  143. spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/redirect_support.py +99 -0
  144. spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts/redirect.py +87 -0
  145. spinta-0.2.dev5/spinta/cli/init.py +21 -0
  146. spinta-0.2.dev5/spinta/cli/inspect.py +57 -0
  147. spinta-0.2.dev5/spinta/cli/keymap.py +124 -0
  148. spinta-0.2.dev5/spinta/cli/main.py +108 -0
  149. spinta-0.2.dev5/spinta/cli/migrate.py +109 -0
  150. spinta-0.2.dev5/spinta/cli/pii.py +258 -0
  151. spinta-0.2.dev5/spinta/cli/pull.py +106 -0
  152. spinta-0.2.dev5/spinta/cli/push.py +223 -0
  153. spinta-0.2.dev5/spinta/cli/server.py +54 -0
  154. spinta-0.2.dev5/spinta/cli/show.py +26 -0
  155. spinta-0.2.dev5/spinta/cli/sync.py +72 -0
  156. spinta-0.2.dev5/spinta/cli/upgrade.py +90 -0
  157. spinta-0.2.dev5/spinta/client.py +166 -0
  158. spinta-0.2.dev5/spinta/commands/__init__.py +1370 -0
  159. spinta-0.2.dev5/spinta/commands/auth.py +22 -0
  160. spinta-0.2.dev5/spinta/commands/helpers.py +71 -0
  161. spinta-0.2.dev5/spinta/commands/read.py +599 -0
  162. spinta-0.2.dev5/spinta/commands/search.py +92 -0
  163. spinta-0.2.dev5/spinta/commands/version.py +30 -0
  164. spinta-0.2.dev5/spinta/commands/write.py +1439 -0
  165. spinta-0.2.dev5/spinta/compat.py +111 -0
  166. spinta-0.2.dev5/spinta/components.py +1105 -0
  167. spinta-0.2.dev5/spinta/config.py +339 -0
  168. spinta-0.2.dev5/spinta/core/access.py +86 -0
  169. spinta-0.2.dev5/spinta/core/config.py +665 -0
  170. spinta-0.2.dev5/spinta/core/context.py +65 -0
  171. spinta-0.2.dev5/spinta/core/enums.py +191 -0
  172. spinta-0.2.dev5/spinta/core/ufuncs.py +321 -0
  173. spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/csv/components.py +11 -0
  174. spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/json/components.py +11 -0
  175. spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/memory/components.py +11 -0
  176. spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/soap/commands/read.py +120 -0
  177. spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/soap/components.py +18 -0
  178. spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/soap/ufuncs/components.py +31 -0
  179. spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/soap/ufuncs/ufuncs.py +130 -0
  180. spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/xml/components.py +11 -0
  181. spinta-0.2.dev5/spinta/datasets/backends/dataframe/commands/read.py +599 -0
  182. spinta-0.2.dev5/spinta/datasets/backends/dataframe/components.py +13 -0
  183. spinta-0.2.dev5/spinta/datasets/backends/dataframe/ufuncs/components.py +5 -0
  184. spinta-0.2.dev5/spinta/datasets/backends/dataframe/ufuncs/query/components.py +63 -0
  185. spinta-0.2.dev5/spinta/datasets/backends/dataframe/ufuncs/query/ufuncs.py +459 -0
  186. spinta-0.2.dev5/spinta/datasets/backends/helpers.py +170 -0
  187. spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mariadb/components.py +7 -0
  188. spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mssql/components.py +7 -0
  189. spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mssql/helpers.py +12 -0
  190. spinta-0.2.dev5/spinta/datasets/backends/sql/backends/mysql/components.py +7 -0
  191. spinta-0.2.dev5/spinta/datasets/backends/sql/backends/oracle/components.py +7 -0
  192. spinta-0.2.dev5/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/components.py +8 -0
  193. spinta-0.2.dev5/spinta/datasets/backends/sql/backends/postgresql/components.py +7 -0
  194. spinta-0.2.dev5/spinta/datasets/backends/sql/backends/sqlite/components.py +7 -0
  195. spinta-0.2.dev5/spinta/datasets/backends/sql/commands/cast.py +156 -0
  196. spinta-0.2.dev5/spinta/datasets/backends/sql/commands/load.py +20 -0
  197. spinta-0.2.dev5/spinta/datasets/backends/sql/commands/read.py +126 -0
  198. spinta-0.2.dev5/spinta/datasets/backends/sql/commands/wait.py +26 -0
  199. spinta-0.2.dev5/spinta/datasets/backends/sql/components.py +53 -0
  200. spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/components.py +39 -0
  201. spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/query/components.py +211 -0
  202. spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/query/helpers.py +71 -0
  203. spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/query/ufuncs.py +893 -0
  204. spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/result/components.py +18 -0
  205. spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/result/ufuncs.py +66 -0
  206. spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/ufuncs.py +41 -0
  207. spinta-0.2.dev5/spinta/datasets/backends/sqldump/commands/inspect.py +103 -0
  208. spinta-0.2.dev5/spinta/datasets/backends/sqldump/commands/load.py +18 -0
  209. spinta-0.2.dev5/spinta/datasets/backends/sqldump/components.py +24 -0
  210. spinta-0.2.dev5/spinta/datasets/backends/sqldump/ufuncs/components.py +20 -0
  211. spinta-0.2.dev5/spinta/datasets/backends/sqldump/ufuncs/ufuncs.py +27 -0
  212. spinta-0.2.dev5/spinta/datasets/commands/check.py +35 -0
  213. spinta-0.2.dev5/spinta/datasets/commands/error.py +32 -0
  214. spinta-0.2.dev5/spinta/datasets/commands/link.py +65 -0
  215. spinta-0.2.dev5/spinta/datasets/commands/load.py +150 -0
  216. spinta-0.2.dev5/spinta/datasets/components.py +240 -0
  217. spinta-0.2.dev5/spinta/datasets/enums.py +1 -0
  218. spinta-0.2.dev5/spinta/datasets/helpers.py +191 -0
  219. spinta-0.2.dev5/spinta/datasets/inspect/commands/merge.py +498 -0
  220. spinta-0.2.dev5/spinta/datasets/inspect/helpers.py +332 -0
  221. spinta-0.2.dev5/spinta/datasets/keymaps/components.py +47 -0
  222. spinta-0.2.dev5/spinta/datasets/keymaps/sqlalchemy.py +458 -0
  223. spinta-0.2.dev5/spinta/datasets/keymaps/sync.py +322 -0
  224. spinta-0.2.dev5/spinta/datasets/utils.py +71 -0
  225. spinta-0.2.dev5/spinta/dimensions/comments/helpers.py +32 -0
  226. spinta-0.2.dev5/spinta/dimensions/enum/commands.py +107 -0
  227. spinta-0.2.dev5/spinta/dimensions/enum/components.py +64 -0
  228. spinta-0.2.dev5/spinta/dimensions/enum/helpers.py +101 -0
  229. spinta-0.2.dev5/spinta/dimensions/enum/ufuncs.py +29 -0
  230. spinta-0.2.dev5/spinta/dimensions/lang/components.py +13 -0
  231. spinta-0.2.dev5/spinta/dimensions/param/helpers.py +78 -0
  232. spinta-0.2.dev5/spinta/dimensions/param/ufuncs.py +159 -0
  233. spinta-0.2.dev5/spinta/dimensions/prefix/components.py +28 -0
  234. spinta-0.2.dev5/spinta/dimensions/prefix/helpers.py +36 -0
  235. spinta-0.2.dev5/spinta/dispatcher.py +129 -0
  236. spinta-0.2.dev5/spinta/exceptions.py +1132 -0
  237. spinta-0.2.dev5/spinta/fetcher.py +46 -0
  238. spinta-0.2.dev5/spinta/formats/ascii/commands.py +80 -0
  239. spinta-0.2.dev5/spinta/formats/ascii/components.py +87 -0
  240. spinta-0.2.dev5/spinta/formats/ascii/helpers.py +180 -0
  241. spinta-0.2.dev5/spinta/formats/csv/commands.py +108 -0
  242. spinta-0.2.dev5/spinta/formats/csv/components.py +21 -0
  243. spinta-0.2.dev5/spinta/formats/helpers.py +232 -0
  244. spinta-0.2.dev5/spinta/formats/html/commands.py +932 -0
  245. spinta-0.2.dev5/spinta/formats/html/components.py +45 -0
  246. spinta-0.2.dev5/spinta/formats/html/helpers.py +272 -0
  247. spinta-0.2.dev5/spinta/formats/json/commands.py +85 -0
  248. spinta-0.2.dev5/spinta/formats/json/components.py +37 -0
  249. spinta-0.2.dev5/spinta/formats/jsonlines/commands.py +72 -0
  250. spinta-0.2.dev5/spinta/formats/jsonlines/components.py +29 -0
  251. spinta-0.2.dev5/spinta/formats/rdf/commands.py +826 -0
  252. spinta-0.2.dev5/spinta/formats/rdf/components.py +10 -0
  253. spinta-0.2.dev5/spinta/formats/xlsx/commands.py +84 -0
  254. spinta-0.2.dev5/spinta/formats/xlsx/components.py +9 -0
  255. spinta-0.2.dev5/spinta/hacks/spyna.py +31 -0
  256. spinta-0.2.dev5/spinta/hacks/urlparams.py +34 -0
  257. spinta-0.2.dev5/spinta/logging_config.py +33 -0
  258. spinta-0.2.dev5/spinta/manifests/backend/commands/bootstrap.py +17 -0
  259. spinta-0.2.dev5/spinta/manifests/backend/commands/load.py +19 -0
  260. spinta-0.2.dev5/spinta/manifests/backend/commands/migrate.py +15 -0
  261. spinta-0.2.dev5/spinta/manifests/backend/components.py +5 -0
  262. spinta-0.2.dev5/spinta/manifests/backend/helpers.py +251 -0
  263. spinta-0.2.dev5/spinta/manifests/commands/error.py +39 -0
  264. spinta-0.2.dev5/spinta/manifests/commands/init.py +14 -0
  265. spinta-0.2.dev5/spinta/manifests/commands/inspect.py +35 -0
  266. spinta-0.2.dev5/spinta/manifests/commands/migrate.py +16 -0
  267. spinta-0.2.dev5/spinta/manifests/commands/read.py +182 -0
  268. spinta-0.2.dev5/spinta/manifests/components.py +107 -0
  269. spinta-0.2.dev5/spinta/manifests/dict/commands/configure.py +16 -0
  270. spinta-0.2.dev5/spinta/manifests/dict/commands/load.py +46 -0
  271. spinta-0.2.dev5/spinta/manifests/dict/components.py +32 -0
  272. spinta-0.2.dev5/spinta/manifests/dict/helpers.py +512 -0
  273. spinta-0.2.dev5/spinta/manifests/helpers.py +455 -0
  274. spinta-0.2.dev5/spinta/manifests/internal/commands/configure.py +11 -0
  275. spinta-0.2.dev5/spinta/manifests/internal/commands/load.py +59 -0
  276. spinta-0.2.dev5/spinta/manifests/internal_sql/commands/auth.py +112 -0
  277. spinta-0.2.dev5/spinta/manifests/internal_sql/commands/bootstrap.py +22 -0
  278. spinta-0.2.dev5/spinta/manifests/internal_sql/commands/configure.py +20 -0
  279. spinta-0.2.dev5/spinta/manifests/internal_sql/commands/load.py +83 -0
  280. spinta-0.2.dev5/spinta/manifests/internal_sql/commands/manifest.py +619 -0
  281. spinta-0.2.dev5/spinta/manifests/internal_sql/commands/read.py +130 -0
  282. spinta-0.2.dev5/spinta/manifests/internal_sql/components.py +99 -0
  283. spinta-0.2.dev5/spinta/manifests/internal_sql/helpers.py +1413 -0
  284. spinta-0.2.dev5/spinta/manifests/memory/commands/configure.py +10 -0
  285. spinta-0.2.dev5/spinta/manifests/memory/commands/load.py +33 -0
  286. spinta-0.2.dev5/spinta/manifests/memory/components.py +5 -0
  287. spinta-0.2.dev5/spinta/manifests/mermaid/components.py +9 -0
  288. spinta-0.2.dev5/spinta/manifests/mermaid/helpers.py +259 -0
  289. spinta-0.2.dev5/spinta/manifests/open_api/commands/configure.py +15 -0
  290. spinta-0.2.dev5/spinta/manifests/open_api/commands/load.py +47 -0
  291. spinta-0.2.dev5/spinta/manifests/open_api/components.py +10 -0
  292. spinta-0.2.dev5/spinta/manifests/open_api/helpers.py +350 -0
  293. spinta-0.2.dev5/spinta/manifests/rdf/commands/bootstrap.py +10 -0
  294. spinta-0.2.dev5/spinta/manifests/rdf/commands/configure.py +14 -0
  295. spinta-0.2.dev5/spinta/manifests/rdf/commands/load.py +46 -0
  296. spinta-0.2.dev5/spinta/manifests/rdf/components.py +10 -0
  297. spinta-0.2.dev5/spinta/manifests/rdf/helpers.py +473 -0
  298. spinta-0.2.dev5/spinta/manifests/sql/commands/configure.py +15 -0
  299. spinta-0.2.dev5/spinta/manifests/sql/commands/load.py +60 -0
  300. spinta-0.2.dev5/spinta/manifests/sql/components.py +24 -0
  301. spinta-0.2.dev5/spinta/manifests/sql/helpers.py +313 -0
  302. spinta-0.2.dev5/spinta/manifests/tabular/commands/bootstrap.py +11 -0
  303. spinta-0.2.dev5/spinta/manifests/tabular/commands/configure.py +23 -0
  304. spinta-0.2.dev5/spinta/manifests/tabular/commands/load.py +81 -0
  305. spinta-0.2.dev5/spinta/manifests/tabular/components.py +303 -0
  306. spinta-0.2.dev5/spinta/manifests/tabular/constants.py +39 -0
  307. spinta-0.2.dev5/spinta/manifests/tabular/formats/gsheets.py +40 -0
  308. spinta-0.2.dev5/spinta/manifests/tabular/helpers.py +2963 -0
  309. spinta-0.2.dev5/spinta/manifests/xsd/commands/configure.py +15 -0
  310. spinta-0.2.dev5/spinta/manifests/xsd/commands/load.py +60 -0
  311. spinta-0.2.dev5/spinta/manifests/xsd/components.py +9 -0
  312. spinta-0.2.dev5/spinta/manifests/xsd/helpers.py +1180 -0
  313. spinta-0.2.dev5/spinta/manifests/xsd2/commands/configure.py +15 -0
  314. spinta-0.2.dev5/spinta/manifests/xsd2/commands/load.py +60 -0
  315. spinta-0.2.dev5/spinta/manifests/xsd2/components.py +9 -0
  316. spinta-0.2.dev5/spinta/manifests/xsd2/helpers.py +1282 -0
  317. spinta-0.2.dev5/spinta/manifests/yaml/commands/bootstrap.py +11 -0
  318. spinta-0.2.dev5/spinta/manifests/yaml/commands/configure.py +32 -0
  319. spinta-0.2.dev5/spinta/manifests/yaml/commands/freeze.py +50 -0
  320. spinta-0.2.dev5/spinta/manifests/yaml/commands/load.py +116 -0
  321. spinta-0.2.dev5/spinta/manifests/yaml/commands/migrate.py +8 -0
  322. spinta-0.2.dev5/spinta/manifests/yaml/components.py +19 -0
  323. spinta-0.2.dev5/spinta/manifests/yaml/helpers.py +156 -0
  324. spinta-0.2.dev5/spinta/middlewares.py +31 -0
  325. spinta-0.2.dev5/spinta/migrations/__init__.py +23 -0
  326. spinta-0.2.dev5/spinta/migrations/schema/alembic.py +119 -0
  327. spinta-0.2.dev5/spinta/naming/components.py +10 -0
  328. spinta-0.2.dev5/spinta/naming/helpers.py +136 -0
  329. spinta-0.2.dev5/spinta/naming/ufuncts.py +35 -0
  330. spinta-0.2.dev5/spinta/nodes.py +236 -0
  331. spinta-0.2.dev5/spinta/renderer.py +34 -0
  332. spinta-0.2.dev5/spinta/spyna.py +358 -0
  333. spinta-0.2.dev5/spinta/testing/__init__.py +4 -0
  334. spinta-0.2.dev5/spinta/testing/cli.py +67 -0
  335. spinta-0.2.dev5/spinta/testing/client.py +342 -0
  336. spinta-0.2.dev5/spinta/testing/config.py +91 -0
  337. spinta-0.2.dev5/spinta/testing/context.py +104 -0
  338. spinta-0.2.dev5/spinta/testing/csv.py +8 -0
  339. spinta-0.2.dev5/spinta/testing/data.py +271 -0
  340. spinta-0.2.dev5/spinta/testing/datasets.py +60 -0
  341. spinta-0.2.dev5/spinta/testing/dtypes.py +244 -0
  342. spinta-0.2.dev5/spinta/testing/push.py +16 -0
  343. spinta-0.2.dev5/spinta/testing/pytest.py +356 -0
  344. spinta-0.2.dev5/spinta/testing/request.py +93 -0
  345. spinta-0.2.dev5/spinta/testing/types/geometry.py +48 -0
  346. spinta-0.2.dev5/spinta/testing/ufuncs.py +31 -0
  347. spinta-0.2.dev5/spinta/testing/utils.py +173 -0
  348. spinta-0.2.dev5/spinta/types/array/check.py +48 -0
  349. spinta-0.2.dev5/spinta/types/array/link.py +96 -0
  350. spinta-0.2.dev5/spinta/types/backref/link.py +116 -0
  351. spinta-0.2.dev5/spinta/types/command.py +38 -0
  352. spinta-0.2.dev5/spinta/types/config.py +108 -0
  353. spinta-0.2.dev5/spinta/types/datatype.py +622 -0
  354. spinta-0.2.dev5/spinta/types/denorm/check.py +14 -0
  355. spinta-0.2.dev5/spinta/types/denorm/link.py +64 -0
  356. spinta-0.2.dev5/spinta/types/file/decode.py +31 -0
  357. spinta-0.2.dev5/spinta/types/file/helpers.py +40 -0
  358. spinta-0.2.dev5/spinta/types/geometry/components.py +12 -0
  359. spinta-0.2.dev5/spinta/types/geometry/constants.py +3 -0
  360. spinta-0.2.dev5/spinta/types/geometry/helpers.py +33 -0
  361. spinta-0.2.dev5/spinta/types/geometry/load.py +63 -0
  362. spinta-0.2.dev5/spinta/types/helpers.py +75 -0
  363. spinta-0.2.dev5/spinta/types/model.py +640 -0
  364. spinta-0.2.dev5/spinta/types/namespace.py +342 -0
  365. spinta-0.2.dev5/spinta/types/partial/link.py +48 -0
  366. spinta-0.2.dev5/spinta/types/ref/check.py +22 -0
  367. spinta-0.2.dev5/spinta/types/ref/link.py +53 -0
  368. spinta-0.2.dev5/spinta/types/store.py +160 -0
  369. spinta-0.2.dev5/spinta/types/text/components.py +11 -0
  370. spinta-0.2.dev5/spinta/types/text/load.py +25 -0
  371. spinta-0.2.dev5/spinta/typing.py +19 -0
  372. spinta-0.2.dev5/spinta/ufuncs/changebase/components.py +10 -0
  373. spinta-0.2.dev5/spinta/ufuncs/changebase/helpers.py +50 -0
  374. spinta-0.2.dev5/spinta/ufuncs/changebase/ufuncs.py +35 -0
  375. spinta-0.2.dev5/spinta/ufuncs/common.py +49 -0
  376. spinta-0.2.dev5/spinta/ufuncs/components.py +177 -0
  377. spinta-0.2.dev5/spinta/ufuncs/helpers.py +19 -0
  378. spinta-0.2.dev5/spinta/ufuncs/linkbuilder/ufuncs.py +51 -0
  379. spinta-0.2.dev5/spinta/ufuncs/loadbuilder/__init__.py +0 -0
  380. spinta-0.2.dev5/spinta/ufuncs/loadbuilder/components.py +80 -0
  381. spinta-0.2.dev5/spinta/ufuncs/loadbuilder/helpers.py +26 -0
  382. spinta-0.2.dev5/spinta/ufuncs/loadbuilder/ufuncs.py +72 -0
  383. spinta-0.2.dev5/spinta/ufuncs/propertyresolver/__init__.py +0 -0
  384. spinta-0.2.dev5/spinta/ufuncs/propertyresolver/components.py +16 -0
  385. spinta-0.2.dev5/spinta/ufuncs/propertyresolver/ufuncs.py +271 -0
  386. spinta-0.2.dev5/spinta/ufuncs/querybuilder/__init__.py +0 -0
  387. spinta-0.2.dev5/spinta/ufuncs/querybuilder/components.py +171 -0
  388. spinta-0.2.dev5/spinta/ufuncs/querybuilder/helpers.py +205 -0
  389. spinta-0.2.dev5/spinta/ufuncs/querybuilder/ufuncs.py +514 -0
  390. spinta-0.2.dev5/spinta/ufuncs/requestparamsbuilder/__init__.py +0 -0
  391. spinta-0.2.dev5/spinta/ufuncs/requestparamsbuilder/components.py +13 -0
  392. spinta-0.2.dev5/spinta/ufuncs/requestparamsbuilder/ufuncs.py +156 -0
  393. spinta-0.2.dev5/spinta/ufuncs/resultbuilder/__init__.py +0 -0
  394. spinta-0.2.dev5/spinta/ufuncs/resultbuilder/components.py +28 -0
  395. spinta-0.2.dev5/spinta/ufuncs/resultbuilder/helpers.py +152 -0
  396. spinta-0.2.dev5/spinta/ufuncs/resultbuilder/ufuncs.py +58 -0
  397. spinta-0.2.dev5/spinta/ufuncs/summaryenv/__init__.py +0 -0
  398. spinta-0.2.dev5/spinta/ufuncs/summaryenv/components.py +30 -0
  399. spinta-0.2.dev5/spinta/ufuncs/summaryenv/ufuncs.py +31 -0
  400. spinta-0.2.dev5/spinta/units/__init__.py +0 -0
  401. spinta-0.2.dev5/spinta/units/helpers.py +171 -0
  402. spinta-0.2.dev5/spinta/urlparams.py +497 -0
  403. spinta-0.2.dev5/spinta/utils/__init__.py +2 -0
  404. spinta-0.2.dev5/spinta/utils/aiotools.py +90 -0
  405. spinta-0.2.dev5/spinta/utils/changes.py +13 -0
  406. spinta-0.2.dev5/spinta/utils/config.py +46 -0
  407. spinta-0.2.dev5/spinta/utils/data.py +86 -0
  408. spinta-0.2.dev5/spinta/utils/encoding.py +15 -0
  409. spinta-0.2.dev5/spinta/utils/enums.py +43 -0
  410. spinta-0.2.dev5/spinta/utils/errors.py +23 -0
  411. spinta-0.2.dev5/spinta/utils/functools.py +7 -0
  412. spinta-0.2.dev5/spinta/utils/idgen.py +9 -0
  413. spinta-0.2.dev5/spinta/utils/imports.py +22 -0
  414. spinta-0.2.dev5/spinta/utils/itertools.py +118 -0
  415. spinta-0.2.dev5/spinta/utils/json.py +31 -0
  416. spinta-0.2.dev5/spinta/utils/naming.py +83 -0
  417. spinta-0.2.dev5/spinta/utils/nestedstruct.py +282 -0
  418. spinta-0.2.dev5/spinta/utils/nin.py +84 -0
  419. spinta-0.2.dev5/spinta/utils/passwords.py +52 -0
  420. spinta-0.2.dev5/spinta/utils/path.py +38 -0
  421. spinta-0.2.dev5/spinta/utils/response.py +324 -0
  422. spinta-0.2.dev5/spinta/utils/schema.py +96 -0
  423. spinta-0.2.dev5/spinta/utils/scopes.py +28 -0
  424. spinta-0.2.dev5/spinta/utils/sqlalchemy.py +48 -0
  425. spinta-0.2.dev5/spinta/utils/sqlite.py +144 -0
  426. spinta-0.2.dev5/spinta/utils/starlette.py +19 -0
  427. spinta-0.2.dev5/spinta/utils/streams.py +27 -0
  428. spinta-0.2.dev5/spinta/utils/tree.py +27 -0
  429. spinta-0.2.dev5/spinta/utils/types.py +16 -0
  430. spinta-0.2.dev5/spinta/utils/units.py +42 -0
  431. spinta-0.2.dev5/spinta/utils/url.py +114 -0
  432. spinta-0.2.dev3/PKG-INFO +0 -301
  433. spinta-0.2.dev3/pyproject.toml +0 -156
  434. spinta-0.2.dev3/spinta/__init__.py +0 -10
  435. spinta-0.2.dev3/spinta/accesslog/__init__.py +0 -210
  436. spinta-0.2.dev3/spinta/accesslog/file.py +0 -79
  437. spinta-0.2.dev3/spinta/accesslog/python.py +0 -24
  438. spinta-0.2.dev3/spinta/api/__init__.py +0 -465
  439. spinta-0.2.dev3/spinta/api/inspect.py +0 -189
  440. spinta-0.2.dev3/spinta/api/schema.py +0 -204
  441. spinta-0.2.dev3/spinta/asgi.py +0 -31
  442. spinta-0.2.dev3/spinta/auth.py +0 -894
  443. spinta-0.2.dev3/spinta/backends/__init__.py +0 -2205
  444. spinta-0.2.dev3/spinta/backends/components.py +0 -63
  445. spinta-0.2.dev3/spinta/backends/constants.py +0 -37
  446. spinta-0.2.dev3/spinta/backends/fs/commands/decode.py +0 -14
  447. spinta-0.2.dev3/spinta/backends/fs/commands/encode.py +0 -41
  448. spinta-0.2.dev3/spinta/backends/fs/commands/init.py +0 -29
  449. spinta-0.2.dev3/spinta/backends/fs/commands/load.py +0 -11
  450. spinta-0.2.dev3/spinta/backends/fs/commands/read.py +0 -58
  451. spinta-0.2.dev3/spinta/backends/fs/commands/validate.py +0 -83
  452. spinta-0.2.dev3/spinta/backends/fs/commands/wipe.py +0 -19
  453. spinta-0.2.dev3/spinta/backends/fs/commands/write.py +0 -115
  454. spinta-0.2.dev3/spinta/backends/fs/components.py +0 -13
  455. spinta-0.2.dev3/spinta/backends/helpers.py +0 -398
  456. spinta-0.2.dev3/spinta/backends/memory/commands/read.py +0 -49
  457. spinta-0.2.dev3/spinta/backends/memory/components.py +0 -87
  458. spinta-0.2.dev3/spinta/backends/mongo/commands/changes.py +0 -39
  459. spinta-0.2.dev3/spinta/backends/mongo/commands/encode.py +0 -28
  460. spinta-0.2.dev3/spinta/backends/mongo/commands/load.py +0 -16
  461. spinta-0.2.dev3/spinta/backends/mongo/commands/read.py +0 -125
  462. spinta-0.2.dev3/spinta/backends/mongo/commands/validate.py +0 -44
  463. spinta-0.2.dev3/spinta/backends/mongo/commands/wipe.py +0 -23
  464. spinta-0.2.dev3/spinta/backends/mongo/commands/write.py +0 -151
  465. spinta-0.2.dev3/spinta/backends/mongo/components.py +0 -74
  466. spinta-0.2.dev3/spinta/backends/mongo/helpers.py +0 -10
  467. spinta-0.2.dev3/spinta/backends/mongo/types/file/write.py +0 -32
  468. spinta-0.2.dev3/spinta/backends/mongo/ufuncs/components.py +0 -107
  469. spinta-0.2.dev3/spinta/backends/mongo/ufuncs/ufuncs.py +0 -472
  470. spinta-0.2.dev3/spinta/backends/nobackend/commands/read.py +0 -42
  471. spinta-0.2.dev3/spinta/backends/nobackend/components.py +0 -20
  472. spinta-0.2.dev3/spinta/backends/postgresql/commands/bootstrap.py +0 -17
  473. spinta-0.2.dev3/spinta/backends/postgresql/commands/changes.py +0 -118
  474. spinta-0.2.dev3/spinta/backends/postgresql/commands/column.py +0 -175
  475. spinta-0.2.dev3/spinta/backends/postgresql/commands/freeze.py +0 -208
  476. spinta-0.2.dev3/spinta/backends/postgresql/commands/init.py +0 -144
  477. spinta-0.2.dev3/spinta/backends/postgresql/commands/load.py +0 -28
  478. spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/constants.py +0 -3
  479. spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/migrate.py +0 -319
  480. spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/model.py +0 -613
  481. spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/property.py +0 -78
  482. spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/types/datatype.py +0 -317
  483. spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/types/file.py +0 -110
  484. spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/types/geometry.py +0 -28
  485. spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/types/ref.py +0 -642
  486. spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/types/string.py +0 -134
  487. spinta-0.2.dev3/spinta/backends/postgresql/commands/migrate/types/text.py +0 -138
  488. spinta-0.2.dev3/spinta/backends/postgresql/commands/read.py +0 -86
  489. spinta-0.2.dev3/spinta/backends/postgresql/commands/redirect.py +0 -59
  490. spinta-0.2.dev3/spinta/backends/postgresql/commands/summary.py +0 -500
  491. spinta-0.2.dev3/spinta/backends/postgresql/commands/wait.py +0 -21
  492. spinta-0.2.dev3/spinta/backends/postgresql/commands/wipe.py +0 -64
  493. spinta-0.2.dev3/spinta/backends/postgresql/commands/write.py +0 -374
  494. spinta-0.2.dev3/spinta/backends/postgresql/components.py +0 -161
  495. spinta-0.2.dev3/spinta/backends/postgresql/constants.py +0 -10
  496. spinta-0.2.dev3/spinta/backends/postgresql/files.py +0 -237
  497. spinta-0.2.dev3/spinta/backends/postgresql/helpers/__init__.py +0 -41
  498. spinta-0.2.dev3/spinta/backends/postgresql/helpers/changes.py +0 -41
  499. spinta-0.2.dev3/spinta/backends/postgresql/helpers/exceptions.py +0 -68
  500. spinta-0.2.dev3/spinta/backends/postgresql/helpers/extractors.py +0 -17
  501. spinta-0.2.dev3/spinta/backends/postgresql/helpers/migrate/actions.py +0 -446
  502. spinta-0.2.dev3/spinta/backends/postgresql/helpers/migrate/migrate.py +0 -1289
  503. spinta-0.2.dev3/spinta/backends/postgresql/helpers/name.py +0 -94
  504. spinta-0.2.dev3/spinta/backends/postgresql/helpers/redirect.py +0 -37
  505. spinta-0.2.dev3/spinta/backends/postgresql/helpers/validate.py +0 -41
  506. spinta-0.2.dev3/spinta/backends/postgresql/sqlalchemy.py +0 -19
  507. spinta-0.2.dev3/spinta/backends/postgresql/types/array/freeze.py +0 -77
  508. spinta-0.2.dev3/spinta/backends/postgresql/types/array/init.py +0 -54
  509. spinta-0.2.dev3/spinta/backends/postgresql/types/array/wipe.py +0 -13
  510. spinta-0.2.dev3/spinta/backends/postgresql/types/array/write.py +0 -147
  511. spinta-0.2.dev3/spinta/backends/postgresql/types/array_backref/init.py +0 -9
  512. spinta-0.2.dev3/spinta/backends/postgresql/types/external_ref/init.py +0 -62
  513. spinta-0.2.dev3/spinta/backends/postgresql/types/file/freeze.py +0 -100
  514. spinta-0.2.dev3/spinta/backends/postgresql/types/file/init.py +0 -57
  515. spinta-0.2.dev3/spinta/backends/postgresql/types/file/read.py +0 -86
  516. spinta-0.2.dev3/spinta/backends/postgresql/types/file/write.py +0 -145
  517. spinta-0.2.dev3/spinta/backends/postgresql/types/geometry/helpers.py +0 -48
  518. spinta-0.2.dev3/spinta/backends/postgresql/types/geometry/init.py +0 -43
  519. spinta-0.2.dev3/spinta/backends/postgresql/types/geometry/write.py +0 -23
  520. spinta-0.2.dev3/spinta/backends/postgresql/types/object/init.py +0 -18
  521. spinta-0.2.dev3/spinta/backends/postgresql/types/object/read.py +0 -70
  522. spinta-0.2.dev3/spinta/backends/postgresql/types/ref/freeze.py +0 -81
  523. spinta-0.2.dev3/spinta/backends/postgresql/types/ref/init.py +0 -67
  524. spinta-0.2.dev3/spinta/backends/postgresql/types/ref/validate.py +0 -30
  525. spinta-0.2.dev3/spinta/backends/postgresql/types/text/init.py +0 -16
  526. spinta-0.2.dev3/spinta/backends/postgresql/ufuncs/query/components.py +0 -322
  527. spinta-0.2.dev3/spinta/backends/postgresql/ufuncs/query/ufuncs.py +0 -1319
  528. spinta-0.2.dev3/spinta/backends/postgresql/ufuncs/result/components.py +0 -18
  529. spinta-0.2.dev3/spinta/backends/postgresql/ufuncs/result/ufuncs.py +0 -27
  530. spinta-0.2.dev3/spinta/cli/auth.py +0 -180
  531. spinta-0.2.dev3/spinta/cli/config.py +0 -39
  532. spinta-0.2.dev3/spinta/cli/data.py +0 -214
  533. spinta-0.2.dev3/spinta/cli/get.py +0 -34
  534. spinta-0.2.dev3/spinta/cli/helpers/auth.py +0 -28
  535. spinta-0.2.dev3/spinta/cli/helpers/data.py +0 -184
  536. spinta-0.2.dev3/spinta/cli/helpers/errors.py +0 -30
  537. spinta-0.2.dev3/spinta/cli/helpers/export/backends/postgresql/commands.py +0 -189
  538. spinta-0.2.dev3/spinta/cli/helpers/export/backends/postgresql/components.py +0 -67
  539. spinta-0.2.dev3/spinta/cli/helpers/export/backends/postgresql/helpers.py +0 -160
  540. spinta-0.2.dev3/spinta/cli/helpers/export/commands.py +0 -437
  541. spinta-0.2.dev3/spinta/cli/helpers/export/components.py +0 -71
  542. spinta-0.2.dev3/spinta/cli/helpers/export/helpers.py +0 -159
  543. spinta-0.2.dev3/spinta/cli/helpers/push/__init__.py +0 -73
  544. spinta-0.2.dev3/spinta/cli/helpers/push/components.py +0 -115
  545. spinta-0.2.dev3/spinta/cli/helpers/push/delete.py +0 -165
  546. spinta-0.2.dev3/spinta/cli/helpers/push/error.py +0 -196
  547. spinta-0.2.dev3/spinta/cli/helpers/push/read.py +0 -412
  548. spinta-0.2.dev3/spinta/cli/helpers/push/state.py +0 -257
  549. spinta-0.2.dev3/spinta/cli/helpers/push/sync.py +0 -343
  550. spinta-0.2.dev3/spinta/cli/helpers/push/utils.py +0 -190
  551. spinta-0.2.dev3/spinta/cli/helpers/push/write.py +0 -520
  552. spinta-0.2.dev3/spinta/cli/helpers/store.py +0 -176
  553. spinta-0.2.dev3/spinta/cli/helpers/upgrade/components.py +0 -51
  554. spinta-0.2.dev3/spinta/cli/helpers/upgrade/core.py +0 -143
  555. spinta-0.2.dev3/spinta/cli/helpers/upgrade/helpers.py +0 -29
  556. spinta-0.2.dev3/spinta/cli/helpers/upgrade/scripts/clients.py +0 -237
  557. spinta-0.2.dev3/spinta/cli/helpers/upgrade/scripts/deduplicate.py +0 -263
  558. spinta-0.2.dev3/spinta/cli/helpers/upgrade/scripts/redirect.py +0 -107
  559. spinta-0.2.dev3/spinta/cli/init.py +0 -22
  560. spinta-0.2.dev3/spinta/cli/inspect.py +0 -66
  561. spinta-0.2.dev3/spinta/cli/keymap.py +0 -129
  562. spinta-0.2.dev3/spinta/cli/main.py +0 -117
  563. spinta-0.2.dev3/spinta/cli/migrate.py +0 -113
  564. spinta-0.2.dev3/spinta/cli/pii.py +0 -258
  565. spinta-0.2.dev3/spinta/cli/pull.py +0 -113
  566. spinta-0.2.dev3/spinta/cli/push.py +0 -251
  567. spinta-0.2.dev3/spinta/cli/server.py +0 -60
  568. spinta-0.2.dev3/spinta/cli/show.py +0 -29
  569. spinta-0.2.dev3/spinta/cli/upgrade.py +0 -76
  570. spinta-0.2.dev3/spinta/client.py +0 -151
  571. spinta-0.2.dev3/spinta/commands/__init__.py +0 -1579
  572. spinta-0.2.dev3/spinta/commands/auth.py +0 -17
  573. spinta-0.2.dev3/spinta/commands/helpers.py +0 -71
  574. spinta-0.2.dev3/spinta/commands/read.py +0 -627
  575. spinta-0.2.dev3/spinta/commands/search.py +0 -93
  576. spinta-0.2.dev3/spinta/commands/version.py +0 -30
  577. spinta-0.2.dev3/spinta/commands/write.py +0 -1462
  578. spinta-0.2.dev3/spinta/compat.py +0 -107
  579. spinta-0.2.dev3/spinta/components.py +0 -1135
  580. spinta-0.2.dev3/spinta/config.py +0 -371
  581. spinta-0.2.dev3/spinta/core/access.py +0 -78
  582. spinta-0.2.dev3/spinta/core/config.py +0 -686
  583. spinta-0.2.dev3/spinta/core/context.py +0 -65
  584. spinta-0.2.dev3/spinta/core/enums.py +0 -194
  585. spinta-0.2.dev3/spinta/core/ufuncs.py +0 -332
  586. spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/csv/components.py +0 -11
  587. spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/json/components.py +0 -11
  588. spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/memory/components.py +0 -11
  589. spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/soap/commands/read.py +0 -49
  590. spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/soap/components.py +0 -16
  591. spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/xml/components.py +0 -11
  592. spinta-0.2.dev3/spinta/datasets/backends/dataframe/commands/read.py +0 -619
  593. spinta-0.2.dev3/spinta/datasets/backends/dataframe/components.py +0 -14
  594. spinta-0.2.dev3/spinta/datasets/backends/dataframe/ufuncs/components.py +0 -5
  595. spinta-0.2.dev3/spinta/datasets/backends/dataframe/ufuncs/query/components.py +0 -64
  596. spinta-0.2.dev3/spinta/datasets/backends/dataframe/ufuncs/query/ufuncs.py +0 -474
  597. spinta-0.2.dev3/spinta/datasets/backends/helpers.py +0 -188
  598. spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mariadb/components.py +0 -7
  599. spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mssql/components.py +0 -7
  600. spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mssql/helpers.py +0 -12
  601. spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mysql/components.py +0 -7
  602. spinta-0.2.dev3/spinta/datasets/backends/sql/backends/oracle/components.py +0 -7
  603. spinta-0.2.dev3/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/components.py +0 -9
  604. spinta-0.2.dev3/spinta/datasets/backends/sql/backends/postgresql/components.py +0 -7
  605. spinta-0.2.dev3/spinta/datasets/backends/sql/backends/sqlite/components.py +0 -7
  606. spinta-0.2.dev3/spinta/datasets/backends/sql/commands/cast.py +0 -238
  607. spinta-0.2.dev3/spinta/datasets/backends/sql/commands/load.py +0 -20
  608. spinta-0.2.dev3/spinta/datasets/backends/sql/commands/read.py +0 -130
  609. spinta-0.2.dev3/spinta/datasets/backends/sql/commands/wait.py +0 -26
  610. spinta-0.2.dev3/spinta/datasets/backends/sql/components.py +0 -62
  611. spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs/components.py +0 -34
  612. spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs/query/components.py +0 -211
  613. spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs/query/helpers.py +0 -78
  614. spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs/query/ufuncs.py +0 -962
  615. spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs/result/components.py +0 -18
  616. spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs/result/ufuncs.py +0 -68
  617. spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs/ufuncs.py +0 -41
  618. spinta-0.2.dev3/spinta/datasets/backends/sqldump/commands/inspect.py +0 -103
  619. spinta-0.2.dev3/spinta/datasets/backends/sqldump/commands/load.py +0 -18
  620. spinta-0.2.dev3/spinta/datasets/backends/sqldump/components.py +0 -25
  621. spinta-0.2.dev3/spinta/datasets/backends/sqldump/ufuncs/components.py +0 -20
  622. spinta-0.2.dev3/spinta/datasets/backends/sqldump/ufuncs/ufuncs.py +0 -27
  623. spinta-0.2.dev3/spinta/datasets/commands/check.py +0 -42
  624. spinta-0.2.dev3/spinta/datasets/commands/error.py +0 -25
  625. spinta-0.2.dev3/spinta/datasets/commands/link.py +0 -69
  626. spinta-0.2.dev3/spinta/datasets/commands/load.py +0 -151
  627. spinta-0.2.dev3/spinta/datasets/components.py +0 -243
  628. spinta-0.2.dev3/spinta/datasets/enums.py +0 -3
  629. spinta-0.2.dev3/spinta/datasets/helpers.py +0 -198
  630. spinta-0.2.dev3/spinta/datasets/inspect/commands/merge.py +0 -536
  631. spinta-0.2.dev3/spinta/datasets/inspect/helpers.py +0 -355
  632. spinta-0.2.dev3/spinta/datasets/keymaps/components.py +0 -30
  633. spinta-0.2.dev3/spinta/datasets/keymaps/sqlalchemy.py +0 -258
  634. spinta-0.2.dev3/spinta/datasets/keymaps/sync.py +0 -318
  635. spinta-0.2.dev3/spinta/datasets/utils.py +0 -71
  636. spinta-0.2.dev3/spinta/dimensions/comments/helpers.py +0 -30
  637. spinta-0.2.dev3/spinta/dimensions/enum/commands.py +0 -104
  638. spinta-0.2.dev3/spinta/dimensions/enum/components.py +0 -68
  639. spinta-0.2.dev3/spinta/dimensions/enum/helpers.py +0 -106
  640. spinta-0.2.dev3/spinta/dimensions/enum/ufuncs.py +0 -27
  641. spinta-0.2.dev3/spinta/dimensions/lang/components.py +0 -13
  642. spinta-0.2.dev3/spinta/dimensions/param/helpers.py +0 -62
  643. spinta-0.2.dev3/spinta/dimensions/param/ufuncs.py +0 -154
  644. spinta-0.2.dev3/spinta/dimensions/prefix/components.py +0 -28
  645. spinta-0.2.dev3/spinta/dimensions/prefix/helpers.py +0 -38
  646. spinta-0.2.dev3/spinta/dispatcher.py +0 -134
  647. spinta-0.2.dev3/spinta/exceptions.py +0 -1113
  648. spinta-0.2.dev3/spinta/fetcher.py +0 -47
  649. spinta-0.2.dev3/spinta/formats/ascii/commands.py +0 -76
  650. spinta-0.2.dev3/spinta/formats/ascii/components.py +0 -100
  651. spinta-0.2.dev3/spinta/formats/ascii/helpers.py +0 -213
  652. spinta-0.2.dev3/spinta/formats/csv/commands.py +0 -110
  653. spinta-0.2.dev3/spinta/formats/csv/components.py +0 -22
  654. spinta-0.2.dev3/spinta/formats/helpers.py +0 -239
  655. spinta-0.2.dev3/spinta/formats/html/commands.py +0 -942
  656. spinta-0.2.dev3/spinta/formats/html/components.py +0 -49
  657. spinta-0.2.dev3/spinta/formats/html/helpers.py +0 -277
  658. spinta-0.2.dev3/spinta/formats/json/commands.py +0 -89
  659. spinta-0.2.dev3/spinta/formats/json/components.py +0 -38
  660. spinta-0.2.dev3/spinta/formats/jsonlines/commands.py +0 -75
  661. spinta-0.2.dev3/spinta/formats/jsonlines/components.py +0 -31
  662. spinta-0.2.dev3/spinta/formats/rdf/commands.py +0 -1043
  663. spinta-0.2.dev3/spinta/formats/rdf/components.py +0 -11
  664. spinta-0.2.dev3/spinta/formats/xlsx/commands.py +0 -87
  665. spinta-0.2.dev3/spinta/formats/xlsx/components.py +0 -9
  666. spinta-0.2.dev3/spinta/hacks/spyna.py +0 -31
  667. spinta-0.2.dev3/spinta/hacks/urlparams.py +0 -37
  668. spinta-0.2.dev3/spinta/logging_config.py +0 -32
  669. spinta-0.2.dev3/spinta/manifests/backend/commands/bootstrap.py +0 -17
  670. spinta-0.2.dev3/spinta/manifests/backend/commands/load.py +0 -21
  671. spinta-0.2.dev3/spinta/manifests/backend/commands/migrate.py +0 -15
  672. spinta-0.2.dev3/spinta/manifests/backend/components.py +0 -5
  673. spinta-0.2.dev3/spinta/manifests/backend/helpers.py +0 -247
  674. spinta-0.2.dev3/spinta/manifests/commands/error.py +0 -42
  675. spinta-0.2.dev3/spinta/manifests/commands/init.py +0 -14
  676. spinta-0.2.dev3/spinta/manifests/commands/inspect.py +0 -38
  677. spinta-0.2.dev3/spinta/manifests/commands/migrate.py +0 -17
  678. spinta-0.2.dev3/spinta/manifests/commands/read.py +0 -190
  679. spinta-0.2.dev3/spinta/manifests/components.py +0 -109
  680. spinta-0.2.dev3/spinta/manifests/dict/commands/configure.py +0 -16
  681. spinta-0.2.dev3/spinta/manifests/dict/commands/load.py +0 -45
  682. spinta-0.2.dev3/spinta/manifests/dict/components.py +0 -33
  683. spinta-0.2.dev3/spinta/manifests/dict/helpers.py +0 -539
  684. spinta-0.2.dev3/spinta/manifests/helpers.py +0 -473
  685. spinta-0.2.dev3/spinta/manifests/internal/commands/configure.py +0 -11
  686. spinta-0.2.dev3/spinta/manifests/internal/commands/load.py +0 -59
  687. spinta-0.2.dev3/spinta/manifests/internal_sql/commands/auth.py +0 -125
  688. spinta-0.2.dev3/spinta/manifests/internal_sql/commands/bootstrap.py +0 -22
  689. spinta-0.2.dev3/spinta/manifests/internal_sql/commands/configure.py +0 -20
  690. spinta-0.2.dev3/spinta/manifests/internal_sql/commands/load.py +0 -80
  691. spinta-0.2.dev3/spinta/manifests/internal_sql/commands/manifest.py +0 -619
  692. spinta-0.2.dev3/spinta/manifests/internal_sql/commands/read.py +0 -143
  693. spinta-0.2.dev3/spinta/manifests/internal_sql/components.py +0 -99
  694. spinta-0.2.dev3/spinta/manifests/internal_sql/helpers.py +0 -1452
  695. spinta-0.2.dev3/spinta/manifests/memory/commands/configure.py +0 -10
  696. spinta-0.2.dev3/spinta/manifests/memory/commands/load.py +0 -33
  697. spinta-0.2.dev3/spinta/manifests/memory/components.py +0 -5
  698. spinta-0.2.dev3/spinta/manifests/mermaid/components.py +0 -9
  699. spinta-0.2.dev3/spinta/manifests/mermaid/helpers.py +0 -273
  700. spinta-0.2.dev3/spinta/manifests/open_api/commands/configure.py +0 -15
  701. spinta-0.2.dev3/spinta/manifests/open_api/commands/load.py +0 -48
  702. spinta-0.2.dev3/spinta/manifests/open_api/components.py +0 -10
  703. spinta-0.2.dev3/spinta/manifests/open_api/helpers.py +0 -112
  704. spinta-0.2.dev3/spinta/manifests/rdf/commands/bootstrap.py +0 -10
  705. spinta-0.2.dev3/spinta/manifests/rdf/commands/configure.py +0 -14
  706. spinta-0.2.dev3/spinta/manifests/rdf/commands/load.py +0 -45
  707. spinta-0.2.dev3/spinta/manifests/rdf/components.py +0 -10
  708. spinta-0.2.dev3/spinta/manifests/rdf/helpers.py +0 -497
  709. spinta-0.2.dev3/spinta/manifests/sql/commands/configure.py +0 -15
  710. spinta-0.2.dev3/spinta/manifests/sql/commands/load.py +0 -61
  711. spinta-0.2.dev3/spinta/manifests/sql/components.py +0 -24
  712. spinta-0.2.dev3/spinta/manifests/sql/helpers.py +0 -308
  713. spinta-0.2.dev3/spinta/manifests/tabular/commands/bootstrap.py +0 -11
  714. spinta-0.2.dev3/spinta/manifests/tabular/commands/configure.py +0 -24
  715. spinta-0.2.dev3/spinta/manifests/tabular/commands/load.py +0 -82
  716. spinta-0.2.dev3/spinta/manifests/tabular/components.py +0 -303
  717. spinta-0.2.dev3/spinta/manifests/tabular/constants.py +0 -39
  718. spinta-0.2.dev3/spinta/manifests/tabular/formats/gsheets.py +0 -41
  719. spinta-0.2.dev3/spinta/manifests/tabular/helpers.py +0 -2980
  720. spinta-0.2.dev3/spinta/manifests/xsd/commands/configure.py +0 -15
  721. spinta-0.2.dev3/spinta/manifests/xsd/commands/load.py +0 -61
  722. spinta-0.2.dev3/spinta/manifests/xsd/compare_xsd_to_dsa.py +0 -93
  723. spinta-0.2.dev3/spinta/manifests/xsd/components.py +0 -9
  724. spinta-0.2.dev3/spinta/manifests/xsd/download_xsd_rc.py +0 -71
  725. spinta-0.2.dev3/spinta/manifests/xsd/helpers.py +0 -1222
  726. spinta-0.2.dev3/spinta/manifests/xsd/tryout.py +0 -6
  727. spinta-0.2.dev3/spinta/manifests/xsd2/commands/configure.py +0 -15
  728. spinta-0.2.dev3/spinta/manifests/xsd2/commands/load.py +0 -61
  729. spinta-0.2.dev3/spinta/manifests/xsd2/components.py +0 -9
  730. spinta-0.2.dev3/spinta/manifests/xsd2/helpers.py +0 -1278
  731. spinta-0.2.dev3/spinta/manifests/yaml/commands/bootstrap.py +0 -11
  732. spinta-0.2.dev3/spinta/manifests/yaml/commands/configure.py +0 -28
  733. spinta-0.2.dev3/spinta/manifests/yaml/commands/freeze.py +0 -52
  734. spinta-0.2.dev3/spinta/manifests/yaml/commands/load.py +0 -117
  735. spinta-0.2.dev3/spinta/manifests/yaml/commands/migrate.py +0 -11
  736. spinta-0.2.dev3/spinta/manifests/yaml/components.py +0 -19
  737. spinta-0.2.dev3/spinta/manifests/yaml/helpers.py +0 -155
  738. spinta-0.2.dev3/spinta/middlewares.py +0 -31
  739. spinta-0.2.dev3/spinta/migrations/__init__.py +0 -32
  740. spinta-0.2.dev3/spinta/migrations/schema/alembic.py +0 -120
  741. spinta-0.2.dev3/spinta/naming/components.py +0 -11
  742. spinta-0.2.dev3/spinta/naming/helpers.py +0 -145
  743. spinta-0.2.dev3/spinta/naming/ufuncts.py +0 -36
  744. spinta-0.2.dev3/spinta/nodes.py +0 -248
  745. spinta-0.2.dev3/spinta/renderer.py +0 -31
  746. spinta-0.2.dev3/spinta/spyna.py +0 -359
  747. spinta-0.2.dev3/spinta/testing/__init__.py +0 -4
  748. spinta-0.2.dev3/spinta/testing/cli.py +0 -68
  749. spinta-0.2.dev3/spinta/testing/client.py +0 -348
  750. spinta-0.2.dev3/spinta/testing/config.py +0 -87
  751. spinta-0.2.dev3/spinta/testing/context.py +0 -107
  752. spinta-0.2.dev3/spinta/testing/csv.py +0 -11
  753. spinta-0.2.dev3/spinta/testing/data.py +0 -284
  754. spinta-0.2.dev3/spinta/testing/datasets.py +0 -59
  755. spinta-0.2.dev3/spinta/testing/dtypes.py +0 -215
  756. spinta-0.2.dev3/spinta/testing/push.py +0 -25
  757. spinta-0.2.dev3/spinta/testing/pytest.py +0 -279
  758. spinta-0.2.dev3/spinta/testing/request.py +0 -100
  759. spinta-0.2.dev3/spinta/testing/types/geometry.py +0 -46
  760. spinta-0.2.dev3/spinta/testing/ufuncs.py +0 -32
  761. spinta-0.2.dev3/spinta/testing/utils.py +0 -174
  762. spinta-0.2.dev3/spinta/types/array/check.py +0 -54
  763. spinta-0.2.dev3/spinta/types/array/link.py +0 -92
  764. spinta-0.2.dev3/spinta/types/backref/link.py +0 -111
  765. spinta-0.2.dev3/spinta/types/command.py +0 -35
  766. spinta-0.2.dev3/spinta/types/config.py +0 -112
  767. spinta-0.2.dev3/spinta/types/datatype.py +0 -629
  768. spinta-0.2.dev3/spinta/types/denorm/check.py +0 -13
  769. spinta-0.2.dev3/spinta/types/denorm/link.py +0 -59
  770. spinta-0.2.dev3/spinta/types/file/decode.py +0 -31
  771. spinta-0.2.dev3/spinta/types/file/helpers.py +0 -38
  772. spinta-0.2.dev3/spinta/types/geometry/components.py +0 -14
  773. spinta-0.2.dev3/spinta/types/geometry/constants.py +0 -4
  774. spinta-0.2.dev3/spinta/types/geometry/helpers.py +0 -43
  775. spinta-0.2.dev3/spinta/types/geometry/load.py +0 -70
  776. spinta-0.2.dev3/spinta/types/helpers.py +0 -80
  777. spinta-0.2.dev3/spinta/types/model.py +0 -647
  778. spinta-0.2.dev3/spinta/types/namespace.py +0 -366
  779. spinta-0.2.dev3/spinta/types/partial/link.py +0 -49
  780. spinta-0.2.dev3/spinta/types/ref/check.py +0 -20
  781. spinta-0.2.dev3/spinta/types/ref/link.py +0 -49
  782. spinta-0.2.dev3/spinta/types/store.py +0 -153
  783. spinta-0.2.dev3/spinta/types/text/components.py +0 -15
  784. spinta-0.2.dev3/spinta/types/text/load.py +0 -25
  785. spinta-0.2.dev3/spinta/typing.py +0 -19
  786. spinta-0.2.dev3/spinta/ufuncs/changebase/components.py +0 -11
  787. spinta-0.2.dev3/spinta/ufuncs/changebase/helpers.py +0 -52
  788. spinta-0.2.dev3/spinta/ufuncs/changebase/ufuncs.py +0 -36
  789. spinta-0.2.dev3/spinta/ufuncs/common.py +0 -48
  790. spinta-0.2.dev3/spinta/ufuncs/components.py +0 -181
  791. spinta-0.2.dev3/spinta/ufuncs/helpers.py +0 -19
  792. spinta-0.2.dev3/spinta/ufuncs/linkbuilder/ufuncs.py +0 -59
  793. spinta-0.2.dev3/spinta/ufuncs/loadbuilder/components.py +0 -83
  794. spinta-0.2.dev3/spinta/ufuncs/loadbuilder/helpers.py +0 -25
  795. spinta-0.2.dev3/spinta/ufuncs/loadbuilder/ufuncs.py +0 -63
  796. spinta-0.2.dev3/spinta/ufuncs/propertyresolver/components.py +0 -20
  797. spinta-0.2.dev3/spinta/ufuncs/propertyresolver/ufuncs.py +0 -329
  798. spinta-0.2.dev3/spinta/ufuncs/querybuilder/components.py +0 -185
  799. spinta-0.2.dev3/spinta/ufuncs/querybuilder/helpers.py +0 -229
  800. spinta-0.2.dev3/spinta/ufuncs/querybuilder/ufuncs.py +0 -537
  801. spinta-0.2.dev3/spinta/ufuncs/requestparamsbuilder/components.py +0 -18
  802. spinta-0.2.dev3/spinta/ufuncs/requestparamsbuilder/ufuncs.py +0 -169
  803. spinta-0.2.dev3/spinta/ufuncs/resultbuilder/components.py +0 -27
  804. spinta-0.2.dev3/spinta/ufuncs/resultbuilder/helpers.py +0 -184
  805. spinta-0.2.dev3/spinta/ufuncs/resultbuilder/ufuncs.py +0 -58
  806. spinta-0.2.dev3/spinta/ufuncs/summaryenv/components.py +0 -29
  807. spinta-0.2.dev3/spinta/ufuncs/summaryenv/ufuncs.py +0 -37
  808. spinta-0.2.dev3/spinta/units/helpers.py +0 -171
  809. spinta-0.2.dev3/spinta/urlparams.py +0 -500
  810. spinta-0.2.dev3/spinta/utils/__init__.py +0 -2
  811. spinta-0.2.dev3/spinta/utils/aiotools.py +0 -90
  812. spinta-0.2.dev3/spinta/utils/changes.py +0 -13
  813. spinta-0.2.dev3/spinta/utils/config.py +0 -48
  814. spinta-0.2.dev3/spinta/utils/data.py +0 -91
  815. spinta-0.2.dev3/spinta/utils/encoding.py +0 -15
  816. spinta-0.2.dev3/spinta/utils/enums.py +0 -45
  817. spinta-0.2.dev3/spinta/utils/errors.py +0 -23
  818. spinta-0.2.dev3/spinta/utils/functools.py +0 -7
  819. spinta-0.2.dev3/spinta/utils/idgen.py +0 -9
  820. spinta-0.2.dev3/spinta/utils/imports.py +0 -25
  821. spinta-0.2.dev3/spinta/utils/itertools.py +0 -119
  822. spinta-0.2.dev3/spinta/utils/json.py +0 -31
  823. spinta-0.2.dev3/spinta/utils/naming.py +0 -67
  824. spinta-0.2.dev3/spinta/utils/nestedstruct.py +0 -285
  825. spinta-0.2.dev3/spinta/utils/nin.py +0 -85
  826. spinta-0.2.dev3/spinta/utils/passwords.py +0 -52
  827. spinta-0.2.dev3/spinta/utils/path.py +0 -33
  828. spinta-0.2.dev3/spinta/utils/response.py +0 -334
  829. spinta-0.2.dev3/spinta/utils/schema.py +0 -97
  830. spinta-0.2.dev3/spinta/utils/scopes.py +0 -30
  831. spinta-0.2.dev3/spinta/utils/sqlalchemy.py +0 -56
  832. spinta-0.2.dev3/spinta/utils/sqlite.py +0 -163
  833. spinta-0.2.dev3/spinta/utils/starlette.py +0 -19
  834. spinta-0.2.dev3/spinta/utils/streams.py +0 -27
  835. spinta-0.2.dev3/spinta/utils/tree.py +0 -27
  836. spinta-0.2.dev3/spinta/utils/types.py +0 -18
  837. spinta-0.2.dev3/spinta/utils/units.py +0 -42
  838. spinta-0.2.dev3/spinta/utils/url.py +0 -121
  839. {spinta-0.2.dev3 → spinta-0.2.dev5}/LICENSE +0 -0
  840. {spinta-0.2.dev3 → spinta-0.2.dev5}/README.rst +0 -0
  841. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/__main__.py +0 -0
  842. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/fs/__init__.py +0 -0
  843. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/fs/commands/__init__.py +0 -0
  844. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/fs/commands/bootstrap.py +0 -0
  845. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/fs/commands/changes.py +0 -0
  846. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/fs/commands/migrate.py +0 -0
  847. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/fs/commands/wait.py +0 -0
  848. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/__init__.py +0 -0
  849. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/__init__.py +0 -0
  850. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/auth.py +0 -0
  851. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/bootstrap.py +0 -0
  852. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/changes.py +0 -0
  853. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/check.py +0 -0
  854. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/encode.py +0 -0
  855. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/init.py +0 -0
  856. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/load.py +0 -0
  857. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/manifest.py +0 -0
  858. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/wait.py +0 -0
  859. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/wipe.py +0 -0
  860. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/memory/commands/write.py +0 -0
  861. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/__init__.py +0 -0
  862. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/commands/__init__.py +0 -0
  863. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/commands/bootstrap.py +0 -0
  864. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/commands/freeze.py +0 -0
  865. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/commands/init.py +0 -0
  866. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/commands/migrate.py +0 -0
  867. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/commands/wait.py +0 -0
  868. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/types/__init__.py +0 -0
  869. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/types/array/__init__.py +0 -0
  870. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/types/array/write.py +0 -0
  871. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/types/file/__init__.py +0 -0
  872. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/types/object/__init__.py +0 -0
  873. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/types/object/write.py +0 -0
  874. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/mongo/ufuncs/__init__.py +0 -0
  875. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/__init__.py +0 -0
  876. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/commands/__init__.py +0 -0
  877. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/commands/bootstrap.py +0 -0
  878. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/commands/changes.py +0 -0
  879. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/commands/init.py +0 -0
  880. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/commands/load.py +0 -0
  881. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/commands/wait.py +0 -0
  882. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/commands/wipe.py +0 -0
  883. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/nobackend/commands/write.py +0 -0
  884. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/__init__.py +0 -0
  885. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/commands/__init__.py +0 -0
  886. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/commands/encode.py +0 -0
  887. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/commands/link.py +0 -0
  888. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/commands/manifest.py +0 -0
  889. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/commands/migrate/__init__.py +0 -0
  890. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/commands/migrate/types/__init__.py +0 -0
  891. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/commands/validate.py +0 -0
  892. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/helpers/manifest.py +0 -0
  893. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/helpers/migrate/__init__.py +0 -0
  894. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/__init__.py +0 -0
  895. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/array/__init__.py +0 -0
  896. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/array_backref/__init__.py +0 -0
  897. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/backref/__init__.py +0 -0
  898. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/backref/init.py +0 -0
  899. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/denorm/init.py +0 -0
  900. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/file/__init__.py +0 -0
  901. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/geometry/__init__.py +0 -0
  902. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/geometry/encode.py +0 -0
  903. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/object/__init__.py +0 -0
  904. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/object/freeze.py +0 -0
  905. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/object/wipe.py +0 -0
  906. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/ref/__init__.py +0 -0
  907. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/types/text/__init__.py +0 -0
  908. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/ufuncs/__init__.py +0 -0
  909. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/ufuncs/components.py +0 -0
  910. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/ufuncs/query/__init__.py +0 -0
  911. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/ufuncs/result/__init__.py +0 -0
  912. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/postgresql/ufuncs/ufuncs.py +0 -0
  913. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/backends/types/__init__.py +0 -0
  914. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/cli/__init__.py +0 -0
  915. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/cli/helpers/__init__.py +0 -0
  916. {spinta-0.2.dev3/spinta/cli/helpers/export → spinta-0.2.dev5/spinta/cli/helpers/admin}/__init__.py +0 -0
  917. {spinta-0.2.dev3/spinta/cli/helpers/export/backends → spinta-0.2.dev5/spinta/cli/helpers/admin/scripts}/__init__.py +0 -0
  918. {spinta-0.2.dev3/spinta/cli/helpers/export/backends/postgresql → spinta-0.2.dev5/spinta/cli/helpers/export}/__init__.py +0 -0
  919. {spinta-0.2.dev3/spinta/cli/helpers/upgrade → spinta-0.2.dev5/spinta/cli/helpers/export/backends}/__init__.py +0 -0
  920. {spinta-0.2.dev3/spinta/cli/helpers/upgrade/scripts → spinta-0.2.dev5/spinta/cli/helpers/export/backends/postgresql}/__init__.py +0 -0
  921. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/cli/helpers/manifest.py +0 -0
  922. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/cli/helpers/migrate.py +0 -0
  923. {spinta-0.2.dev3/spinta/core → spinta-0.2.dev5/spinta/cli/helpers/script}/__init__.py +0 -0
  924. {spinta-0.2.dev3/spinta/datasets → spinta-0.2.dev5/spinta/cli/helpers/sync/controllers}/__init__.py +0 -0
  925. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/cli/helpers/typer.py +0 -0
  926. {spinta-0.2.dev3/spinta/datasets/backends → spinta-0.2.dev5/spinta/cli/helpers/upgrade}/__init__.py +0 -0
  927. {spinta-0.2.dev3/spinta/datasets/backends/dataframe → spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts}/__init__.py +0 -0
  928. {spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends → spinta-0.2.dev5/spinta/cli/helpers/upgrade/scripts/keymaps}/__init__.py +0 -0
  929. {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
  930. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/cli/manifest.py +0 -0
  931. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/config.yml +0 -0
  932. {spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/json → spinta-0.2.dev5/spinta/core}/__init__.py +0 -0
  933. {spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/memory → spinta-0.2.dev5/spinta/datasets}/__init__.py +0 -0
  934. {spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/soap → spinta-0.2.dev5/spinta/datasets/backends}/__init__.py +0 -0
  935. {spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/soap/commands → spinta-0.2.dev5/spinta/datasets/backends/dataframe}/__init__.py +0 -0
  936. {spinta-0.2.dev3/spinta/datasets/backends/dataframe/backends/xml → spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends}/__init__.py +0 -0
  937. {spinta-0.2.dev3/spinta/datasets/backends/dataframe/commands → spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/csv}/__init__.py +0 -0
  938. {spinta-0.2.dev3/spinta/datasets/backends/dataframe/ufuncs → spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/json}/__init__.py +0 -0
  939. {spinta-0.2.dev3/spinta/datasets/backends/dataframe/ufuncs/query → spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/memory}/__init__.py +0 -0
  940. {spinta-0.2.dev3/spinta/datasets/backends/notimpl → spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/soap}/__init__.py +0 -0
  941. {spinta-0.2.dev3/spinta/datasets/backends/notimpl → spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/soap}/commands/__init__.py +0 -0
  942. {spinta-0.2.dev3/spinta/datasets/backends/sql → spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/soap/ufuncs}/__init__.py +0 -0
  943. {spinta-0.2.dev3/spinta/datasets/backends/sql/backends → spinta-0.2.dev5/spinta/datasets/backends/dataframe/backends/xml}/__init__.py +0 -0
  944. {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mariadb → spinta-0.2.dev5/spinta/datasets/backends/dataframe/commands}/__init__.py +0 -0
  945. {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mariadb → spinta-0.2.dev5/spinta/datasets/backends/dataframe}/ufuncs/__init__.py +0 -0
  946. {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mariadb → spinta-0.2.dev5/spinta/datasets/backends/dataframe}/ufuncs/query/__init__.py +0 -0
  947. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/dataframe/ufuncs/ufuncs.py +0 -0
  948. {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mssql → spinta-0.2.dev5/spinta/datasets/backends/notimpl}/__init__.py +0 -0
  949. {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mssql/ufuncs → spinta-0.2.dev5/spinta/datasets/backends/notimpl/commands}/__init__.py +0 -0
  950. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/notimpl/commands/load.py +0 -0
  951. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/notimpl/commands/wait.py +0 -0
  952. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/notimpl/components.py +0 -0
  953. {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mssql/ufuncs/query → spinta-0.2.dev5/spinta/datasets/backends/sql}/__init__.py +0 -0
  954. {spinta-0.2.dev3/spinta/datasets/backends/sql/backends/mysql → spinta-0.2.dev5/spinta/datasets/backends/sql/backends}/__init__.py +0 -0
  955. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/helpers.py +0 -0
  956. {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
  957. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/mariadb/helpers.py +0 -0
  958. {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
  959. {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
  960. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query/components.py +0 -0
  961. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query/ufuncs.py +0 -0
  962. {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
  963. {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
  964. {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
  965. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/mssql/ufuncs/query/components.py +0 -0
  966. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/mssql/ufuncs/query/ufuncs.py +0 -0
  967. {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
  968. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/mysql/helpers.py +0 -0
  969. {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
  970. {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
  971. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/mysql/ufuncs/query/components.py +0 -0
  972. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/mysql/ufuncs/query/ufuncs.py +0 -0
  973. {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
  974. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/oracle/helpers.py +0 -0
  975. {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
  976. {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
  977. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/ufuncs.py +0 -0
  978. {spinta-0.2.dev3/spinta/datasets/backends/sql/ufuncs → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/postgresql}/__init__.py +0 -0
  979. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/postgresql/helpers.py +0 -0
  980. {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
  981. {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
  982. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query/components.py +0 -0
  983. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query/ufuncs.py +0 -0
  984. {spinta-0.2.dev3/spinta/datasets/backends/sqldump → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/sqlite}/__init__.py +0 -0
  985. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/sqlite/helpers.py +0 -0
  986. {spinta-0.2.dev3/spinta/datasets/backends/sqldump/commands → spinta-0.2.dev5/spinta/datasets/backends/sql/backends/sqlite/ufuncs}/__init__.py +0 -0
  987. {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
  988. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query/components.py +0 -0
  989. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query/ufuncs.py +0 -0
  990. {spinta-0.2.dev3/spinta/datasets/backends/wsdl → spinta-0.2.dev5/spinta/datasets/backends/sql/commands}/__init__.py +0 -0
  991. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/commands/bootstrap.py +0 -0
  992. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/commands/column.py +0 -0
  993. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/commands/init.py +0 -0
  994. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sql/helpers.py +0 -0
  995. {spinta-0.2.dev3/spinta/datasets/backends/wsdl/commads → spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs}/__init__.py +0 -0
  996. {spinta-0.2.dev3/spinta/datasets/commands → spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/query}/__init__.py +0 -0
  997. {spinta-0.2.dev3/spinta/datasets/inspect → spinta-0.2.dev5/spinta/datasets/backends/sql/ufuncs/result}/__init__.py +0 -0
  998. {spinta-0.2.dev3/spinta/datasets/inspect/commands → spinta-0.2.dev5/spinta/datasets/backends/sqldump}/__init__.py +0 -0
  999. {spinta-0.2.dev3/spinta/datasets/keymaps → spinta-0.2.dev5/spinta/datasets/backends/sqldump/commands}/__init__.py +0 -0
  1000. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/sqldump/commands/wait.py +0 -0
  1001. {spinta-0.2.dev3/spinta/dimensions → spinta-0.2.dev5/spinta/datasets/backends/sqldump/ufuncs}/__init__.py +0 -0
  1002. {spinta-0.2.dev3/spinta/dimensions/comments → spinta-0.2.dev5/spinta/datasets/backends/wsdl}/__init__.py +0 -0
  1003. {spinta-0.2.dev3/spinta/dimensions/enum → spinta-0.2.dev5/spinta/datasets/backends/wsdl/commads}/__init__.py +0 -0
  1004. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/wsdl/commads/read.py +0 -0
  1005. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/backends/wsdl/components.py +0 -0
  1006. {spinta-0.2.dev3/spinta/dimensions/lang → spinta-0.2.dev5/spinta/datasets/commands}/__init__.py +0 -0
  1007. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/commands/inspect.py +0 -0
  1008. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/commands/wipe.py +0 -0
  1009. {spinta-0.2.dev3/spinta/dimensions/param → spinta-0.2.dev5/spinta/datasets/inspect}/__init__.py +0 -0
  1010. {spinta-0.2.dev3/spinta/dimensions/prefix → spinta-0.2.dev5/spinta/datasets/inspect/commands}/__init__.py +0 -0
  1011. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/inspect/commands/manifest.py +0 -0
  1012. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/datasets/inspect/components.py +0 -0
  1013. {spinta-0.2.dev3/spinta/dimensions/prefix/commands → spinta-0.2.dev5/spinta/datasets/keymaps}/__init__.py +0 -0
  1014. {spinta-0.2.dev3/spinta/formats → spinta-0.2.dev5/spinta/dimensions}/__init__.py +0 -0
  1015. {spinta-0.2.dev3/spinta/formats/ascii → spinta-0.2.dev5/spinta/dimensions/comments}/__init__.py +0 -0
  1016. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/dimensions/comments/components.py +0 -0
  1017. {spinta-0.2.dev3/spinta/formats/csv → spinta-0.2.dev5/spinta/dimensions/enum}/__init__.py +0 -0
  1018. {spinta-0.2.dev3/spinta/formats/html → spinta-0.2.dev5/spinta/dimensions/lang}/__init__.py +0 -0
  1019. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/dimensions/lang/helpers.py +0 -0
  1020. {spinta-0.2.dev3/spinta/formats/json → spinta-0.2.dev5/spinta/dimensions/param}/__init__.py +0 -0
  1021. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/dimensions/param/components.py +0 -0
  1022. {spinta-0.2.dev3/spinta/formats/jsonlines → spinta-0.2.dev5/spinta/dimensions/prefix}/__init__.py +0 -0
  1023. {spinta-0.2.dev3/spinta/formats/xlsx → spinta-0.2.dev5/spinta/dimensions/prefix/commands}/__init__.py +0 -0
  1024. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/dimensions/prefix/commands/load.py +0 -0
  1025. {spinta-0.2.dev3/spinta/hacks → spinta-0.2.dev5/spinta/formats}/__init__.py +0 -0
  1026. {spinta-0.2.dev3/spinta/manifests → spinta-0.2.dev5/spinta/formats/ascii}/__init__.py +0 -0
  1027. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/formats/components.py +0 -0
  1028. {spinta-0.2.dev3/spinta/manifests/backend → spinta-0.2.dev5/spinta/formats/csv}/__init__.py +0 -0
  1029. {spinta-0.2.dev3/spinta/manifests/backend/commands → spinta-0.2.dev5/spinta/formats/html}/__init__.py +0 -0
  1030. {spinta-0.2.dev3/spinta/manifests/commands → spinta-0.2.dev5/spinta/formats/json}/__init__.py +0 -0
  1031. {spinta-0.2.dev3/spinta/manifests/dict → spinta-0.2.dev5/spinta/formats/jsonlines}/__init__.py +0 -0
  1032. {spinta-0.2.dev3/spinta/manifests/dict/commands → spinta-0.2.dev5/spinta/formats/xlsx}/__init__.py +0 -0
  1033. {spinta-0.2.dev3/spinta/manifests/internal → spinta-0.2.dev5/spinta/hacks}/__init__.py +0 -0
  1034. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifest/_ns.yml +0 -0
  1035. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifest/_schema/version.yml +0 -0
  1036. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifest/_schema.yml +0 -0
  1037. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifest/_txn.yml +0 -0
  1038. {spinta-0.2.dev3/spinta/manifests/internal/commands → spinta-0.2.dev5/spinta/manifests}/__init__.py +0 -0
  1039. {spinta-0.2.dev3/spinta/manifests/internal_sql → spinta-0.2.dev5/spinta/manifests/backend}/__init__.py +0 -0
  1040. {spinta-0.2.dev3/spinta/manifests/internal_sql → spinta-0.2.dev5/spinta/manifests/backend}/commands/__init__.py +0 -0
  1041. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/backend/commands/configure.py +0 -0
  1042. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/backend/commands/freeze.py +0 -0
  1043. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/backend/commands/manifest.py +0 -0
  1044. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/backend/commands/sync.py +0 -0
  1045. {spinta-0.2.dev3/spinta/manifests/memory → spinta-0.2.dev5/spinta/manifests/commands}/__init__.py +0 -0
  1046. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/commands/auth.py +0 -0
  1047. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/commands/check.py +0 -0
  1048. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/commands/link.py +0 -0
  1049. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/commands/load.py +0 -0
  1050. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/commands/manifest.py +0 -0
  1051. {spinta-0.2.dev3/spinta/manifests/memory/commands → spinta-0.2.dev5/spinta/manifests/dict}/__init__.py +0 -0
  1052. {spinta-0.2.dev3/spinta/manifests/mermaid → spinta-0.2.dev5/spinta/manifests/dict/commands}/__init__.py +0 -0
  1053. {spinta-0.2.dev3/spinta/manifests/open_api → spinta-0.2.dev5/spinta/manifests/internal}/__init__.py +0 -0
  1054. {spinta-0.2.dev3/spinta/manifests/open_api → spinta-0.2.dev5/spinta/manifests/internal}/commands/__init__.py +0 -0
  1055. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/internal/components.py +0 -0
  1056. {spinta-0.2.dev3/spinta/manifests/sql → spinta-0.2.dev5/spinta/manifests/internal_sql}/__init__.py +0 -0
  1057. {spinta-0.2.dev3/spinta/manifests/sql → spinta-0.2.dev5/spinta/manifests/internal_sql}/commands/__init__.py +0 -0
  1058. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/internal_sql/commands/backend.py +0 -0
  1059. {spinta-0.2.dev3/spinta/manifests/tabular → spinta-0.2.dev5/spinta/manifests/memory}/__init__.py +0 -0
  1060. {spinta-0.2.dev3/spinta/manifests/tabular → spinta-0.2.dev5/spinta/manifests/memory}/commands/__init__.py +0 -0
  1061. {spinta-0.2.dev3/spinta/manifests/tabular/formats → spinta-0.2.dev5/spinta/manifests/mermaid}/__init__.py +0 -0
  1062. {spinta-0.2.dev3/spinta/manifests/xsd → spinta-0.2.dev5/spinta/manifests/open_api}/__init__.py +0 -0
  1063. {spinta-0.2.dev3/spinta/manifests/xsd → spinta-0.2.dev5/spinta/manifests/open_api}/commands/__init__.py +0 -0
  1064. {spinta-0.2.dev3/spinta/manifests/xsd2 → spinta-0.2.dev5/spinta/manifests/sql}/__init__.py +0 -0
  1065. {spinta-0.2.dev3/spinta/manifests/xsd2 → spinta-0.2.dev5/spinta/manifests/sql}/commands/__init__.py +0 -0
  1066. {spinta-0.2.dev3/spinta/manifests/yaml → spinta-0.2.dev5/spinta/manifests/tabular}/__init__.py +0 -0
  1067. {spinta-0.2.dev3/spinta/manifests/yaml → spinta-0.2.dev5/spinta/manifests/tabular}/commands/__init__.py +0 -0
  1068. {spinta-0.2.dev3/spinta/migrations/schema → spinta-0.2.dev5/spinta/manifests/tabular/formats}/__init__.py +0 -0
  1069. {spinta-0.2.dev3/spinta/naming → spinta-0.2.dev5/spinta/manifests/xsd}/__init__.py +0 -0
  1070. {spinta-0.2.dev3/spinta/testing/types → spinta-0.2.dev5/spinta/manifests/xsd/commands}/__init__.py +0 -0
  1071. {spinta-0.2.dev3/spinta/types → spinta-0.2.dev5/spinta/manifests/xsd2}/__init__.py +0 -0
  1072. {spinta-0.2.dev3/spinta/types/array → spinta-0.2.dev5/spinta/manifests/xsd2/commands}/__init__.py +0 -0
  1073. {spinta-0.2.dev3/spinta/types/backref → spinta-0.2.dev5/spinta/manifests/yaml}/__init__.py +0 -0
  1074. {spinta-0.2.dev3/spinta/types/denorm → spinta-0.2.dev5/spinta/manifests/yaml/commands}/__init__.py +0 -0
  1075. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/yaml/commands/manifest.py +0 -0
  1076. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/manifests/yaml/commands/sync.py +0 -0
  1077. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/methods.py +0 -0
  1078. {spinta-0.2.dev3/spinta/types/file → spinta-0.2.dev5/spinta/migrations/schema}/__init__.py +0 -0
  1079. {spinta-0.2.dev3/spinta/types/geometry → spinta-0.2.dev5/spinta/naming}/__init__.py +0 -0
  1080. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/templates/base.html +0 -0
  1081. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/templates/data.html +0 -0
  1082. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/templates/error.html +0 -0
  1083. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/templates/form.html +0 -0
  1084. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/testing/manifest.py +0 -0
  1085. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/testing/tabular.py +0 -0
  1086. {spinta-0.2.dev3/spinta/types/inherit → spinta-0.2.dev5/spinta/testing/types}/__init__.py +0 -0
  1087. {spinta-0.2.dev3/spinta/types/object → spinta-0.2.dev5/spinta/types}/__init__.py +0 -0
  1088. {spinta-0.2.dev3/spinta/types/partial → spinta-0.2.dev5/spinta/types/array}/__init__.py +0 -0
  1089. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/types/array/resolve.py +0 -0
  1090. {spinta-0.2.dev3/spinta/types/ref → spinta-0.2.dev5/spinta/types/backref}/__init__.py +0 -0
  1091. {spinta-0.2.dev3/spinta/types/text → spinta-0.2.dev5/spinta/types/denorm}/__init__.py +0 -0
  1092. {spinta-0.2.dev3/spinta/ufuncs → spinta-0.2.dev5/spinta/types/file}/__init__.py +0 -0
  1093. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/types/file/components.py +0 -0
  1094. {spinta-0.2.dev3/spinta/ufuncs/changebase → spinta-0.2.dev5/spinta/types/geometry}/__init__.py +0 -0
  1095. {spinta-0.2.dev3/spinta/ufuncs/linkbuilder → spinta-0.2.dev5/spinta/types/inherit}/__init__.py +0 -0
  1096. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/types/inherit/check.py +0 -0
  1097. {spinta-0.2.dev3/spinta/ufuncs/loadbuilder → spinta-0.2.dev5/spinta/types/object}/__init__.py +0 -0
  1098. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/types/object/check.py +0 -0
  1099. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/types/object/link.py +0 -0
  1100. {spinta-0.2.dev3/spinta/ufuncs/propertyresolver → spinta-0.2.dev5/spinta/types/partial}/__init__.py +0 -0
  1101. {spinta-0.2.dev3/spinta/ufuncs/querybuilder → spinta-0.2.dev5/spinta/types/ref}/__init__.py +0 -0
  1102. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/types/ref/resolve.py +0 -0
  1103. {spinta-0.2.dev3/spinta/ufuncs/requestparamsbuilder → spinta-0.2.dev5/spinta/types/text}/__init__.py +0 -0
  1104. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/types/text/check.py +0 -0
  1105. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/types/text/helpers.py +0 -0
  1106. {spinta-0.2.dev3/spinta/ufuncs/resultbuilder → spinta-0.2.dev5/spinta/ufuncs}/__init__.py +0 -0
  1107. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/ufuncs/binds.py +0 -0
  1108. {spinta-0.2.dev3/spinta/ufuncs/summaryenv → spinta-0.2.dev5/spinta/ufuncs/changebase}/__init__.py +0 -0
  1109. {spinta-0.2.dev3/spinta/units → spinta-0.2.dev5/spinta/ufuncs/linkbuilder}/__init__.py +0 -0
  1110. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/ufuncs/linkbuilder/components.py +0 -0
  1111. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/ufuncs/requestparamsbuilder/helpers.py +0 -0
  1112. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/units/components.py +0 -0
  1113. {spinta-0.2.dev3 → spinta-0.2.dev5}/spinta/utils/refs.py +0 -0
@@ -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,9 @@
1
+ import importlib.metadata
2
+
3
+ from .logging_config import setup_logging
4
+
5
+ __version__ = importlib.metadata.version(__name__)
6
+
7
+
8
+ # Call the setup function to configure logging globally when the package is imported
9
+ setup_logging()
@@ -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)