datacharter 0.3.1__tar.gz → 0.3.2__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 (233) hide show
  1. {datacharter-0.3.1 → datacharter-0.3.2}/CHANGELOG.md +9 -0
  2. {datacharter-0.3.1 → datacharter-0.3.2}/PKG-INFO +1 -1
  3. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/__init__.py +1 -1
  4. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/contracts/loader.py +4 -2
  5. {datacharter-0.3.1 → datacharter-0.3.2}/tests/contracts/test_loader.py +18 -0
  6. {datacharter-0.3.1 → datacharter-0.3.2}/tests/test_cli_init.py +23 -0
  7. {datacharter-0.3.1 → datacharter-0.3.2}/.github/workflows/banned-terms.yml +0 -0
  8. {datacharter-0.3.1 → datacharter-0.3.2}/.github/workflows/release.yml +0 -0
  9. {datacharter-0.3.1 → datacharter-0.3.2}/.github/workflows/test.yml +0 -0
  10. {datacharter-0.3.1 → datacharter-0.3.2}/.gitignore +0 -0
  11. {datacharter-0.3.1 → datacharter-0.3.2}/CODE_OF_CONDUCT.md +0 -0
  12. {datacharter-0.3.1 → datacharter-0.3.2}/CONTRIBUTING.md +0 -0
  13. {datacharter-0.3.1 → datacharter-0.3.2}/LICENSE +0 -0
  14. {datacharter-0.3.1 → datacharter-0.3.2}/README.md +0 -0
  15. {datacharter-0.3.1 → datacharter-0.3.2}/SECURITY.md +0 -0
  16. {datacharter-0.3.1 → datacharter-0.3.2}/THIRD-PARTY-NOTICES.md +0 -0
  17. {datacharter-0.3.1 → datacharter-0.3.2}/TRADEMARKS.md +0 -0
  18. {datacharter-0.3.1 → datacharter-0.3.2}/brand/README.md +0 -0
  19. {datacharter-0.3.1 → datacharter-0.3.2}/brand/demo.gif +0 -0
  20. {datacharter-0.3.1 → datacharter-0.3.2}/brand/hero.png +0 -0
  21. {datacharter-0.3.1 → datacharter-0.3.2}/brand/mark.svg +0 -0
  22. {datacharter-0.3.1 → datacharter-0.3.2}/brand/screenshot-m4-agent.png +0 -0
  23. {datacharter-0.3.1 → datacharter-0.3.2}/brand/screenshot-m5-complete.png +0 -0
  24. {datacharter-0.3.1 → datacharter-0.3.2}/brand/screenshot-m5-core.png +0 -0
  25. {datacharter-0.3.1 → datacharter-0.3.2}/brand/screenshot-m5-features.png +0 -0
  26. {datacharter-0.3.1 → datacharter-0.3.2}/compose.yaml +0 -0
  27. {datacharter-0.3.1 → datacharter-0.3.2}/docs/_config.yml +0 -0
  28. {datacharter-0.3.1 → datacharter-0.3.2}/docs/about.md +0 -0
  29. {datacharter-0.3.1 → datacharter-0.3.2}/docs/agent.md +0 -0
  30. {datacharter-0.3.1 → datacharter-0.3.2}/docs/assets/add-source.gif +0 -0
  31. {datacharter-0.3.1 → datacharter-0.3.2}/docs/assets/drag-drop.gif +0 -0
  32. {datacharter-0.3.1 → datacharter-0.3.2}/docs/assets/hero.png +0 -0
  33. {datacharter-0.3.1 → datacharter-0.3.2}/docs/assets/screenshot.png +0 -0
  34. {datacharter-0.3.1 → datacharter-0.3.2}/docs/assets/snapshot.gif +0 -0
  35. {datacharter-0.3.1 → datacharter-0.3.2}/docs/charter-yaml.md +0 -0
  36. {datacharter-0.3.1 → datacharter-0.3.2}/docs/cli.md +0 -0
  37. {datacharter-0.3.1 → datacharter-0.3.2}/docs/faq.md +0 -0
  38. {datacharter-0.3.1 → datacharter-0.3.2}/docs/index.html +0 -0
  39. {datacharter-0.3.1 → datacharter-0.3.2}/docs/mcp.md +0 -0
  40. {datacharter-0.3.1 → datacharter-0.3.2}/docs/quickstart.md +0 -0
  41. {datacharter-0.3.1 → datacharter-0.3.2}/docs/security.md +0 -0
  42. {datacharter-0.3.1 → datacharter-0.3.2}/docs/sources.md +0 -0
  43. {datacharter-0.3.1 → datacharter-0.3.2}/docs/workspace.md +0 -0
  44. {datacharter-0.3.1 → datacharter-0.3.2}/pyproject.toml +0 -0
  45. {datacharter-0.3.1 → datacharter-0.3.2}/scripts/build_ui.sh +0 -0
  46. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/agent/__init__.py +0 -0
  47. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/agent/cache.py +0 -0
  48. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/agent/llm.py +0 -0
  49. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/agent/loop.py +0 -0
  50. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/agent/tools.py +0 -0
  51. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/cli.py +0 -0
  52. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/contracts/__init__.py +0 -0
  53. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/contracts/metrics.py +0 -0
  54. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/contracts/pii.py +0 -0
  55. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/contracts/resolve.py +0 -0
  56. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/contracts/secrets.py +0 -0
  57. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/contracts/writer.py +0 -0
  58. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/engine/__init__.py +0 -0
  59. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/engine/aggregate.py +0 -0
  60. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/engine/guard.py +0 -0
  61. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/engine/provenance.py +0 -0
  62. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/engine/pushdown.py +0 -0
  63. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/engine/scrub.py +0 -0
  64. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/engine/session.py +0 -0
  65. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/engine/snowflake.py +0 -0
  66. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/engine/sources.py +0 -0
  67. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/engine/statekey.py +0 -0
  68. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/mcp/__init__.py +0 -0
  69. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/mcp/server.py +0 -0
  70. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/models.py +0 -0
  71. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/__init__.py +0 -0
  72. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/app.py +0 -0
  73. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/llm_admin.py +0 -0
  74. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/security.py +0 -0
  75. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/source_admin.py +0 -0
  76. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/abap-DLDM7-KI.js +0 -0
  77. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/apex-DNDY2TF8.js +0 -0
  78. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/azcli-Y6nb8tq_.js +0 -0
  79. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/bat-BwHxbl9M.js +0 -0
  80. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/bicep-CFznDFnq.js +0 -0
  81. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/cameligo-Bf6VGUru.js +0 -0
  82. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/clojure-Dnu-v4kV.js +0 -0
  83. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/codicon-Brq4_Ui5.ttf +0 -0
  84. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/coffee-Bd8akH9Z.js +0 -0
  85. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/cpp-BbWJElDN.js +0 -0
  86. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/csharp-Co3qMtFm.js +0 -0
  87. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/csp-D-4FJmMZ.js +0 -0
  88. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/css-DdJfP1eB.js +0 -0
  89. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/css.worker-CqwWTjeG.js +0 -0
  90. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/cssMode-BuAVOLr4.js +0 -0
  91. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/cypher-cTPe9QuQ.js +0 -0
  92. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/dart-BOtBlQCF.js +0 -0
  93. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/dockerfile-BG73LgW2.js +0 -0
  94. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/ecl-BEgZUVRK.js +0 -0
  95. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/editor.worker-DCKwvLbM.js +0 -0
  96. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/elixir-BkW5O-1t.js +0 -0
  97. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/flow9-BeJ5waoc.js +0 -0
  98. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/freemarker2-DM0thzwF.js +0 -0
  99. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/fsharp-PahG7c26.js +0 -0
  100. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/go-acbASCJo.js +0 -0
  101. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/graphql-BxJiqAUM.js +0 -0
  102. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/handlebars-BkMf3Qj4.js +0 -0
  103. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/hcl-DtV1sZF8.js +0 -0
  104. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/html-KeNy2AFd.js +0 -0
  105. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/html.worker-DhJ4VZMp.js +0 -0
  106. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/htmlMode-CN5rSB9p.js +0 -0
  107. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/index-CX4OWOHb.css +0 -0
  108. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/index-CuaSFI7T.js +0 -0
  109. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/ini-Kd9XrMLS.js +0 -0
  110. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/java-CXBNlu9o.js +0 -0
  111. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/javascript-CZu1iw4q.js +0 -0
  112. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/json.worker-BF9eV5mS.js +0 -0
  113. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/jsonMode-BtMXpE2Q.js +0 -0
  114. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/julia-cl7-CwDS.js +0 -0
  115. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/kotlin-s7OhZKlX.js +0 -0
  116. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/less-9HpZscsL.js +0 -0
  117. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/lexon-OrD6JF1K.js +0 -0
  118. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/liquid-mhqehfbE.js +0 -0
  119. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/lspLanguageFeatures-D1NXFkgg.js +0 -0
  120. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/lua-Cyyb5UIc.js +0 -0
  121. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/m3-B8OfTtLu.js +0 -0
  122. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/markdown-BFxVWTOG.js +0 -0
  123. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/mdx-69yOd9f1.js +0 -0
  124. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/mips-CiqrrVzr.js +0 -0
  125. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/monaco-CB2SckMT.css +0 -0
  126. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/monaco-DNze5gXB.js +0 -0
  127. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/msdax-DmeGPVcC.js +0 -0
  128. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/mysql-C_tMU-Nz.js +0 -0
  129. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/objective-c-BDtDVThU.js +0 -0
  130. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/pascal-vHIfCaH5.js +0 -0
  131. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/pascaligo-DtZ0uQbO.js +0 -0
  132. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/perl-Ub6l9XKa.js +0 -0
  133. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/pgsql-BlNEE0v7.js +0 -0
  134. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/php-BBUBE1dy.js +0 -0
  135. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/pla-DSh2-awV.js +0 -0
  136. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/postiats-CocnycG-.js +0 -0
  137. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/powerquery-tScXyioY.js +0 -0
  138. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/powershell-COWaemsV.js +0 -0
  139. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/protobuf-Brw8urJB.js +0 -0
  140. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/pug-8SOpv6rk.js +0 -0
  141. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/python-C5qpjWC4.js +0 -0
  142. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/qsharp-Bw9ernYp.js +0 -0
  143. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/r-j7ic8hl3.js +0 -0
  144. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/razor-fg0l3XC9.js +0 -0
  145. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/redis-Bu5POkcn.js +0 -0
  146. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/redshift-Bs9aos_-.js +0 -0
  147. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/restructuredtext-CqXO7rUv.js +0 -0
  148. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/ruby-zBfavPgS.js +0 -0
  149. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/rust-BzKRNQWT.js +0 -0
  150. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/sb-BBc9UKZt.js +0 -0
  151. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/scala-D9hQfWCl.js +0 -0
  152. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/scheme-BPhDTwHR.js +0 -0
  153. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/scss-CBJaRo0y.js +0 -0
  154. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/shell-DiJ1NA_G.js +0 -0
  155. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/solidity-Db0IVjzk.js +0 -0
  156. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/sophia-CnS9iZB_.js +0 -0
  157. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/sparql-CJmd_6j2.js +0 -0
  158. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/sql-ClhHkBeG.js +0 -0
  159. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/st-CHwy0fLd.js +0 -0
  160. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/swift-Bqt4WxQ4.js +0 -0
  161. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/systemverilog-Bs9z6M-B.js +0 -0
  162. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/tcl-Dm6ycUr_.js +0 -0
  163. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/ts.worker-DTZAwq0V.js +0 -0
  164. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/tsMode-CaXNdXrQ.js +0 -0
  165. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/twig-Csy3S7wG.js +0 -0
  166. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/typescript-CCbVPqil.js +0 -0
  167. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/typespec-Btyra-wh.js +0 -0
  168. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/vb-Db0cS2oM.js +0 -0
  169. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/wgsl-BTesnYfV.js +0 -0
  170. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/workers-CwEVRSMl.js +0 -0
  171. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/xml-CIpcyvha.js +0 -0
  172. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/assets/yaml-CiikAWeE.js +0 -0
  173. {datacharter-0.3.1 → datacharter-0.3.2}/src/datacharter/server/static/index.html +0 -0
  174. {datacharter-0.3.1 → datacharter-0.3.2}/tests/agent/test_agent.py +0 -0
  175. {datacharter-0.3.1 → datacharter-0.3.2}/tests/agent/test_cache.py +0 -0
  176. {datacharter-0.3.1 → datacharter-0.3.2}/tests/agent/test_llm_wire.py +0 -0
  177. {datacharter-0.3.1 → datacharter-0.3.2}/tests/contracts/test_metrics.py +0 -0
  178. {datacharter-0.3.1 → datacharter-0.3.2}/tests/contracts/test_pii.py +0 -0
  179. {datacharter-0.3.1 → datacharter-0.3.2}/tests/contracts/test_secrets_store.py +0 -0
  180. {datacharter-0.3.1 → datacharter-0.3.2}/tests/contracts/test_writer.py +0 -0
  181. {datacharter-0.3.1 → datacharter-0.3.2}/tests/engine/test_aggregate.py +0 -0
  182. {datacharter-0.3.1 → datacharter-0.3.2}/tests/engine/test_diff.py +0 -0
  183. {datacharter-0.3.1 → datacharter-0.3.2}/tests/engine/test_federation.py +0 -0
  184. {datacharter-0.3.1 → datacharter-0.3.2}/tests/engine/test_guard.py +0 -0
  185. {datacharter-0.3.1 → datacharter-0.3.2}/tests/engine/test_provenance.py +0 -0
  186. {datacharter-0.3.1 → datacharter-0.3.2}/tests/engine/test_pushdown.py +0 -0
  187. {datacharter-0.3.1 → datacharter-0.3.2}/tests/engine/test_scrub.py +0 -0
  188. {datacharter-0.3.1 → datacharter-0.3.2}/tests/engine/test_session.py +0 -0
  189. {datacharter-0.3.1 → datacharter-0.3.2}/tests/engine/test_source_lifecycle.py +0 -0
  190. {datacharter-0.3.1 → datacharter-0.3.2}/tests/engine/test_sources.py +0 -0
  191. {datacharter-0.3.1 → datacharter-0.3.2}/tests/integration/seed/mysql.sql +0 -0
  192. {datacharter-0.3.1 → datacharter-0.3.2}/tests/integration/seed/postgres.sql +0 -0
  193. {datacharter-0.3.1 → datacharter-0.3.2}/tests/integration/test_live_sources.py +0 -0
  194. {datacharter-0.3.1 → datacharter-0.3.2}/tests/mcp/test_mcp_server.py +0 -0
  195. {datacharter-0.3.1 → datacharter-0.3.2}/tests/server/test_api.py +0 -0
  196. {datacharter-0.3.1 → datacharter-0.3.2}/tests/server/test_llm_admin.py +0 -0
  197. {datacharter-0.3.1 → datacharter-0.3.2}/tests/server/test_offline.py +0 -0
  198. {datacharter-0.3.1 → datacharter-0.3.2}/tests/server/test_security.py +0 -0
  199. {datacharter-0.3.1 → datacharter-0.3.2}/tests/server/test_source_admin.py +0 -0
  200. {datacharter-0.3.1 → datacharter-0.3.2}/tests/server/test_sources_api.py +0 -0
  201. {datacharter-0.3.1 → datacharter-0.3.2}/tests/test_agent_vidaimock_e2e.py +0 -0
  202. {datacharter-0.3.1 → datacharter-0.3.2}/tests/test_drift.py +0 -0
  203. {datacharter-0.3.1 → datacharter-0.3.2}/tests/test_explain.py +0 -0
  204. {datacharter-0.3.1 → datacharter-0.3.2}/tests/test_packaging_e2e.py +0 -0
  205. {datacharter-0.3.1 → datacharter-0.3.2}/tests/test_sample.py +0 -0
  206. {datacharter-0.3.1 → datacharter-0.3.2}/tests/test_scaffold.py +0 -0
  207. {datacharter-0.3.1 → datacharter-0.3.2}/tests/test_secrets_cli.py +0 -0
  208. {datacharter-0.3.1 → datacharter-0.3.2}/tests/test_snapshot_recheck.py +0 -0
  209. {datacharter-0.3.1 → datacharter-0.3.2}/ui/index.html +0 -0
  210. {datacharter-0.3.1 → datacharter-0.3.2}/ui/package-lock.json +0 -0
  211. {datacharter-0.3.1 → datacharter-0.3.2}/ui/package.json +0 -0
  212. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/App.tsx +0 -0
  213. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/api.ts +0 -0
  214. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/components/ChartPanel.tsx +0 -0
  215. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/components/ChatPanel.tsx +0 -0
  216. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/components/HelpModal.tsx +0 -0
  217. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/components/LLMConfig.tsx +0 -0
  218. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/components/QueryFiles.tsx +0 -0
  219. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/components/ResultsGrid.tsx +0 -0
  220. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/components/SourceForm.tsx +0 -0
  221. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/components/SourceTree.tsx +0 -0
  222. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/components/SourcesView.tsx +0 -0
  223. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/components/Tutorial.tsx +0 -0
  224. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/lib/caption.ts +0 -0
  225. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/lib/chartSpec.ts +0 -0
  226. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/lib/columns.ts +0 -0
  227. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/lib/useResize.ts +0 -0
  228. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/main.tsx +0 -0
  229. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/monaco.ts +0 -0
  230. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/styles.css +0 -0
  231. {datacharter-0.3.1 → datacharter-0.3.2}/ui/src/vite-env.d.ts +0 -0
  232. {datacharter-0.3.1 → datacharter-0.3.2}/ui/tsconfig.json +0 -0
  233. {datacharter-0.3.1 → datacharter-0.3.2}/ui/vite.config.ts +0 -0
