quickdbd-cli 0.2.3__tar.gz → 0.3.0__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 (257) hide show
  1. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/PKG-INFO +9 -5
  2. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/README.md +6 -3
  3. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/pyproject.toml +3 -3
  4. quickdbd_cli-0.3.0/src/quickdbd_cli/__init__.py +1 -0
  5. quickdbd_cli-0.3.0/src/quickdbd_cli/agent.py +863 -0
  6. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/assets/render.js +46 -11
  7. quickdbd_cli-0.3.0/src/quickdbd_cli/assets/syntax-reference.md +137 -0
  8. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/assets/viewer.js +2 -1
  9. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/cli.py +87 -4
  10. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/diff.py +28 -3
  11. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/jsrt.py +27 -8
  12. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/layout.py +3 -3
  13. quickdbd_cli-0.3.0/src/quickdbd_cli/mcp.py +285 -0
  14. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/measure.py +45 -11
  15. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/project.py +4 -1
  16. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/serve.py +13 -2
  17. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/share.py +1 -0
  18. quickdbd_cli-0.3.0/src/quickdbd_cli/targets.py +232 -0
  19. quickdbd_cli-0.3.0/tests/fixtures/targets/cases.json +196 -0
  20. quickdbd_cli-0.3.0/tests/test_agent.py +183 -0
  21. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/test_diff.py +33 -1
  22. quickdbd_cli-0.3.0/tests/test_mcp.py +256 -0
  23. quickdbd_cli-0.3.0/tests/test_path.py +157 -0
  24. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/test_pipeline.py +4 -3
  25. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/test_select.py +42 -0
  26. quickdbd_cli-0.3.0/tests/test_targets.py +102 -0
  27. quickdbd_cli-0.2.3/src/quickdbd_cli/__init__.py +0 -1
  28. quickdbd_cli-0.2.3/tests/test_path.py +0 -67
  29. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/.gitignore +0 -0
  30. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/LICENSE +0 -0
  31. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/NOTICE +0 -0
  32. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/examples/quickdbd-sample.txt +0 -0
  33. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/examples/synthetic/finance.txt +0 -0
  34. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/examples/synthetic/hr.txt +0 -0
  35. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/examples/synthetic/inventory.txt +0 -0
  36. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/examples/synthetic/marketing.txt +0 -0
  37. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/examples/synthetic/qdbd.layout.json +0 -0
  38. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/examples/synthetic/sales.txt +0 -0
  39. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/scripts/build_gallery.py +0 -0
  40. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/scripts/gen_font_metrics.py +0 -0
  41. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/scripts/gen_schema.py +0 -0
  42. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/scripts/gen_thumbnails.py +0 -0
  43. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/scripts/import_dbml_corpus.py +0 -0
  44. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/scripts/release.sh +0 -0
  45. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/__main__.py +0 -0
  46. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/assets/Inter-Bold.ttf +0 -0
  47. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/assets/Inter-Bold.woff2 +0 -0
  48. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/assets/Inter-LICENSE.txt +0 -0
  49. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/assets/Inter-Regular.ttf +0 -0
  50. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/assets/Inter-Regular.woff2 +0 -0
  51. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/assets/editor.js +0 -0
  52. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/assets/elk-LICENSE.md +0 -0
  53. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/assets/elk.bundled.js +0 -0
  54. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/assets/font-metrics.json +0 -0
  55. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/assets/style.css +0 -0
  56. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/convert.py +0 -0
  57. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/dbml.py +0 -0
  58. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/dbt.py +0 -0
  59. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/export.py +0 -0
  60. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/html.py +0 -0
  61. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/model.py +0 -0
  62. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/parser.py +0 -0
  63. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/src/quickdbd_cli/tags.py +0 -0
  64. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml/team.dbml +0 -0
  65. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/LICENSE +0 -0
  66. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/README.md +0 -0
  67. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/alias_of_duplicated_names.dbml +0 -0
  68. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/alias_of_duplicated_names.json +0 -0
  69. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/dep.dbml +0 -0
  70. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/dep.json +0 -0
  71. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/duplicate_columns.dbml +0 -0
  72. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/duplicate_columns.json +0 -0
  73. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/duplicate_enum_field.dbml +0 -0
  74. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/duplicate_enum_field.json +0 -0
  75. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/duplicate_name.dbml +0 -0
  76. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/duplicate_name.json +0 -0
  77. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/duplicate_names.dbml +0 -0
  78. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/duplicate_names.json +0 -0
  79. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/duplicate_table_partial_injections.dbml +0 -0
  80. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/duplicate_table_partial_injections.json +0 -0
  81. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/enum_as_default_column_value.dbml +0 -0
  82. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/enum_as_default_column_value.json +0 -0
  83. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/enum_name.dbml +0 -0
  84. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/enum_name.json +0 -0
  85. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/erroneous.dbml +0 -0
  86. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/erroneous.json +0 -0
  87. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/multiple_notes_in_table_group.dbml +0 -0
  88. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/multiple_notes_in_table_group.json +0 -0
  89. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/nonexisting_column_in_index.dbml +0 -0
  90. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/nonexisting_column_in_index.json +0 -0
  91. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/nonexisting_column_in_index_table_partial.dbml +0 -0
  92. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/nonexisting_column_in_index_table_partial.json +0 -0
  93. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/nonexisting_inline_ref_column_in_table.dbml +0 -0
  94. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/nonexisting_inline_ref_column_in_table.json +0 -0
  95. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/nonexisting_inline_ref_column_in_table_partial.dbml +0 -0
  96. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/nonexisting_inline_ref_column_in_table_partial.json +0 -0
  97. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/ref_validator.dbml +0 -0
  98. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/ref_validator.json +0 -0
  99. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/sticky_notes_validator.dbml +0 -0
  100. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/sticky_notes_validator.json +0 -0
  101. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/table_partial.dbml +0 -0
  102. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/table_partial.json +0 -0
  103. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/unknown_table_group_field.dbml +0 -0
  104. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/binder/unknown_table_group_field.json +0 -0
  105. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/array_type.dbml +0 -0
  106. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/array_type.json +0 -0
  107. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/checks.dbml +0 -0
  108. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/checks.json +0 -0
  109. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/circular_ref_1_inline_1_element.dbml +0 -0
  110. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/circular_ref_1_inline_1_element.json +0 -0
  111. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/circular_ref_2_elements.dbml +0 -0
  112. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/circular_ref_2_elements.json +0 -0
  113. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/circular_ref_2_inlines.dbml +0 -0
  114. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/circular_ref_2_inlines.json +0 -0
  115. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/column_caller_type.dbml +0 -0
  116. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/column_caller_type.json +0 -0
  117. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/comment.dbml +0 -0
  118. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/comment.json +0 -0
  119. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/composite_pk.dbml +0 -0
  120. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/composite_pk.json +0 -0
  121. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/default_tables.dbml +0 -0
  122. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/default_tables.json +0 -0
  123. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/dep.dbml +0 -0
  124. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/dep.json +0 -0
  125. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/dep_color.dbml +0 -0
  126. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/dep_color.json +0 -0
  127. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/dep_duplicate.dbml +0 -0
  128. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/dep_duplicate.json +0 -0
  129. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/dep_pipeline.dbml +0 -0
  130. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/dep_pipeline.json +0 -0
  131. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/enum_as_default_column_value.dbml +0 -0
  132. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/enum_as_default_column_value.json +0 -0
  133. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/enum_tables.dbml +0 -0
  134. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/enum_tables.json +0 -0
  135. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/erroneous.dbml +0 -0
  136. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/erroneous.json +0 -0
  137. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/general_schema.dbml +0 -0
  138. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/general_schema.json +0 -0
  139. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/header_color_tables.dbml +0 -0
  140. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/header_color_tables.json +0 -0
  141. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/index_table_partial.dbml +0 -0
  142. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/index_table_partial.json +0 -0
  143. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/index_tables.dbml +0 -0
  144. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/index_tables.json +0 -0
  145. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/metadata.dbml +0 -0
  146. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/metadata.json +0 -0
  147. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/metadata_errors.dbml +0 -0
  148. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/metadata_errors.json +0 -0
  149. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/multi_notes.dbml +0 -0
  150. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/multi_notes.json +0 -0
  151. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/multiline_string.dbml +0 -0
  152. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/multiline_string.json +0 -0
  153. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/negative_number.dbml +0 -0
  154. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/negative_number.json +0 -0
  155. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/note_normalize.dbml +0 -0
  156. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/note_normalize.json +0 -0
  157. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/note_normalize_with_top_empty_lines.dbml +0 -0
  158. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/note_normalize_with_top_empty_lines.json +0 -0
  159. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/old_undocumented_syntax.dbml +0 -0
  160. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/old_undocumented_syntax.json +0 -0
  161. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/primary_key.dbml +0 -0
  162. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/primary_key.json +0 -0
  163. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/project.dbml +0 -0
  164. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/project.json +0 -0
  165. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/ref_name_and_color_setting.dbml +0 -0
  166. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/ref_name_and_color_setting.json +0 -0
  167. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/ref_settings.dbml +0 -0
  168. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/ref_settings.json +0 -0
  169. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/referential_actions.dbml +0 -0
  170. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/referential_actions.json +0 -0
  171. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/self_referential_ref_in_tablepartial.dbml +0 -0
  172. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/self_referential_ref_in_tablepartial.json +0 -0
  173. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/sticky_notes.dbml +0 -0
  174. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/sticky_notes.json +0 -0
  175. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/table_element.dbml +0 -0
  176. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/table_element.json +0 -0
  177. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/table_group.dbml +0 -0
  178. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/table_group.json +0 -0
  179. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/table_group_element.dbml +0 -0
  180. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/table_group_element.json +0 -0
  181. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/table_group_settings.dbml +0 -0
  182. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/table_group_settings.json +0 -0
  183. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/table_partial.dbml +0 -0
  184. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/table_partial.json +0 -0
  185. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/table_reappear_tablegroup.dbml +0 -0
  186. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/table_reappear_tablegroup.json +0 -0
  187. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/table_settings.dbml +0 -0
  188. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/table_settings.json +0 -0
  189. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/tablepartial_causing_circular_ref.dbml +0 -0
  190. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/tablepartial_causing_circular_ref.json +0 -0
  191. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/two_inline_refs.dbml +0 -0
  192. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/interpreter/two_inline_refs.json +0 -0
  193. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/parser/call_expression.dbml +0 -0
  194. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/parser/call_expression.json +0 -0
  195. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/parser/element_in_simple_body.dbml +0 -0
  196. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/parser/element_in_simple_body.json +0 -0
  197. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/parser/erroneous_setting.dbml +0 -0
  198. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/parser/erroneous_setting.json +0 -0
  199. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/parser/expression.dbml +0 -0
  200. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/parser/expression.json +0 -0
  201. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/parser/last_invalid_number.dbml +0 -0
  202. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/parser/last_invalid_number.json +0 -0
  203. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/parser/list_expression.dbml +0 -0
  204. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/parser/list_expression.json +0 -0
  205. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/parser/trailing_comments.dbml +0 -0
  206. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/parser/trailing_comments.json +0 -0
  207. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/parser/tuple_expression.dbml +0 -0
  208. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/parser/tuple_expression.json +0 -0
  209. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/checks.dbml +0 -0
  210. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/checks.json +0 -0
  211. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/complex_names.dbml +0 -0
  212. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/complex_names.json +0 -0
  213. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/dep.dbml +0 -0
  214. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/dep.json +0 -0
  215. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/enum.dbml +0 -0
  216. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/enum.json +0 -0
  217. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/invalid_args.dbml +0 -0
  218. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/invalid_args.json +0 -0
  219. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/public_schema.dbml +0 -0
  220. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/public_schema.json +0 -0
  221. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/redefined_note.dbml +0 -0
  222. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/redefined_note.json +0 -0
  223. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/ref_error_setting.dbml +0 -0
  224. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/ref_error_setting.json +0 -0
  225. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/ref_in_table.dbml +0 -0
  226. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/ref_in_table.json +0 -0
  227. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/schema_nested_tablegroup.dbml +0 -0
  228. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/schema_nested_tablegroup.json +0 -0
  229. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/table_group_settings.dbml +0 -0
  230. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/table_group_settings.json +0 -0
  231. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/table_partial_check.dbml +0 -0
  232. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/table_partial_check.json +0 -0
  233. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/table_partial_settings_general.dbml +0 -0
  234. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/table_partial_settings_general.json +0 -0
  235. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/table_settings_check.dbml +0 -0
  236. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/table_settings_check.json +0 -0
  237. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/table_settings_general.dbml +0 -0
  238. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/table_settings_general.json +0 -0
  239. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/wrong_sub_element_declarations.dbml +0 -0
  240. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/wrong_sub_element_declarations.json +0 -0
  241. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/wrong_table_partial_injection_syntax.dbml +0 -0
  242. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/dbml-ref/validator/wrong_table_partial_injection_syntax.json +0 -0
  243. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/jaffle/LICENSE +0 -0
  244. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/jaffle/README.md +0 -0
  245. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/jaffle/catalog.json +0 -0
  246. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/fixtures/jaffle/manifest.json +0 -0
  247. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/test_convert.py +0 -0
  248. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/test_dbml.py +0 -0
  249. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/test_dbml_pipeline.py +0 -0
  250. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/test_dbt.py +0 -0
  251. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/test_gallery.py +0 -0
  252. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/test_packaging.py +0 -0
  253. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/test_parser.py +0 -0
  254. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/test_render.py +0 -0
  255. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/test_serve.py +0 -0
  256. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/test_share.py +0 -0
  257. {quickdbd_cli-0.2.3 → quickdbd_cli-0.3.0}/tests/test_tags.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: quickdbd-cli
