spinta 0.2.dev10__tar.gz → 0.2.dev11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (730) hide show
  1. {spinta-0.2.dev10 → spinta-0.2.dev11}/PKG-INFO +1 -1
  2. {spinta-0.2.dev10 → spinta-0.2.dev11}/pyproject.toml +1 -1
  3. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/auth.py +18 -0
  4. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/init.py +2 -1
  5. spinta-0.2.dev11/spinta/backends/postgresql/helpers/type.py +13 -0
  6. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/validate.py +1 -2
  7. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/array/init.py +3 -0
  8. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/array_backref/init.py +2 -0
  9. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/backref/init.py +2 -0
  10. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/denorm/init.py +2 -0
  11. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/external_ref/init.py +2 -0
  12. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/file/init.py +2 -0
  13. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/geometry/init.py +2 -1
  14. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/object/init.py +2 -0
  15. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/ref/init.py +2 -0
  16. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/text/init.py +2 -0
  17. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/client.py +3 -0
  18. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/config.yml +21 -0
  19. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/core/config.py +0 -2
  20. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/commands/column.py +2 -2
  21. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/components.py +7 -1
  22. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/query/ufuncs.py +3 -2
  23. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/components.py +4 -0
  24. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/helpers.py +1 -1
  25. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/inspect/helpers.py +11 -7
  26. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/exceptions.py +32 -0
  27. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/check.py +9 -0
  28. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/sql/helpers.py +187 -76
  29. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/config.py +1 -1
  30. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/model.py +91 -2
  31. {spinta-0.2.dev10 → spinta-0.2.dev11}/LICENSE +0 -0
  32. {spinta-0.2.dev10 → spinta-0.2.dev11}/README.rst +0 -0
  33. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/__init__.py +0 -0
  34. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/__main__.py +0 -0
  35. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/accesslog/__init__.py +0 -0
  36. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/accesslog/file.py +0 -0
  37. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/accesslog/python.py +0 -0
  38. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/api/__init__.py +0 -0
  39. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/api/inspect.py +0 -0
  40. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/api/schema.py +0 -0
  41. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/api/validators.py +0 -0
  42. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/asgi.py +0 -0
  43. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/__init__.py +0 -0
  44. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/components.py +0 -0
  45. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/constants.py +0 -0
  46. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/__init__.py +0 -0
  47. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/__init__.py +0 -0
  48. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/bootstrap.py +0 -0
  49. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/changes.py +0 -0
  50. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/decode.py +0 -0
  51. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/encode.py +0 -0
  52. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/init.py +0 -0
  53. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/load.py +0 -0
  54. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/migrate.py +0 -0
  55. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/read.py +0 -0
  56. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/validate.py +0 -0
  57. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/wait.py +0 -0
  58. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/wipe.py +0 -0
  59. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/commands/write.py +0 -0
  60. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/fs/components.py +0 -0
  61. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/helpers.py +0 -0
  62. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/__init__.py +0 -0
  63. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/__init__.py +0 -0
  64. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/auth.py +0 -0
  65. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/bootstrap.py +0 -0
  66. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/changes.py +0 -0
  67. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/check.py +0 -0
  68. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/encode.py +0 -0
  69. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/init.py +0 -0
  70. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/load.py +0 -0
  71. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/manifest.py +0 -0
  72. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/read.py +0 -0
  73. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/wait.py +0 -0
  74. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/wipe.py +0 -0
  75. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/commands/write.py +0 -0
  76. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/memory/components.py +0 -0
  77. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/__init__.py +0 -0
  78. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/__init__.py +0 -0
  79. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/bootstrap.py +0 -0
  80. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/changes.py +0 -0
  81. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/encode.py +0 -0
  82. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/freeze.py +0 -0
  83. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/init.py +0 -0
  84. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/load.py +0 -0
  85. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/migrate.py +0 -0
  86. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/read.py +0 -0
  87. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/validate.py +0 -0
  88. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/wait.py +0 -0
  89. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/wipe.py +0 -0
  90. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/commands/write.py +0 -0
  91. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/components.py +0 -0
  92. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/helpers.py +0 -0
  93. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/types/__init__.py +0 -0
  94. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/types/array/__init__.py +0 -0
  95. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/types/array/write.py +0 -0
  96. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/types/file/__init__.py +0 -0
  97. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/types/file/write.py +0 -0
  98. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/types/object/__init__.py +0 -0
  99. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/types/object/write.py +0 -0
  100. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/ufuncs/__init__.py +0 -0
  101. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/ufuncs/components.py +0 -0
  102. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/mongo/ufuncs/ufuncs.py +0 -0
  103. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/__init__.py +0 -0
  104. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/__init__.py +0 -0
  105. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/bootstrap.py +0 -0
  106. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/changes.py +0 -0
  107. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/init.py +0 -0
  108. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/load.py +0 -0
  109. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/read.py +0 -0
  110. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/wait.py +0 -0
  111. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/wipe.py +0 -0
  112. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/commands/write.py +0 -0
  113. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/nobackend/components.py +0 -0
  114. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/__init__.py +0 -0
  115. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/__init__.py +0 -0
  116. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/bootstrap.py +0 -0
  117. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/changes.py +0 -0
  118. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/column.py +0 -0
  119. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/encode.py +0 -0
  120. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/freeze.py +0 -0
  121. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/link.py +0 -0
  122. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/load.py +0 -0
  123. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/manifest.py +0 -0
  124. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/__init__.py +0 -0
  125. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/constants.py +0 -0
  126. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/migrate.py +0 -0
  127. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/model.py +0 -0
  128. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/property.py +0 -0
  129. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/types/__init__.py +0 -0
  130. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/types/datatype.py +0 -0
  131. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/types/file.py +0 -0
  132. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/types/geometry.py +0 -0
  133. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/types/ref.py +0 -0
  134. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/types/string.py +0 -0
  135. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/migrate/types/text.py +0 -0
  136. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/read.py +0 -0
  137. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/redirect.py +0 -0
  138. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/summary.py +0 -0
  139. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/validate.py +0 -0
  140. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/wait.py +0 -0
  141. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/wipe.py +0 -0
  142. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/commands/write.py +0 -0
  143. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/components.py +0 -0
  144. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/constants.py +0 -0
  145. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/files.py +0 -0
  146. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/__init__.py +0 -0
  147. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/changes.py +0 -0
  148. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/exceptions.py +0 -0
  149. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/extractors.py +0 -0
  150. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/manifest.py +0 -0
  151. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/migrate/__init__.py +0 -0
  152. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/migrate/actions.py +0 -0
  153. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/migrate/migrate.py +0 -0
  154. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/name.py +0 -0
  155. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/helpers/redirect.py +0 -0
  156. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/sqlalchemy.py +0 -0
  157. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/__init__.py +0 -0
  158. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/array/__init__.py +0 -0
  159. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/array/freeze.py +0 -0
  160. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/array/wipe.py +0 -0
  161. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/array/write.py +0 -0
  162. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/array_backref/__init__.py +0 -0
  163. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/backref/__init__.py +0 -0
  164. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/denorm/__init__.py +0 -0
  165. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/external_ref/__init__.py +0 -0
  166. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/file/__init__.py +0 -0
  167. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/file/freeze.py +0 -0
  168. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/file/read.py +0 -0
  169. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/file/write.py +0 -0
  170. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/geometry/__init__.py +0 -0
  171. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/geometry/encode.py +0 -0
  172. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/geometry/helpers.py +0 -0
  173. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/geometry/write.py +0 -0
  174. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/object/__init__.py +0 -0
  175. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/object/freeze.py +0 -0
  176. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/object/read.py +0 -0
  177. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/object/wipe.py +0 -0
  178. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/ref/__init__.py +0 -0
  179. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/ref/freeze.py +0 -0
  180. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/ref/validate.py +0 -0
  181. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/types/text/__init__.py +0 -0
  182. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/__init__.py +0 -0
  183. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/components.py +0 -0
  184. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/query/__init__.py +0 -0
  185. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/query/components.py +0 -0
  186. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/query/ufuncs.py +0 -0
  187. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/result/__init__.py +0 -0
  188. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/result/components.py +0 -0
  189. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/result/ufuncs.py +0 -0
  190. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/postgresql/ufuncs/ufuncs.py +0 -0
  191. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/backends/types/__init__.py +0 -0
  192. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/__init__.py +0 -0
  193. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/admin.py +0 -0
  194. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/auth.py +0 -0
  195. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/config.py +0 -0
  196. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/data.py +0 -0
  197. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/get.py +0 -0
  198. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/__init__.py +0 -0
  199. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/admin/__init__.py +0 -0
  200. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/admin/components.py +0 -0
  201. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/admin/registry.py +0 -0
  202. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/admin/scripts/__init__.py +0 -0
  203. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/admin/scripts/changelog.py +0 -0
  204. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/admin/scripts/deduplicate.py +0 -0
  205. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/auth.py +0 -0
  206. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/data.py +0 -0
  207. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/errors.py +0 -0
  208. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/__init__.py +0 -0
  209. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/backends/__init__.py +0 -0
  210. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/backends/postgresql/__init__.py +0 -0
  211. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/backends/postgresql/commands.py +0 -0
  212. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/backends/postgresql/components.py +0 -0
  213. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/backends/postgresql/helpers.py +0 -0
  214. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/commands.py +0 -0
  215. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/components.py +0 -0
  216. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/export/helpers.py +0 -0
  217. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/manifest.py +0 -0
  218. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/message.py +0 -0
  219. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/migrate.py +0 -0
  220. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/__init__.py +0 -0
  221. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/components.py +0 -0
  222. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/delete.py +0 -0
  223. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/error.py +0 -0
  224. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/read.py +0 -0
  225. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/state.py +0 -0
  226. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/sync.py +0 -0
  227. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/utils.py +0 -0
  228. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/push/write.py +0 -0
  229. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/script/__init__.py +0 -0
  230. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/script/components.py +0 -0
  231. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/script/core.py +0 -0
  232. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/script/helpers.py +0 -0
  233. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/script/registry.py +0 -0
  234. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/store.py +0 -0
  235. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/__init__.py +0 -0
  236. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/api_helpers.py +0 -0
  237. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/controllers/__init__.py +0 -0
  238. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/controllers/data_service.py +0 -0
  239. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/controllers/dataset.py +0 -0
  240. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/controllers/distribution.py +0 -0
  241. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/controllers/dsa.py +0 -0
  242. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/controllers/synchronization/__init__.py +0 -0
  243. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/controllers/synchronization/catalog_to_agent.py +0 -0
  244. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/enum.py +0 -0
  245. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/sync/helpers.py +0 -0
  246. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/typer.py +0 -0
  247. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/__init__.py +0 -0
  248. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/components.py +0 -0
  249. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/registry.py +0 -0
  250. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/__init__.py +0 -0
  251. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/backends/__init__.py +0 -0
  252. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/backends/postgresql/__init__.py +0 -0
  253. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/backends/postgresql/comments.py +0 -0
  254. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/clients.py +0 -0
  255. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/keymaps/__init__.py +0 -0
  256. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/__init__.py +0 -0
  257. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/helpers.py +0 -0
  258. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/initial_setup.py +0 -0
  259. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/modified_time.py +0 -0
  260. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/keymaps/sqlalchemy/redirect_support.py +0 -0
  261. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/helpers/upgrade/scripts/redirect.py +0 -0
  262. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/init.py +0 -0
  263. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/inspect.py +0 -0
  264. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/keymap.py +0 -0
  265. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/main.py +0 -0
  266. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/manifest.py +0 -0
  267. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/migrate.py +0 -0
  268. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/pii.py +0 -0
  269. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/pull.py +0 -0
  270. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/push.py +0 -0
  271. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/server.py +0 -0
  272. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/show.py +0 -0
  273. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/sync.py +0 -0
  274. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/cli/upgrade.py +0 -0
  275. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/commands/__init__.py +0 -0
  276. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/commands/auth.py +0 -0
  277. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/commands/helpers.py +0 -0
  278. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/commands/read.py +0 -0
  279. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/commands/search.py +0 -0
  280. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/commands/version.py +0 -0
  281. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/commands/write.py +0 -0
  282. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/compat.py +0 -0
  283. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/components.py +0 -0
  284. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/config.py +0 -0
  285. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/core/__init__.py +0 -0
  286. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/core/access.py +0 -0
  287. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/core/context.py +0 -0
  288. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/core/enums.py +0 -0
  289. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/core/ufuncs.py +0 -0
  290. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/__init__.py +0 -0
  291. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/__init__.py +0 -0
  292. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/__init__.py +0 -0
  293. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/__init__.py +0 -0
  294. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/csv/__init__.py +0 -0
  295. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/csv/commands/__init__.py +0 -0
  296. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/csv/commands/read.py +0 -0
  297. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/csv/components.py +0 -0
  298. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/json/__init__.py +0 -0
  299. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/json/commands/__init__.py +0 -0
  300. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/json/commands/read.py +0 -0
  301. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/json/components.py +0 -0
  302. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/memory/__init__.py +0 -0
  303. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/memory/components.py +0 -0
  304. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/soap/__init__.py +0 -0
  305. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/soap/commands/__init__.py +0 -0
  306. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/soap/commands/read.py +0 -0
  307. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/soap/components.py +0 -0
  308. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/soap/ufuncs/__init__.py +0 -0
  309. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/soap/ufuncs/components.py +0 -0
  310. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/soap/ufuncs/ufuncs.py +0 -0
  311. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/xml/__init__.py +0 -0
  312. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/xml/commands/__init__.py +0 -0
  313. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/xml/commands/read.py +0 -0
  314. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/backends/xml/components.py +0 -0
  315. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/commands/__init__.py +0 -0
  316. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/commands/read.py +0 -0
  317. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/components.py +0 -0
  318. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/ufuncs/__init__.py +0 -0
  319. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/ufuncs/components.py +0 -0
  320. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/ufuncs/query/__init__.py +0 -0
  321. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/ufuncs/query/components.py +0 -0
  322. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/ufuncs/query/ufuncs.py +0 -0
  323. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/dataframe/ufuncs/ufuncs.py +0 -0
  324. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/helpers.py +0 -0
  325. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/notimpl/__init__.py +0 -0
  326. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/notimpl/commands/__init__.py +0 -0
  327. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/notimpl/commands/load.py +0 -0
  328. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/notimpl/commands/wait.py +0 -0
  329. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/notimpl/components.py +0 -0
  330. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/__init__.py +0 -0
  331. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/__init__.py +0 -0
  332. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/helpers.py +0 -0
  333. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mariadb/__init__.py +0 -0
  334. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mariadb/components.py +0 -0
  335. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mariadb/helpers.py +0 -0
  336. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/__init__.py +0 -0
  337. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query/__init__.py +0 -0
  338. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query/components.py +0 -0
  339. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mariadb/ufuncs/query/ufuncs.py +0 -0
  340. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mssql/__init__.py +0 -0
  341. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mssql/components.py +0 -0
  342. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mssql/helpers.py +0 -0
  343. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mssql/ufuncs/__init__.py +0 -0
  344. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mssql/ufuncs/query/__init__.py +0 -0
  345. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mssql/ufuncs/query/components.py +0 -0
  346. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mssql/ufuncs/query/ufuncs.py +0 -0
  347. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mysql/__init__.py +0 -0
  348. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mysql/components.py +0 -0
  349. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mysql/helpers.py +0 -0
  350. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mysql/ufuncs/__init__.py +0 -0
  351. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mysql/ufuncs/query/__init__.py +0 -0
  352. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mysql/ufuncs/query/components.py +0 -0
  353. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/mysql/ufuncs/query/ufuncs.py +0 -0
  354. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/oracle/__init__.py +0 -0
  355. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/oracle/components.py +0 -0
  356. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/oracle/helpers.py +0 -0
  357. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/oracle/ufuncs/__init__.py +0 -0
  358. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/__init__.py +0 -0
  359. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/components.py +0 -0
  360. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/oracle/ufuncs/query/ufuncs.py +0 -0
  361. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/postgresql/__init__.py +0 -0
  362. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/postgresql/components.py +0 -0
  363. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/postgresql/helpers.py +0 -0
  364. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/__init__.py +0 -0
  365. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query/__init__.py +0 -0
  366. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query/components.py +0 -0
  367. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/postgresql/ufuncs/query/ufuncs.py +0 -0
  368. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/sqlite/__init__.py +0 -0
  369. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/sqlite/components.py +0 -0
  370. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/sqlite/helpers.py +0 -0
  371. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/__init__.py +0 -0
  372. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query/__init__.py +0 -0
  373. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query/components.py +0 -0
  374. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/backends/sqlite/ufuncs/query/ufuncs.py +0 -0
  375. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/commands/__init__.py +0 -0
  376. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/commands/bootstrap.py +0 -0
  377. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/commands/cast.py +0 -0
  378. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/commands/init.py +0 -0
  379. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/commands/load.py +0 -0
  380. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/commands/read.py +0 -0
  381. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/commands/wait.py +0 -0
  382. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/helpers.py +0 -0
  383. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/__init__.py +0 -0
  384. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/components.py +0 -0
  385. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/query/__init__.py +0 -0
  386. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/query/components.py +0 -0
  387. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/query/helpers.py +0 -0
  388. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/result/__init__.py +0 -0
  389. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/result/components.py +0 -0
  390. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/result/ufuncs.py +0 -0
  391. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sql/ufuncs/ufuncs.py +0 -0
  392. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/__init__.py +0 -0
  393. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/commands/__init__.py +0 -0
  394. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/commands/inspect.py +0 -0
  395. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/commands/load.py +0 -0
  396. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/commands/wait.py +0 -0
  397. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/components.py +0 -0
  398. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/ufuncs/__init__.py +0 -0
  399. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/ufuncs/components.py +0 -0
  400. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/sqldump/ufuncs/ufuncs.py +0 -0
  401. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/wsdl/__init__.py +0 -0
  402. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/wsdl/commads/__init__.py +0 -0
  403. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/wsdl/commads/read.py +0 -0
  404. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/backends/wsdl/components.py +0 -0
  405. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/commands/__init__.py +0 -0
  406. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/commands/check.py +0 -0
  407. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/commands/error.py +0 -0
  408. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/commands/inspect.py +0 -0
  409. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/commands/link.py +0 -0
  410. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/commands/load.py +0 -0
  411. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/commands/wipe.py +0 -0
  412. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/enums.py +0 -0
  413. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/inspect/__init__.py +0 -0
  414. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/inspect/commands/__init__.py +0 -0
  415. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/inspect/commands/manifest.py +0 -0
  416. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/inspect/commands/merge.py +0 -0
  417. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/inspect/components.py +0 -0
  418. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/keymaps/__init__.py +0 -0
  419. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/keymaps/components.py +0 -0
  420. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/keymaps/redis.py +0 -0
  421. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/keymaps/sqlalchemy.py +0 -0
  422. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/keymaps/sync.py +0 -0
  423. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/datasets/utils.py +0 -0
  424. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/__init__.py +0 -0
  425. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/comments/__init__.py +0 -0
  426. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/comments/components.py +0 -0
  427. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/comments/helpers.py +0 -0
  428. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/enum/__init__.py +0 -0
  429. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/enum/commands.py +0 -0
  430. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/enum/components.py +0 -0
  431. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/enum/helpers.py +0 -0
  432. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/enum/ufuncs.py +0 -0
  433. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/lang/__init__.py +0 -0
  434. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/lang/components.py +0 -0
  435. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/lang/helpers.py +0 -0
  436. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/param/__init__.py +0 -0
  437. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/param/components.py +0 -0
  438. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/param/helpers.py +0 -0
  439. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/param/ufuncs.py +0 -0
  440. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/prefix/__init__.py +0 -0
  441. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/prefix/commands/__init__.py +0 -0
  442. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/prefix/commands/load.py +0 -0
  443. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/prefix/components.py +0 -0
  444. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dimensions/prefix/helpers.py +0 -0
  445. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/dispatcher.py +0 -0
  446. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/fetcher.py +0 -0
  447. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/__init__.py +0 -0
  448. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/ascii/__init__.py +0 -0
  449. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/ascii/commands.py +0 -0
  450. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/ascii/components.py +0 -0
  451. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/ascii/helpers.py +0 -0
  452. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/components.py +0 -0
  453. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/csv/__init__.py +0 -0
  454. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/csv/commands.py +0 -0
  455. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/csv/components.py +0 -0
  456. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/helpers.py +0 -0
  457. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/html/__init__.py +0 -0
  458. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/html/commands.py +0 -0
  459. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/html/components.py +0 -0
  460. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/html/helpers.py +0 -0
  461. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/json/__init__.py +0 -0
  462. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/json/commands.py +0 -0
  463. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/json/components.py +0 -0
  464. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/jsonlines/__init__.py +0 -0
  465. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/jsonlines/commands.py +0 -0
  466. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/jsonlines/components.py +0 -0
  467. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/rdf/commands.py +0 -0
  468. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/rdf/components.py +0 -0
  469. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/xlsx/__init__.py +0 -0
  470. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/xlsx/commands.py +0 -0
  471. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/formats/xlsx/components.py +0 -0
  472. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/hacks/__init__.py +0 -0
  473. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/hacks/spyna.py +0 -0
  474. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/hacks/urlparams.py +0 -0
  475. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/handlers.py +0 -0
  476. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/logging_config.py +0 -0
  477. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifest/_ns.yml +0 -0
  478. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifest/_schema/version.yml +0 -0
  479. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifest/_schema.yml +0 -0
  480. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifest/_txn.yml +0 -0
  481. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/__init__.py +0 -0
  482. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/__init__.py +0 -0
  483. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/commands/__init__.py +0 -0
  484. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/commands/bootstrap.py +0 -0
  485. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/commands/configure.py +0 -0
  486. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/commands/freeze.py +0 -0
  487. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/commands/load.py +0 -0
  488. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/commands/manifest.py +0 -0
  489. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/commands/migrate.py +0 -0
  490. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/commands/sync.py +0 -0
  491. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/components.py +0 -0
  492. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/backend/helpers.py +0 -0
  493. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/__init__.py +0 -0
  494. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/auth.py +0 -0
  495. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/error.py +0 -0
  496. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/init.py +0 -0
  497. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/inspect.py +0 -0
  498. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/link.py +0 -0
  499. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/load.py +0 -0
  500. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/manifest.py +0 -0
  501. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/migrate.py +0 -0
  502. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/commands/read.py +0 -0
  503. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/components.py +0 -0
  504. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/dict/__init__.py +0 -0
  505. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/dict/commands/__init__.py +0 -0
  506. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/dict/commands/configure.py +0 -0
  507. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/dict/commands/load.py +0 -0
  508. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/dict/components.py +0 -0
  509. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/dict/helpers.py +0 -0
  510. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/helpers.py +0 -0
  511. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal/__init__.py +0 -0
  512. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal/commands/__init__.py +0 -0
  513. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal/commands/configure.py +0 -0
  514. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal/commands/load.py +0 -0
  515. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal/components.py +0 -0
  516. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/__init__.py +0 -0
  517. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/commands/__init__.py +0 -0
  518. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/commands/auth.py +0 -0
  519. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/commands/backend.py +0 -0
  520. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/commands/bootstrap.py +0 -0
  521. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/commands/configure.py +0 -0
  522. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/commands/load.py +0 -0
  523. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/commands/manifest.py +0 -0
  524. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/commands/read.py +0 -0
  525. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/components.py +0 -0
  526. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/internal_sql/helpers.py +0 -0
  527. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/memory/__init__.py +0 -0
  528. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/memory/commands/__init__.py +0 -0
  529. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/memory/commands/configure.py +0 -0
  530. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/memory/commands/load.py +0 -0
  531. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/memory/components.py +0 -0
  532. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/mermaid/__init__.py +0 -0
  533. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/mermaid/components.py +0 -0
  534. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/mermaid/helpers.py +0 -0
  535. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/open_api/__init__.py +0 -0
  536. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/open_api/commands/__init__.py +0 -0
  537. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/open_api/commands/configure.py +0 -0
  538. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/open_api/commands/load.py +0 -0
  539. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/open_api/components.py +0 -0
  540. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/open_api/helpers.py +0 -0
  541. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/open_api/openapi_config.py +0 -0
  542. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/open_api/openapi_generator.py +0 -0
  543. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/rdf/commands/bootstrap.py +0 -0
  544. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/rdf/commands/configure.py +0 -0
  545. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/rdf/commands/load.py +0 -0
  546. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/rdf/components.py +0 -0
  547. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/rdf/helpers.py +0 -0
  548. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/sql/__init__.py +0 -0
  549. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/sql/commands/__init__.py +0 -0
  550. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/sql/commands/configure.py +0 -0
  551. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/sql/commands/load.py +0 -0
  552. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/sql/components.py +0 -0
  553. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/__init__.py +0 -0
  554. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/commands/__init__.py +0 -0
  555. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/commands/bootstrap.py +0 -0
  556. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/commands/configure.py +0 -0
  557. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/commands/load.py +0 -0
  558. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/components.py +0 -0
  559. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/constants.py +0 -0
  560. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/formats/__init__.py +0 -0
  561. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/formats/gsheets.py +0 -0
  562. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/tabular/helpers.py +0 -0
  563. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd/__init__.py +0 -0
  564. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd/commands/__init__.py +0 -0
  565. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd/commands/configure.py +0 -0
  566. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd/commands/load.py +0 -0
  567. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd/components.py +0 -0
  568. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd/helpers.py +0 -0
  569. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd2/__init__.py +0 -0
  570. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd2/commands/__init__.py +0 -0
  571. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd2/commands/configure.py +0 -0
  572. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd2/commands/load.py +0 -0
  573. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd2/components.py +0 -0
  574. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/xsd2/helpers.py +0 -0
  575. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/__init__.py +0 -0
  576. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/commands/__init__.py +0 -0
  577. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/commands/bootstrap.py +0 -0
  578. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/commands/configure.py +0 -0
  579. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/commands/freeze.py +0 -0
  580. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/commands/load.py +0 -0
  581. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/commands/manifest.py +0 -0
  582. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/commands/migrate.py +0 -0
  583. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/commands/sync.py +0 -0
  584. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/components.py +0 -0
  585. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/manifests/yaml/helpers.py +0 -0
  586. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/methods.py +0 -0
  587. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/middlewares.py +0 -0
  588. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/migrations/__init__.py +0 -0
  589. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/migrations/schema/__init__.py +0 -0
  590. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/migrations/schema/alembic.py +0 -0
  591. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/naming/__init__.py +0 -0
  592. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/naming/components.py +0 -0
  593. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/naming/helpers.py +0 -0
  594. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/naming/ufuncts.py +0 -0
  595. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/nodes.py +0 -0
  596. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/renderer.py +0 -0
  597. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/spyna.py +0 -0
  598. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/templates/base.html +0 -0
  599. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/templates/data.html +0 -0
  600. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/templates/error.html +0 -0
  601. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/templates/form.html +0 -0
  602. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/__init__.py +0 -0
  603. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/cli.py +0 -0
  604. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/client.py +0 -0
  605. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/config.py +0 -0
  606. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/context.py +0 -0
  607. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/csv.py +0 -0
  608. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/data.py +0 -0
  609. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/datasets.py +0 -0
  610. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/dtypes.py +0 -0
  611. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/manifest.py +0 -0
  612. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/migration.py +0 -0
  613. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/push.py +0 -0
  614. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/pytest.py +0 -0
  615. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/request.py +0 -0
  616. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/tabular.py +0 -0
  617. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/types/__init__.py +0 -0
  618. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/types/geometry.py +0 -0
  619. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/ufuncs.py +0 -0
  620. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/testing/utils.py +0 -0
  621. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/__init__.py +0 -0
  622. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/array/__init__.py +0 -0
  623. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/array/check.py +0 -0
  624. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/array/link.py +0 -0
  625. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/array/resolve.py +0 -0
  626. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/backref/__init__.py +0 -0
  627. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/backref/link.py +0 -0
  628. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/command.py +0 -0
  629. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/datatype.py +0 -0
  630. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/denorm/__init__.py +0 -0
  631. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/denorm/check.py +0 -0
  632. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/denorm/link.py +0 -0
  633. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/file/__init__.py +0 -0
  634. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/file/components.py +0 -0
  635. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/file/decode.py +0 -0
  636. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/file/helpers.py +0 -0
  637. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/geometry/__init__.py +0 -0
  638. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/geometry/components.py +0 -0
  639. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/geometry/constants.py +0 -0
  640. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/geometry/helpers.py +0 -0
  641. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/geometry/load.py +0 -0
  642. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/helpers.py +0 -0
  643. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/inherit/__init__.py +0 -0
  644. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/inherit/check.py +0 -0
  645. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/namespace.py +0 -0
  646. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/object/__init__.py +0 -0
  647. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/object/check.py +0 -0
  648. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/object/link.py +0 -0
  649. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/partial/__init__.py +0 -0
  650. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/partial/link.py +0 -0
  651. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/ref/__init__.py +0 -0
  652. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/ref/check.py +0 -0
  653. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/ref/link.py +0 -0
  654. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/ref/resolve.py +0 -0
  655. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/store.py +0 -0
  656. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/text/__init__.py +0 -0
  657. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/text/check.py +0 -0
  658. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/text/components.py +0 -0
  659. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/text/helpers.py +0 -0
  660. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/types/text/load.py +0 -0
  661. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/typing.py +0 -0
  662. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/__init__.py +0 -0
  663. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/binds.py +0 -0
  664. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/changebase/__init__.py +0 -0
  665. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/changebase/components.py +0 -0
  666. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/changebase/helpers.py +0 -0
  667. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/changebase/ufuncs.py +0 -0
  668. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/common.py +0 -0
  669. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/components.py +0 -0
  670. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/helpers.py +0 -0
  671. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/linkbuilder/__init__.py +0 -0
  672. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/linkbuilder/components.py +0 -0
  673. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/linkbuilder/ufuncs.py +0 -0
  674. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/loadbuilder/__init__.py +0 -0
  675. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/loadbuilder/components.py +0 -0
  676. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/loadbuilder/helpers.py +0 -0
  677. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/loadbuilder/ufuncs.py +0 -0
  678. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/propertyresolver/__init__.py +0 -0
  679. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/propertyresolver/components.py +0 -0
  680. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/propertyresolver/ufuncs.py +0 -0
  681. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/querybuilder/__init__.py +0 -0
  682. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/querybuilder/components.py +0 -0
  683. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/querybuilder/helpers.py +0 -0
  684. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/querybuilder/ufuncs.py +0 -0
  685. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/requestparamsbuilder/__init__.py +0 -0
  686. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/requestparamsbuilder/components.py +0 -0
  687. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/requestparamsbuilder/helpers.py +0 -0
  688. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/requestparamsbuilder/ufuncs.py +0 -0
  689. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/resultbuilder/__init__.py +0 -0
  690. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/resultbuilder/components.py +0 -0
  691. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/resultbuilder/helpers.py +0 -0
  692. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/resultbuilder/ufuncs.py +0 -0
  693. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/summaryenv/__init__.py +0 -0
  694. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/summaryenv/components.py +0 -0
  695. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/ufuncs/summaryenv/ufuncs.py +0 -0
  696. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/units/__init__.py +0 -0
  697. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/units/components.py +0 -0
  698. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/units/helpers.py +0 -0
  699. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/urlparams.py +0 -0
  700. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/__init__.py +0 -0
  701. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/aiotools.py +0 -0
  702. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/changes.py +0 -0
  703. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/collections.py +0 -0
  704. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/config.py +0 -0
  705. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/data.py +0 -0
  706. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/encoding.py +0 -0
  707. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/enums.py +0 -0
  708. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/errors.py +0 -0
  709. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/functools.py +0 -0
  710. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/idgen.py +0 -0
  711. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/imports.py +0 -0
  712. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/itertools.py +0 -0
  713. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/json.py +0 -0
  714. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/naming.py +0 -0
  715. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/nestedstruct.py +0 -0
  716. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/nin.py +0 -0
  717. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/passwords.py +0 -0
  718. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/path.py +0 -0
  719. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/refs.py +0 -0
  720. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/response.py +0 -0
  721. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/schema.py +0 -0
  722. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/scopes.py +0 -0
  723. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/sqlalchemy.py +0 -0
  724. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/sqlite.py +0 -0
  725. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/starlette.py +0 -0
  726. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/streams.py +0 -0
  727. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/tree.py +0 -0
  728. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/types.py +0 -0
  729. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/units.py +0 -0
  730. {spinta-0.2.dev10 → spinta-0.2.dev11}/spinta/utils/url.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spinta