@@ -5,6 +5,15 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [0.3.2] - 2026-07-24
9
+
10
+ ### Fixed
11
+
12
+ - `datacharter init` then `datacharter serve` failed with a `CharterError`: the
13
+ scaffolded charter uses an empty `sources: {}`, which the loader wrongly
14
+ rejected as "must be a non-empty mapping". A fresh workspace is now servable —
15
+ add sources afterward via `charter.yaml` or the in-app source manager.
16
+
8
17
  ## [0.3.1] - 2026-07-24
9
18
 
10
19
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datacharter
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: Charter your data — contract-governed local data exploration, powered by DuckDB
5
5
  Project-URL: Homepage, https://github.com/datacharter/datacharter
6
6
  Project-URL: Repository, https://github.com/datacharter/datacharter
@@ -1,3 +1,3 @@
1
1
  """DataCharter — contract-governed local data exploration."""
2
2
 
3
- __version__ = "0.3.1"
3
+ __version__ = "0.3.2"
@@ -52,8 +52,10 @@ def load_charter(workspace: Path | str, filename: str = CHARTER_FILE) -> Charter
52
52
  f"{filename}: unsupported version {version!r}; expected {SUPPORTED_VERSION}."
53
53
  )
54
54
  sources_raw = raw.get("sources")