3
- Version: 0.2.3
3
+ Version: 0.3.0
4
4
  Summary: Compile QuickDBD-syntax schema files into interactive HTML ER diagrams, with no table limit.
5
5
  Project-URL: Homepage, https://github.com/MarkPhamm/quickdbd-cli
6
6
  Author: Minh (Mark) Pham
@@ -9,7 +9,7 @@ License-File: LICENSE
9
9
  License-File: NOTICE
10
10
  License-File: src/quickdbd_cli/assets/Inter-LICENSE.txt
11
11
  License-File: src/quickdbd_cli/assets/elk-LICENSE.md
12
- Keywords: database,diagram,erd,quickdbd,schema
12
+ Keywords: database,dbml,diagram,erd,mcp,quickdbd,schema
13
13
  Classifier: Environment :: Console
14
14
  Classifier: Programming Language :: Python :: 3
15
15
  Classifier: Topic :: Database
@@ -19,6 +19,7 @@ Requires-Dist: mini-racer>=0.14
19
19
  Requires-Dist: resvg-py>=0.5
20
20
  Provides-Extra: dev
21
21
  Requires-Dist: fonttools>=4.50; extra == 'dev'
22
+ Requires-Dist: mcp<3,>=2.3; extra == 'dev'
22
23
  Requires-Dist: pytest>=8; extra == 'dev'