3
- Version: 0.2.dev10
3
+ Version: 0.2.dev11
4
4
  Summary: A platform for describing, extracting, transforming, loading and serving open data.
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "spinta"
3
- version = "0.2dev10"
3
+ version = "0.2dev11"
4
4
  description = "A platform for describing, extracting, transforming, loading and serving open data."
5
5
  authors = ["Mantas Zimnickas <sirexas@gmail.com>"]
6
6
  license = "MIT"
@@ -70,6 +70,11 @@ yml.indent(mapping=2, sequence=4, offset=2)
70
70
  yml.width = 80
71
71
  yml.explicit_start = False
72
72
 
73
+ # File permission constants for sensitive authentication files
74
+ OWNER_READABLE_FILE = 0o600 # rw------- (owner read/write only)
75
+ OWNER_READABLE_DIR = 0o700 # rwx------ (owner read/write/execute only)
76
+ WORLD_READABLE_FILE = 0o644 # rw-r--r-- (owner read/write, others read)
77
+
73
78
  # Cache limits
74
79
  CLIENT_FILE_CACHE_SIZE_LIMIT = 1000
75
80
  KEYMAP_CACHE_SIZE_LIMIT = 1
@@ -831,6 +836,7 @@ def gen_auth_server_keys(
831
836
  ) -> Tuple[pathlib.Path, pathlib.Path]:
832
837
  path = path / "keys"
833
838
  path.mkdir(exist_ok=True)
839
+ os.chmod(path, OWNER_READABLE_DIR)
834
840
 
835
841
  files = (
836
842
  path / "private.json",
@@ -855,10 +861,12 @@ def gen_auth_server_keys(
855
861
  with files[0].open("w") as f:
856
862
  result = JsonWebKey.import_key(private_key, {"kty": "RSA"})
857
863
  json.dump(result.as_dict(is_private=True), f, indent=4, ensure_ascii=False)
864
+ os.chmod(files[0], OWNER_READABLE_FILE)
858
865
 
859
866
  with files[1].open("w") as f:
860
867
  result = JsonWebKey.import_key(public_key, {"kty": "RSA"})
861
868
  json.dump(result.as_dict(), f, indent=4, ensure_ascii=False)
869
+ os.chmod(files[1], WORLD_READABLE_FILE)
862
870
 
863
871
  return files
864
872
 
@@ -916,6 +924,8 @@ def create_client_file(
916
924
  raise ClientWithNameAlreadyExists(client_name=name)
917
925
 
918
926
  os.makedirs(id_path / client_id[:2] / client_id[2:4], exist_ok=True)
927
+ os.chmod(id_path / client_id[:2], OWNER_READABLE_DIR)
928
+ os.chmod(id_path / client_id[:2] / client_id[2:4], OWNER_READABLE_DIR)
919
929
 
920
930
  secret = secret or passwords.gensecret(32)
921
931
  secret_hash = passwords.crypt(secret)
@@ -934,7 +944,9 @@ def create_client_file(
934
944
  write = data.copy()
935
945
  del write["client_secret"]
936
946
  yml.dump(write, client_file)
947
+ os.chmod(client_file, OWNER_READABLE_FILE)
937
948
  yml.dump(keymap, keymap_path)
949
+ os.chmod(keymap_path, OWNER_READABLE_FILE)
938
950
 
939
951
  return client_file, data
940
952
 
@@ -1004,6 +1016,7 @@ def update_client_file(
1004
1016
  }
1005
1017
 
1006
1018
  yml.dump(new_data, client_path)
1019
+ os.chmod(client_path, OWNER_READABLE_FILE)
1007
1020
  if keymap:
1008
1021
  changed = False
1009
1022
  # Check if client changed name
@@ -1014,6 +1027,7 @@ def update_client_file(
1014
1027
 
1015
1028
  if changed:
1016
1029
  yml.dump(keymap, keymap_path)
1030
+ os.chmod(keymap_path, OWNER_READABLE_FILE)
1017
1031
  return new_data
1018
1032
  else:
1019
1033
  raise InvalidClientError(description="Invalid client id or secret")
@@ -1042,18 +1056,22 @@ def validate_id_path(id_path: pathlib.Path):
1042
1056
  def ensure_client_folders_exist(clients_path: pathlib.Path):
1043
1057
  # Ensure clients folder exist
1044
1058
  clients_path.mkdir(parents=True, exist_ok=True)
1059
+ os.chmod(clients_path, OWNER_READABLE_DIR)
1045
1060
 
1046
1061
  # Ensure clients/helpers directory
1047
1062
  helpers_path = get_helpers_path(clients_path)
1048
1063
  helpers_path.mkdir(parents=True, exist_ok=True)
1064
+ os.chmod(helpers_path, OWNER_READABLE_DIR)
1049
1065
 
1050
1066
  # Ensure clients/helpers/keymap.yml exists
1051
1067
  keymap_path = get_keymap_path(clients_path)
1052
1068
  keymap_path.touch(exist_ok=True)
1069
+ os.chmod(keymap_path, OWNER_READABLE_FILE)
1053
1070
 
1054
1071
  # Ensure clients/id directory
1055
1072
  id_path = get_id_path(clients_path)
1056
1073
  id_path.mkdir(parents=True, exist_ok=True)
1074
+ os.chmod(id_path, OWNER_READABLE_DIR)
1057
1075
 
1058
1076
 
1059
1077
  def _keymap_file_cache_key(path: pathlib.Path, *args, **kwargs):
@@ -12,6 +12,7 @@ from spinta.backends.postgresql.helpers import get_column_name
12
12
  from spinta.backends.postgresql.helpers.changes import get_changes_table
13
13
  from spinta.backends.postgresql.helpers.name import PG_NAMING_CONVENTION, get_pg_table_name, get_pg_column_name
14
14
  from spinta.backends.postgresql.helpers.redirect import get_redirect_table
15
+ from spinta.backends.postgresql.helpers.type import get_column_type
15
16
  from spinta.components import Context, Model
16
17
  from spinta.manifests.components import Manifest
17
18
  from spinta.types.datatype import DataType, PrimaryKey, Ref
@@ -118,7 +119,7 @@ def prepare(context: Context, backend: PostgreSQL, dtype: DataType, **kwargs):
118
119
 
119
120
  if dtype.name not in types:
120
121
  raise Exception(f"Unknown type {dtype.name!r} for property {prop.place!r}.")
121
- column_type = types[dtype.name]
122
+ column_type = get_column_type(dtype, types[dtype.name])
122
123
  nullable = not dtype.required
123
124
  return sa.Column(get_pg_column_name(name), column_type, unique=dtype.unique, nullable=nullable, comment=name)
124
125
 
@@ -0,0 +1,13 @@
1
+ from spinta.components import Context
2
+ from spinta.backends.postgresql.components import PostgreSQL
3
+ from spinta.exceptions import UnsupportedDataTypeConfiguration
4
+ from spinta.types.datatype import DataType
5
+
6
+
7
+ def validate_type_assignment(context: Context, backend: PostgreSQL, dtype: DataType):
8
+ if dtype.prop.external and dtype.prop.external.custom_type:
9
+ raise UnsupportedDataTypeConfiguration(dtype, data_type=dtype.name)
10
+
11
+
12
+ def get_column_type(dtype: DataType, default: object):
13
+ return dtype.prop.external and dtype.prop.external.custom_type or default
@@ -1,6 +1,5 @@
1
- from spinta.components import Context, Property
2
- from spinta.components import Context, Property, DataItem
3
1
  from spinta.backends.postgresql.components import PostgreSQL
2
+ from spinta.components import Context, Property, DataItem
4
3
 
5
4
 
6
5
  def pg_check_unique_constraint(
@@ -4,6 +4,7 @@ from sqlalchemy.dialects.postgresql import JSONB
4
4
 
5
5
  from spinta import commands
6
6
  from spinta.backends.postgresql.helpers.name import get_pg_column_name
7
+ from spinta.backends.postgresql.helpers.type import validate_type_assignment
7
8
  from spinta.components import Context
8
9
  from spinta.types.datatype import Array
9
10
  from spinta.backends.constants import TableType
@@ -14,6 +15,8 @@ from spinta.backends.postgresql.helpers import get_pg_name
14
15
 
15
16
  @commands.prepare.register(Context, PostgreSQL, Array)
16
17
  def prepare(context: Context, backend: PostgreSQL, dtype: Array, **kwargs):
18
+ validate_type_assignment(context, backend, dtype)
19
+
17
20
  prop = dtype.prop
18
21
 
19
22
  columns = commands.prepare(context, backend, dtype.items, **kwargs)
@@ -1,9 +1,11 @@
1
1
  from spinta import commands
2
2
  from spinta.backends.postgresql.components import PostgreSQL
3
+ from spinta.backends.postgresql.helpers.type import validate_type_assignment
3
4
  from spinta.components import Context
4
5
  from spinta.types.datatype import ArrayBackRef
5
6
 
6
7
 
7
8
  @commands.prepare.register(Context, PostgreSQL, ArrayBackRef)
8
9
  def prepare(context: Context, backend: PostgreSQL, dtype: ArrayBackRef, **kwargs):
10
+ validate_type_assignment(context, backend, dtype)
9
11
  return None
@@ -1,9 +1,11 @@
1
1
  from spinta import commands
2
2
  from spinta.backends.postgresql.components import PostgreSQL
3
+ from spinta.backends.postgresql.helpers.type import validate_type_assignment
3
4
  from spinta.components import Context
4
5
  from spinta.types.datatype import BackRef
5
6
 
6
7
 
7
8
  @commands.prepare.register(Context, PostgreSQL, BackRef)
8
9
  def prepare(context: Context, backend: PostgreSQL, dtype: BackRef, **kwargs):
10
+ validate_type_assignment(context, backend, dtype)
9
11
  return None
@@ -1,4 +1,5 @@
1
1
  from spinta import commands
2
+ from spinta.backends.postgresql.helpers.type import validate_type_assignment
2
3
  from spinta.components import Context
3
4
  from spinta.types.datatype import Denorm
4
5
  from spinta.backends.postgresql.components import PostgreSQL
@@ -6,4 +7,5 @@ from spinta.backends.postgresql.components import PostgreSQL
6
7
 
7
8
  @commands.prepare.register(Context, PostgreSQL, Denorm)
8
9
  def prepare(context: Context, backend: PostgreSQL, dtype: Denorm, **kwargs):
10
+ validate_type_assignment(context, backend, dtype)
9
11
  return
@@ -2,6 +2,7 @@ import sqlalchemy as sa
2
2
 
3
3
  from spinta import commands
4
4
  from spinta.backends.postgresql.helpers.name import get_pg_column_name
5
+ from spinta.backends.postgresql.helpers.type import validate_type_assignment
5
6
  from spinta.components import Context
6
7
  from spinta.types.datatype import ExternalRef, Denorm
7
8
  from spinta.backends.postgresql.components import PostgreSQL
@@ -10,6 +11,7 @@ from spinta.backends.postgresql.helpers import get_column_name
10
11
 
11
12
  @commands.prepare.register(Context, PostgreSQL, ExternalRef)
12
13
  def prepare(context: Context, backend: PostgreSQL, dtype: ExternalRef, propagate=True, **kwargs):
14
+ validate_type_assignment(context, backend, dtype)
13
15
  columns = []
14
16
  if not dtype.inherited:
15
17
  if dtype.model.given.pkeys or dtype.explicit:
@@ -4,6 +4,7 @@ from sqlalchemy.dialects.postgresql import BIGINT, ARRAY
4
4
 
5
5
  from spinta import commands
6
6
  from spinta.backends.postgresql.helpers.name import get_pg_column_name
7
+ from spinta.backends.postgresql.helpers.type import validate_type_assignment
7
8
  from spinta.components import Context
8
9
  from spinta.types.datatype import File
9
10
  from spinta.backends.constants import TableType, BackendFeatures
@@ -15,6 +16,7 @@ from spinta.backends.postgresql.helpers import get_column_name
15
16
 
16
17
  @commands.prepare.register(Context, PostgreSQL, File)
17
18
  def prepare(context: Context, backend: PostgreSQL, dtype: File, **kwargs):
19
+ validate_type_assignment(context, backend, dtype)
18
20
  prop = dtype.prop
19
21
  model = prop.model
20
22
 
@@ -5,6 +5,7 @@ from spinta import commands
5
5
  from spinta.backends.postgresql.components import PostgreSQL
6
6
  from spinta.backends.postgresql.helpers import get_column_name
7
7
  from spinta.backends.postgresql.helpers.name import get_pg_column_name
8
+ from spinta.backends.postgresql.helpers.type import get_column_type
8
9
  from spinta.components import Context
9
10
  from spinta.types.geometry.components import Geometry
10
11
 
@@ -17,7 +18,7 @@ def prepare(context: Context, backend: PostgreSQL, dtype: Geometry, **kwargs) ->
17
18
  # Have to disable spatial index and create our own, because Geoalchemy2 uses their own naming convention
18
19
  kwargs = {"geometry_type": dtype.geometry_type, "srid": dtype.srid, "spatial_index": False}
19
20
  kwargs = {k: v for k, v in kwargs.items() if v is not None}
20
- column_type = ga.Geometry(**kwargs)
21
+ column_type = get_column_type(dtype, ga.Geometry(**kwargs))
21
22
  nullable = not dtype.required
22
23
  columns = [
23
24
  column := sa.Column(get_pg_column_name(name), column_type, nullable=nullable, comment=name),
@@ -1,4 +1,5 @@
1
1
  from spinta import commands
2
+ from spinta.backends.postgresql.helpers.type import validate_type_assignment
2
3
  from spinta.components import Context
3
4
  from spinta.types.datatype import Object
4
5
  from spinta.backends.postgresql.components import PostgreSQL
@@ -6,6 +7,7 @@ from spinta.backends.postgresql.components import PostgreSQL
6
7
 
7
8
  @commands.prepare.register(Context, PostgreSQL, Object)
8
9
  def prepare(context: Context, backend: PostgreSQL, dtype: Object, **kwargs):
10
+ validate_type_assignment(context, backend, dtype)
9
11
  columns = []
10
12
  for prop in dtype.properties.values():
11
13
  if prop.name.startswith("_") and prop.name not in ("_revision",):
@@ -7,12 +7,14 @@ from spinta import commands
7
7
  from spinta.backends.postgresql.components import PostgreSQL
8
8
  from spinta.backends.postgresql.helpers import get_column_name
9
9
  from spinta.backends.postgresql.helpers.name import get_pg_column_name, get_pg_table_name
10
+ from spinta.backends.postgresql.helpers.type import validate_type_assignment
10
11
  from spinta.components import Context, Property
11
12
  from spinta.types.datatype import Ref
12
13
 
13
14
 
14
15
  @commands.prepare.register(Context, PostgreSQL, Ref)
15
16
  def prepare(context: Context, backend: PostgreSQL, dtype: Ref, propagate: bool = True, **kwargs):
17
+ validate_type_assignment(context, backend, dtype)
16
18
  pkey_type = commands.get_primary_key_type(context, backend)
17
19
  columns = []
18
20
 
@@ -4,6 +4,7 @@ from sqlalchemy.dialects.postgresql import JSONB
4
4
  from spinta import commands
5
5
  from spinta.backends.postgresql.components import PostgreSQL
6
6
  from spinta.backends.postgresql.helpers import get_column_name
7
+ from spinta.backends.postgresql.helpers.type import validate_type_assignment
7
8
  from spinta.backends.postgresql.helpers.name import get_pg_column_name
8
9
  from spinta.components import Context
9
10
  from spinta.types.text.components import Text
@@ -11,6 +12,7 @@ from spinta.types.text.components import Text
11
12
 
12
13
  @commands.prepare.register(Context, PostgreSQL, Text)
13
14
  def prepare(context: Context, backend: PostgreSQL, dtype: Text, **kwargs):
15
+ validate_type_assignment(context, backend, dtype)
14
16
  prop = dtype.prop
15
17
  name = get_column_name(prop)
16
18
 
@@ -1,5 +1,6 @@
1
1
  import configparser
2
2
  import dataclasses
3
+ import os
3
4
  import pathlib
4
5
  import urllib.parse
5
6
  from typing import List
@@ -7,6 +8,7 @@ from typing import Optional
7
8
 
8
9
  import requests
9
10
 
11
+ from spinta.auth import OWNER_READABLE_FILE
10
12
  from spinta.exceptions import RemoteClientCredentialsNotFound
11
13
  from spinta.exceptions import RemoteClientCredentialsNotGiven
12
14
  from spinta.exceptions import RemoteClientScopesNotGiven
@@ -150,6 +152,7 @@ def add_client_credentials(
150
152
 
151
153
  with credsfile.open("w") as f:
152
154
  config.write(f)
155
+ os.chmod(credsfile, OWNER_READABLE_FILE)
153
156
 
154
157
 
155
158
  def get_access_token(creds: RemoteClientCredentials) -> str:
@@ -130,6 +130,27 @@ manifests:
130
130
  file:
131
131
  type: io
132
132
 
133
+ models:
134
+ type: object
135
+ keys:
136
+ type: string
137
+ values:
138
+ type: object
139
+ items:
140
+ backend:
141
+ type: ref
142
+ ref: backends
143
+ properties:
144
+ type: object
145
+ keys:
146
+ type: string
147
+ values:
148
+ type: object
149
+ keys:
150
+ type: string
151
+ values:
152
+ type: any
153
+
133
154
  manifest:
134
155
  type: ref
135
156
  ref: manifests
@@ -406,8 +406,6 @@ class RawConfig:
406
406
  break
407
407
  else:
408
408
  default = schema.get("default", NA)
409
- if default is NA:
410
- default = None
411
409
  return default, None
412
410
 
413
411
  def get_source_names(self) -> List[str]:
@@ -24,7 +24,7 @@ def get_column(backend: Sql, data: tuple, **kwargs):
24
24
  @commands.get_column.register(Sql, DataType)
25
25
  def get_column(backend: Sql, dtype: DataType, table: sa.Table, **kwargs):
26
26
  prop = dtype.prop
27
- if prop.external is None or not prop.external.name:
27
+ if not prop.external or not prop.external.name:
28
28
  raise NoExternalName(prop)
29
29
  if prop.external.name not in table.c:
30
30
  raise PropertyNotFound(
@@ -38,7 +38,7 @@ def get_column(backend: Sql, dtype: DataType, table: sa.Table, **kwargs):
38
38
  @commands.get_column.register(Sql, Ref)
39
39
  def get_column(backend: Sql, dtype: Ref, table: sa.Table, **kwargs):
40
40
  prop = dtype.prop
41
- if prop.external is None or not prop.external.name and not dtype.inherited:
41
+ if not prop.external or not prop.external.name and not dtype.inherited:
42
42
  raise NoExternalName(prop)
43
43
 
44
44
  if prop.external.name:
@@ -44,7 +44,13 @@ class Sql(ExternalBackend):
44
44
  key = name
45
45
 
46
46
  if key not in self.schema.tables:
47
- sa.Table(name, self.schema, autoload_with=self.engine)
47
+ schema = None
48
+ if "." in key:
49
+ split = key.split(".", 1)
50
+ schema = split[0]
51
+ name = split[1]
52
+
53
+ sa.Table(name, self.schema, schema=schema, autoload_with=self.engine)
48
54
 
49
55
  return self.schema.tables[key]
50
56
 
@@ -237,7 +237,7 @@ def _resolve_unresolved(env: SqlQueryBuilder, value: Any) -> Any:
237
237
 
238
238
  @ufunc.resolver(SqlQueryBuilder, Property)
239
239
  def _resolve_unresolved(env: SqlQueryBuilder, prop: Property) -> sa.Column:
240
- if prop.external is None:
240
+ if not prop.external:
241
241
  raise NoExternalName(prop)
242
242
 
243
243
  if prop.external.name:
@@ -383,7 +383,8 @@ def select(env: SqlQueryBuilder, prop: Property) -> Selected:
383
383
  if prop.place not in env.resolved:
384
384
  if isinstance(prop.external, list):
385
385
  raise SourceCannotBeList(prop)
386
- if prop.external.prepare is not NA:
386
+
387
+ if prop.external and prop.external.prepare is not NA:
387
388
  # If `prepare` formula is given, evaluate formula.
388
389
  if isinstance(prop.external.prepare, Expr):
389
390
  result = env(this=prop).resolve(prop.external.prepare)
@@ -242,9 +242,13 @@ class Attribute(External):
242
242
  name: str # property.source
243
243
  prepare: Expr = NA # property.prepare
244
244
 
245
+ # Type object, that overwrites default types
246
+ custom_type: Any = None
247
+
245
248
  schema = {
246
249
  "prop": {"parent": True},
247
250
  "name": {"default": None},
248
251
  "prepare": {"type": "spyna", "default": NA},
249
252
  "type": {"type": "string"},
253
+ "custom_type": {"type": "object", "default": None},
250
254
  }
@@ -166,7 +166,7 @@ def get_ref_filters(
166
166
  seen = seen or []
167
167
 
168
168
  for prop in take(["_id", all], model.properties).values():
169
- if prop.external is None or not prop.external.name:
169
+ if not prop.external or not prop.external.name:
170
170
  # Do not include properties, that has no external source, we can't
171
171
  # query data if there is no source.
172
172
  continue
@@ -225,13 +225,17 @@ def zipitems(
225
225
  res[mapped_key] = [new_value]
226
226
  continue
227
227
 
228
- extension_list = []
229
- for existing_value in res[mapped_key]:
230
- if existing_value[1] is NA:
231
- existing_value[1] = value
232
- else:
233
- extension_list.append([existing_value[0], value])
234
- res[mapped_key] += extension_list
228
+ existing_list = res[mapped_key]
229
+
230
+ # 1) Fill ALL rows that still have NA on the right
231
+ na_rows = [row for row in existing_list if row[1] is NA]
232
+ if na_rows:
233
+ for row in na_rows:
234
+ row[1] = value
235
+ else:
236
+ # 2) No NA slots left -> append exactly ONE new row
237
+ left_side = existing_list[0][0] if existing_list else NA
238
+ existing_list.append([left_side, value])
235
239
 
236
240
  yield from res.values()
237
241
 
@@ -1169,3 +1169,35 @@ class MissingPostgresqlComments(UpgradeError):
1169
1169
  {table!r} does not have a comment.
1170
1170
  Please run `spinta upgrade postgresql_comments` to update all comments.
1171
1171
  """
1172
+
1173
+
1174
+ class InvalidCustomPropertyTypeConfiguration(UserError):
1175
+ template = """
1176
+ Unable to import custom property type: {custom_property_type!r}.
1177
+ """
1178
+
1179
+
1180
+ class InvalidCustomPropertyTypeWithArgsConfiguration(UserError):
1181
+ template = """
1182
+ Unable to import custom property type: {custom_property_type!r}.
1183
+
1184
+ Using args: {args}.
1185
+ """
1186
+
1187
+
1188
+ class UnknownConfigurationParameters(UserError):
1189
+ template = """
1190
+ {config_type} {config_object!r} configuration contains unknown parameters: {unknown_params}.
1191
+ """
1192
+
1193
+
1194
+ class MissingConfigurationParameter(UserError):
1195
+ template = """
1196
+ {config_type} {config_object!r} configuration is missing parameter: {missing_params!r}.
1197
+ """
1198
+
1199
+
1200
+ class UnsupportedDataTypeConfiguration(UserError):
1201
+ template = """
1202
+ DataType {data_type!r} currently does not support custom type assignment in configuration.
1203
+ """
@@ -1,5 +1,7 @@
1
1
  from spinta import commands
2
2
  from spinta.components import Context
3
+ from spinta.core.config import RawConfig
4
+ from spinta.exceptions import ModelNotFound
3
5
  from spinta.manifests.components import Manifest, get_manifest_object_names
4
6
 
5
7
 
@@ -8,3 +10,10 @@ def check(context: Context, manifest: Manifest):
8
10
  for node in get_manifest_object_names():
9
11
  for obj in commands.get_nodes(context, manifest, node).values():
10
12
  check(context, obj)
13
+
14
+ # Check if the configuration does not contain unknown models
15
+ rc: RawConfig = context.get("rc")
16
+ if rc.has("models"):
17
+ for name in rc.keys("models"):
18
+ if not commands.has_model(context, manifest, name):
19
+ raise ModelNotFound(manifest, model=name)