55
- if not isinstance(sources_raw, dict) or not sources_raw:
56
- raise CharterError(f"{filename}: 'sources' must be a non-empty mapping of name -> source.")
55
+ if sources_raw is None: # a fresh `datacharter init` workspace: add sources later
56
+ sources_raw = {}
57
+ if not isinstance(sources_raw, dict):
58
+ raise CharterError(f"{filename}: 'sources' must be a mapping of name -> source.")
57
59
 
58
60
  resolver = SecretResolver(workspace)
59
61
  warnings: list[str] = []
@@ -16,6 +16,24 @@ def test_minimal_file_source_loads(tmp_path):
16
16
  assert charter.warnings == []
17
17
 
18
18
 
19
+ def test_empty_sources_loads_as_fresh_workspace(tmp_path):
20
+ # `datacharter init` scaffolds `sources: {}`; a fresh workspace must be servable
21
+ # (sources are added later, via charter.yaml or the in-app source manager).
22
+ charter = load_charter(write_charter(tmp_path, "version: 1\nsources: {}\n"))
23
+ assert charter.sources == []
24
+
25
+
26
+ def test_null_sources_loads_as_empty(tmp_path):
27
+ charter = load_charter(write_charter(tmp_path, "version: 1\nsources:\n"))
28
+ assert charter.sources == []
29
+
30
+
31
+ def test_non_mapping_sources_rejected(tmp_path):
32
+ ws = write_charter(tmp_path, "version: 1\nsources:\n - a\n - b\n")
33
+ with pytest.raises(CharterError, match=r"'sources' must be a mapping"):
34
+ load_charter(ws)
35
+
36
+
19
37
  def test_env_reference_resolution(tmp_path, monkeypatch):