23
24
  Requires-Dist: ruff>=0.6; extra == 'dev'
24
25
  Provides-Extra: docs
@@ -65,7 +66,8 @@ qdbd is not affiliated with QuickDBD or dbdiagram.io. It reads the same text syn
65
66
  - **dbt import**: `qdbd import dbt` reads `manifest.json`. Primary keys come from `unique` + `not_null` tests or constraints, relationships from `relationships` tests, and `--infer-fks` fills the gaps from column names.
66
67
  - **Readable at 200+ tables**: automatic layout, search, dbt-style selectors (`+orders+1`, `group:marts`, `tag:fact`), shaded regions per file, collapsed views and a minimap.
67
68
  - **Review changes in pull requests**: `qdbd diff` reports what a branch changed, the GitHub Action posts it as a PR comment, and `--diff-base` colours the changes in the diagram.
68
- - **VS Code extension**: highlighting, errors as you type, outline, F12 across files, and the diagram beside the editor, following your cursor. Export, share, compare with git and dbt import from the Command Palette, with no terminal: it installs the CLI itself. Get it from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=MarkPhamm.quickdbd) or, for Cursor, Windsurf and VSCodium, [Open VSX](https://open-vsx.org/extension/MarkPhamm/quickdbd) ([docs](https://qdbd.dev/vscode/)).
69
+ - **VS Code extension**: highlighting, errors as you type, outline, F12 across files, and the diagram beside the editor, following your cursor, or in your browser on localhost. Export, share, compare with git, convert to and from DBML, and dbt import from the sidebar or the Command Palette, with no terminal: it installs the CLI itself. Get it from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=MarkPhamm.quickdbd) or, for Cursor, Windsurf and VSCodium, [Open VSX](https://open-vsx.org/extension/MarkPhamm/quickdbd) ([docs](https://qdbd.dev/vscode/)).
70
+ - **AI agents**: `qdbd mcp` gives Claude, Copilot and Cursor your schema as tools: tables and columns, join paths as SQL (composite keys included), checks for their edits and diffs against `main` ([docs](https://qdbd.dev/mcp/)).
69
71
  - **One schema, many outputs**: an HTML page, PNG, SVG, editable draw.io, or a shareable link. Installs with pip: no Node, Graphviz or browser needed.
70
72
 
71
73
  ## Demo gallery
@@ -178,7 +180,8 @@ hand-written / pasted ─────────┘ │
178
180
  ├──▶ qdbd serve live editor, drag to arrange ──▶ schema.layout.json
179
181
  ├──▶ qdbd build interactive HTML ──▶ GitHub Pages, artifacts
180
182
  ├──▶ qdbd diff what changed vs main ──▶ PR comment
181
- └──▶ qdbd export PNG · SVG · draw.io ──▶ docs, slides, wikis
183
+ ├──▶ qdbd export PNG · SVG · draw.io ──▶ docs, slides, wikis
184
+ └──▶ qdbd mcp schema tools for AI agents ──▶ Claude, Copilot, Cursor
182
185
  ```
183
186
 
184
187
  - **The parser** follows QuickDBD's own parser step by step, so the same text gives the same tables and the same errors.
@@ -230,7 +233,7 @@ No. qdbd only borrows the text syntax.
230
233
  No. It reads `.txt` / `.dbml` schema files or a dbt `manifest.json`. Nothing connects to a warehouse.
231
234
 
232
235
  **Does my schema leave my machine?**
233
- Only if you run `qdbd share`, which uploads the page to a GitHub gist in your account (secret by default). `qdbd serve` loads its code editor from a CDN; the built pages load nothing.
236
+ Only if you run `qdbd share`, which uploads the page to a GitHub gist in your account (secret by default), or connect an AI agent through `qdbd mcp`, whose answers go to your AI provider. `qdbd serve` loads its code editor from a CDN; the built pages load nothing.
234
237
 
235
238
  **How big can a diagram get?**
236
239
  The demos go up to 200 tables. Search, selectors, regions and collapsed views keep large diagrams workable; `--select` builds a page with just the part you need.
@@ -244,6 +247,7 @@ You edit the text; the diagram is generated from it. Table positions are the one
244
247
  - [Schema Syntax](https://qdbd.dev/syntax/), [many files](https://qdbd.dev/files/), [table positions](https://qdbd.dev/layout/), [tags and colours](https://qdbd.dev/tags/)
245
248
  - [Reading the Diagram](https://qdbd.dev/reading-the-diagram/), [selectors](https://qdbd.dev/selectors/), [exports](https://qdbd.dev/exports/), [sharing a link](https://qdbd.dev/sharing/)
246
249
  - [dbt Projects](https://qdbd.dev/dbt/), with a [jaffle_shop walkthrough](https://qdbd.dev/example/)
250
+ - [AI Agents (MCP)](https://qdbd.dev/mcp/): `qdbd mcp` for Claude, Copilot and Cursor
247
251
  - [Schema Diffs](https://qdbd.dev/diffs/), the [GitHub Action](https://qdbd.dev/github-action/) and the [CLI reference](https://qdbd.dev/cli/)
248
252
  - [Development](https://qdbd.dev/development/): working on qdbd itself, releasing, and adding a demo
249
253
 
@@ -37,7 +37,8 @@ qdbd is not affiliated with QuickDBD or dbdiagram.io. It reads the same text syn
37
37
  - **dbt import**: `qdbd import dbt` reads `manifest.json`. Primary keys come from `unique` + `not_null` tests or constraints, relationships from `relationships` tests, and `--infer-fks` fills the gaps from column names.
38
38
  - **Readable at 200+ tables**: automatic layout, search, dbt-style selectors (`+orders+1`, `group:marts`, `tag:fact`), shaded regions per file, collapsed views and a minimap.
39
39
  - **Review changes in pull requests**: `qdbd diff` reports what a branch changed, the GitHub Action posts it as a PR comment, and `--diff-base` colours the changes in the diagram.
40
- - **VS Code extension**: highlighting, errors as you type, outline, F12 across files, and the diagram beside the editor, following your cursor. Export, share, compare with git and dbt import from the Command Palette, with no terminal: it installs the CLI itself. Get it from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=MarkPhamm.quickdbd) or, for Cursor, Windsurf and VSCodium, [Open VSX](https://open-vsx.org/extension/MarkPhamm/quickdbd) ([docs](https://qdbd.dev/vscode/)).
40
+ - **VS Code extension**: highlighting, errors as you type, outline, F12 across files, and the diagram beside the editor, following your cursor, or in your browser on localhost. Export, share, compare with git, convert to and from DBML, and dbt import from the sidebar or the Command Palette, with no terminal: it installs the CLI itself. Get it from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=MarkPhamm.quickdbd) or, for Cursor, Windsurf and VSCodium, [Open VSX](https://open-vsx.org/extension/MarkPhamm/quickdbd) ([docs](https://qdbd.dev/vscode/)).
41
+ - **AI agents**: `qdbd mcp` gives Claude, Copilot and Cursor your schema as tools: tables and columns, join paths as SQL (composite keys included), checks for their edits and diffs against `main` ([docs](https://qdbd.dev/mcp/)).
41
42
  - **One schema, many outputs**: an HTML page, PNG, SVG, editable draw.io, or a shareable link. Installs with pip: no Node, Graphviz or browser needed.
42
43
 
43
44
  ## Demo gallery
@@ -150,7 +151,8 @@ hand-written / pasted ─────────┘ │
150
151
  ├──▶ qdbd serve live editor, drag to arrange ──▶ schema.layout.json
151
152
  ├──▶ qdbd build interactive HTML ──▶ GitHub Pages, artifacts
152
153
  ├──▶ qdbd diff what changed vs main ──▶ PR comment
153
- └──▶ qdbd export PNG · SVG · draw.io ──▶ docs, slides, wikis
154
+ ├──▶ qdbd export PNG · SVG · draw.io ──▶ docs, slides, wikis
155
+ └──▶ qdbd mcp schema tools for AI agents ──▶ Claude, Copilot, Cursor
154
156
  ```
155
157
 
156
158
  - **The parser** follows QuickDBD's own parser step by step, so the same text gives the same tables and the same errors.
@@ -202,7 +204,7 @@ No. qdbd only borrows the text syntax.
202
204
  No. It reads `.txt` / `.dbml` schema files or a dbt `manifest.json`. Nothing connects to a warehouse.
203
205
 
204
206
  **Does my schema leave my machine?**
205
- Only if you run `qdbd share`, which uploads the page to a GitHub gist in your account (secret by default). `qdbd serve` loads its code editor from a CDN; the built pages load nothing.
207
+ Only if you run `qdbd share`, which uploads the page to a GitHub gist in your account (secret by default), or connect an AI agent through `qdbd mcp`, whose answers go to your AI provider. `qdbd serve` loads its code editor from a CDN; the built pages load nothing.
206
208
 
207
209
  **How big can a diagram get?**
208
210
  The demos go up to 200 tables. Search, selectors, regions and collapsed views keep large diagrams workable; `--select` builds a page with just the part you need.
@@ -216,6 +218,7 @@ You edit the text; the diagram is generated from it. Table positions are the one
216
218
  - [Schema Syntax](https://qdbd.dev/syntax/), [many files](https://qdbd.dev/files/), [table positions](https://qdbd.dev/layout/), [tags and colours](https://qdbd.dev/tags/)
217
219
  - [Reading the Diagram](https://qdbd.dev/reading-the-diagram/), [selectors](https://qdbd.dev/selectors/), [exports](https://qdbd.dev/exports/), [sharing a link](https://qdbd.dev/sharing/)
218
220
  - [dbt Projects](https://qdbd.dev/dbt/), with a [jaffle_shop walkthrough](https://qdbd.dev/example/)
221
+ - [AI Agents (MCP)](https://qdbd.dev/mcp/): `qdbd mcp` for Claude, Copilot and Cursor
219
222
  - [Schema Diffs](https://qdbd.dev/diffs/), the [GitHub Action](https://qdbd.dev/github-action/) and the [CLI reference](https://qdbd.dev/cli/)
220
223
  - [Development](https://qdbd.dev/development/): working on qdbd itself, releasing, and adding a demo
221
224
 
@@ -4,14 +4,14 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "quickdbd-cli"
7
- version = "0.2.3"
7
+ version = "0.3.0"
8
8
  description = "Compile QuickDBD-syntax schema files into interactive HTML ER diagrams, with no table limit."
9
9
  readme = "README.md"
10
10
  license = "Apache-2.0"
11
11
  license-files = ["LICENSE", "NOTICE", "src/quickdbd_cli/assets/*LICENSE*"]
12
12
  requires-python = ">=3.11"
13
13
  authors = [{ name = "Minh (Mark) Pham" }]
14
- keywords = ["erd", "database", "diagram", "quickdbd", "schema"]
14
+ keywords = ["erd", "database", "diagram", "quickdbd", "schema", "dbml", "mcp"]
15
15
  classifiers = [
16
16
  "Programming Language :: Python :: 3",
17
17
  "Environment :: Console",
@@ -24,7 +24,7 @@ dependencies = [
24
24
  ]
25
25
 
26
26
  [project.optional-dependencies]
27
- dev = ["pytest>=8", "ruff>=0.6", "fonttools>=4.50"]
27
+ dev = ["pytest>=8", "ruff>=0.6", "fonttools>=4.50", "mcp>=2.3,<3"] # mcp: interop tests only, not a runtime dep
28
28
  docs = ["mkdocs>=1.6,<2", "mkdocs-material>=9.5,<10"]
29
29
 
30
30
  [project.scripts]
@@ -0,0 +1 @@
1
+ __version__ = "0.3.0"