20
38
  monkeypatch.setenv("PG_PW", "resolved-pw-value")
21
39
  ws = write_charter(
@@ -44,6 +44,29 @@ def test_demo_workspace_loads_and_queries_end_to_end(tmp_path):
44
44
  assert len(result.rows) == 2
45
45
 
46
46
 
47
+ def test_plain_init_charter_loads_as_empty(tmp_path):
48
+ # Regression: plain `init` scaffolds `sources: {}`; the scaffolded charter MUST
49
+ # load. 0.3.1 shipped an init template that `load_charter` then refused.
50
+ assert main(["init", str(tmp_path)]) == 0
51
+ charter = load_charter(tmp_path)
52
+ assert charter.sources == []
53
+
54
+
55
+ def test_plain_init_workspace_serves_end_to_end(tmp_path):
56
+ # The real user path `init` -> `serve`: create_app must boot on a fresh empty
57
+ # workspace and the sources API returns an empty list (sources added later).
58
+ from fastapi.testclient import TestClient
59
+
60
+ from datacharter.server import create_app
61
+
62
+ assert main(["init", str(tmp_path)]) == 0
63
+ app = create_app(tmp_path)
64
+ with TestClient(app, base_url="http://127.0.0.1") as c:
65
+ resp = c.get("/api/sources")
66
+ assert resp.status_code == 200
67
+ assert resp.json()["sources"] == []
68
+
69
+
47
70
  def test_serve_workspace_resolution_prefers_existing_charter(tmp_path):
48
71
  from datacharter.cli import _resolve_serve_workspace, main
49
72
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes