xwquery 0.0.1.8__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 (692) hide show
  1. xwquery-0.0.1.8/._pytest_status_err.txt +0 -0
  2. xwquery-0.0.1.8/._pytest_status_out.txt +65 -0
  3. xwquery-0.0.1.8/.github/workflows/check-versions.yml +32 -0
  4. xwquery-0.0.1.8/.github/workflows/check_version_source_of_truth.py +147 -0
  5. xwquery-0.0.1.8/.github/workflows/publish.yml +86 -0
  6. xwquery-0.0.1.8/.github/workflows/update_release_date_from_version_file.py +60 -0
  7. xwquery-0.0.1.8/.github/workflows/verify_tag_matches_version.py +72 -0
  8. xwquery-0.0.1.8/.github/workflows-config.yaml +9 -0
  9. xwquery-0.0.1.8/.gitignore +172 -0
  10. xwquery-0.0.1.8/EXTRACTION_SUMMARY.md +353 -0
  11. xwquery-0.0.1.8/LICENSE +22 -0
  12. xwquery-0.0.1.8/PKG-INFO +405 -0
  13. xwquery-0.0.1.8/README.md +384 -0
  14. xwquery-0.0.1.8/SUCCESS_SUMMARY.md +298 -0
  15. xwquery-0.0.1.8/docs/GUIDE_01_USAGE.md +19 -0
  16. xwquery-0.0.1.8/docs/INDEX.md +47 -0
  17. xwquery-0.0.1.8/docs/PROJECT_PHASES.md +219 -0
  18. xwquery-0.0.1.8/docs/README.md +8 -0
  19. xwquery-0.0.1.8/docs/REF_01_REQ.md +127 -0
  20. xwquery-0.0.1.8/docs/REF_12_IDEA.md +73 -0
  21. xwquery-0.0.1.8/docs/REF_13_ARCH.md +77 -0
  22. xwquery-0.0.1.8/docs/REF_14_DX.md +68 -0
  23. xwquery-0.0.1.8/docs/REF_15_API.md +75 -0
  24. xwquery-0.0.1.8/docs/REF_22_PROJECT.md +85 -0
  25. xwquery-0.0.1.8/docs/REF_35_REVIEW.md +59 -0
  26. xwquery-0.0.1.8/docs/REF_51_TEST.md +50 -0
  27. xwquery-0.0.1.8/docs/_archive/CRITICAL_ISSUES_AND_FIXES.md +3 -0
  28. xwquery-0.0.1.8/docs/_archive/FEATURES_TO_BEAT_SQL_SUMMARY.md +3 -0
  29. xwquery-0.0.1.8/docs/_archive/GRAMMAR_FIX_PLAN.md +3 -0
  30. xwquery-0.0.1.8/docs/_archive/README.md +13 -0
  31. xwquery-0.0.1.8/docs/_archive/XWQUERY_FIXES_COMPLETE.md +3 -0
  32. xwquery-0.0.1.8/docs/changes/CRITICAL_ISSUES_AND_FIXES.md +3 -0
  33. xwquery-0.0.1.8/docs/changes/FEATURES_TO_BEAT_SQL_SUMMARY.md +3 -0
  34. xwquery-0.0.1.8/docs/changes/GRAMMAR_FIX_PLAN.md +3 -0
  35. xwquery-0.0.1.8/docs/changes/XWQUERY_FIXES_COMPLETE.md +3 -0
  36. xwquery-0.0.1.8/docs/logs/BIDIRECTIONAL_GRAMMAR_STATUS.md +272 -0
  37. xwquery-0.0.1.8/docs/logs/FINAL_REVIEW_SUMMARY.md +229 -0
  38. xwquery-0.0.1.8/docs/logs/reviews/REVIEW_20260207_PROJECT_STATUS.md +21 -0
  39. xwquery-0.0.1.8/docs/logs/reviews/REVIEW_20260208_ARCHIVE_CONSOLIDATION.md +94 -0
  40. xwquery-0.0.1.8/docs/logs/reviews/REVIEW_20260220_043628_000_XWQUERY_XWQS_VS_POSTGRES.md +321 -0
  41. xwquery-0.0.1.8/docs/logs/reviews/REVIEW_20260220_165944_014_FULL_STACK_VS_POSTGRES.md +170 -0
  42. xwquery-0.0.1.8/docs/ref_12_idea_syntax_schema_sql.md +185 -0
  43. xwquery-0.0.1.8/pyproject.backup.toml +91 -0
  44. xwquery-0.0.1.8/pyproject.toml +106 -0
  45. xwquery-0.0.1.8/pyproject.xwquery.toml +106 -0
  46. xwquery-0.0.1.8/pytest.ini +89 -0
  47. xwquery-0.0.1.8/requirements.txt +62 -0
  48. xwquery-0.0.1.8/src/exonware/__init__.py +8 -0
  49. xwquery-0.0.1.8/src/exonware/nodes/__init__.py +2 -0
  50. xwquery-0.0.1.8/src/exonware/nodes/strategies/__init__.py +2 -0
  51. xwquery-0.0.1.8/src/exonware/nodes/strategies/contracts.py +6 -0
  52. xwquery-0.0.1.8/src/exonware/xwquery/__init__.py +475 -0
  53. xwquery-0.0.1.8/src/exonware/xwquery/base.py +37 -0
  54. xwquery-0.0.1.8/src/exonware/xwquery/codec_adapter.py +293 -0
  55. xwquery-0.0.1.8/src/exonware/xwquery/common/__init__.py +37 -0
  56. xwquery-0.0.1.8/src/exonware/xwquery/common/integration/__init__.py +12 -0
  57. xwquery-0.0.1.8/src/exonware/xwquery/common/integration/xwsystem_query_provider.py +34 -0
  58. xwquery-0.0.1.8/src/exonware/xwquery/compiler/__init__.py +105 -0
  59. xwquery-0.0.1.8/src/exonware/xwquery/compiler/adapters/__init__.py +30 -0
  60. xwquery-0.0.1.8/src/exonware/xwquery/compiler/adapters/ast_utils.py +7 -0
  61. xwquery-0.0.1.8/src/exonware/xwquery/compiler/adapters/format_converters.py +385 -0
  62. xwquery-0.0.1.8/src/exonware/xwquery/compiler/adapters/format_mappings.py +561 -0
  63. xwquery-0.0.1.8/src/exonware/xwquery/compiler/adapters/grammar_adapter.py +23 -0
  64. xwquery-0.0.1.8/src/exonware/xwquery/compiler/adapters/operation_coverage.py +793 -0
  65. xwquery-0.0.1.8/src/exonware/xwquery/compiler/adapters/operation_detection.py +657 -0
  66. xwquery-0.0.1.8/src/exonware/xwquery/compiler/adapters/syntax_adapter.py +723 -0
  67. xwquery-0.0.1.8/src/exonware/xwquery/compiler/base.py +203 -0
  68. xwquery-0.0.1.8/src/exonware/xwquery/compiler/converters/__init__.py +24 -0
  69. xwquery-0.0.1.8/src/exonware/xwquery/compiler/converters/universal_converter.py +274 -0
  70. xwquery-0.0.1.8/src/exonware/xwquery/compiler/generators/__init__.py +27 -0
  71. xwquery-0.0.1.8/src/exonware/xwquery/compiler/generators/base_generator.py +678 -0
  72. xwquery-0.0.1.8/src/exonware/xwquery/compiler/generators/generator_utils.py +524 -0
  73. xwquery-0.0.1.8/src/exonware/xwquery/compiler/generators/hiveql_generator.py +28 -0
  74. xwquery-0.0.1.8/src/exonware/xwquery/compiler/generators/hql_generator.py +28 -0
  75. xwquery-0.0.1.8/src/exonware/xwquery/compiler/generators/kql_generator.py +28 -0
  76. xwquery-0.0.1.8/src/exonware/xwquery/compiler/generators/n1ql_generator.py +28 -0
  77. xwquery-0.0.1.8/src/exonware/xwquery/compiler/generators/partiql_generator.py +58 -0
  78. xwquery-0.0.1.8/src/exonware/xwquery/compiler/generators/sql_generator.py +426 -0
  79. xwquery-0.0.1.8/src/exonware/xwquery/compiler/generators/template_engine.py +338 -0
  80. xwquery-0.0.1.8/src/exonware/xwquery/compiler/generators/templates/README.md +109 -0
  81. xwquery-0.0.1.8/src/exonware/xwquery/compiler/generators/xpath_generator.py +276 -0
  82. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/__init__.py +34 -0
  83. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/base.py +16 -0
  84. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/base_parser.py +388 -0
  85. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/contracts.py +14 -0
  86. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/cypher_parser.py +88 -0
  87. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/errors.py +32 -0
  88. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/format_detector.py +9 -0
  89. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/graphql_parser.py +70 -0
  90. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/hiveql_parser.py +38 -0
  91. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/hql_parser.py +37 -0
  92. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/kql_parser.py +37 -0
  93. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/n1ql_parser.py +40 -0
  94. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/parser_utils.py +494 -0
  95. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/partiql_parser.py +62 -0
  96. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/query_action_builder.py +279 -0
  97. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/sparql_parser.py +88 -0
  98. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/sql_param_extractor.py +449 -0
  99. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/sql_parser.py +660 -0
  100. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/sql_tokenizer.py +648 -0
  101. xwquery-0.0.1.8/src/exonware/xwquery/compiler/parsers/xpath_parser.py +388 -0
  102. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/__init__.py +35 -0
  103. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/arangodb_aql.py +72 -0
  104. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/asterixdb_aql.py +6 -0
  105. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/awk.py +99 -0
  106. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/base.py +257 -0
  107. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/bash_pipeline.py +99 -0
  108. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/beam_sql.py +6 -0
  109. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/chronograf.py +6 -0
  110. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/compat_passthrough.py +74 -0
  111. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/couchdb_mango.py +150 -0
  112. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/cql.py +265 -0
  113. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/cue.py +110 -0
  114. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/cypher.py +309 -0
  115. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/cypher_age.py +95 -0
  116. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/databricks_sql.py +6 -0
  117. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/datalog.py +6 -0
  118. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/dax.py +6 -0
  119. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/db2_sql_pl.py +6 -0
  120. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/dhall.py +8 -0
  121. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/dql.py +85 -0
  122. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/drill.py +6 -0
  123. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/edgeql.py +6 -0
  124. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/elastic_dsl.py +77 -0
  125. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/elasticsearch_sql.py +6 -0
  126. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/eql.py +3 -0
  127. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/exasol_sql.py +6 -0
  128. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/firebird_sql.py +6 -0
  129. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/flink_sql.py +6 -0
  130. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/fluent_bit.py +72 -0
  131. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/fluentd.py +72 -0
  132. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/flux.py +2 -0
  133. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/format_registry.py +247 -0
  134. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/gql.py +197 -0
  135. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/gql_gae.py +6 -0
  136. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/grammar_based.py +267 -0
  137. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/graphite.py +6 -0
  138. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/graphql.py +403 -0
  139. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/gremlin.py +310 -0
  140. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/gsql.py +95 -0
  141. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/hcl.py +108 -0
  142. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/hiveql.py +262 -0
  143. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/hql.py +3 -0
  144. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/influxql.py +6 -0
  145. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/jmespath.py +308 -0
  146. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/jq.py +196 -0
  147. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/json_patch.py +139 -0
  148. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/json_query.py +143 -0
  149. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/jsonata.py +8 -0
  150. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/jsoniq.py +323 -0
  151. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/jsonnet.py +8 -0
  152. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/jsonpath.py +8 -0
  153. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/kql.py +3 -0
  154. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/krm_kyaml.py +108 -0
  155. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/kustomize.py +108 -0
  156. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/linq.py +394 -0
  157. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/logql.py +3 -0
  158. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/logstash.py +97 -0
  159. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/m.py +137 -0
  160. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/m3ql.py +8 -0
  161. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/materialize.py +6 -0
  162. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/mdx.py +6 -0
  163. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/metricsql.py +8 -0
  164. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/mongodb_aggregation.py +163 -0
  165. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/mql.py +164 -0
  166. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/mysql_stored.py +6 -0
  167. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/n1ql.py +303 -0
  168. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/netezza_sql.py +6 -0
  169. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/ngql.py +91 -0
  170. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/nifi_el.py +98 -0
  171. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/nrql.py +81 -0
  172. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/odata.py +6 -0
  173. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/opencypher.py +96 -0
  174. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/opensearch_dsl.py +8 -0
  175. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/opensearch_ppl.py +6 -0
  176. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/painless.py +99 -0
  177. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/partiql.py +3 -0
  178. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/pig.py +2 -0
  179. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/plperl.py +6 -0
  180. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/plpgsql.py +6 -0
  181. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/plpython.py +6 -0
  182. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/plv8.py +6 -0
  183. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/powerfx.py +143 -0
  184. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/presto_sql.py +6 -0
  185. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/promql.py +3 -0
  186. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/reql.py +295 -0
  187. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/risingwave.py +6 -0
  188. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/rql.py +268 -0
  189. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/saql.py +6 -0
  190. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/scripting_base.py +105 -0
  191. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/sed.py +8 -0
  192. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/sosl.py +8 -0
  193. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/spark_sql.py +6 -0
  194. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/sparql.py +366 -0
  195. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/spl.py +6 -0
  196. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/sql.py +528 -0
  197. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/sql_grammar.py +280 -0
  198. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/sql_plus_plus.py +6 -0
  199. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/starlark.py +8 -0
  200. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/sumologic.py +6 -0
  201. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/surrealql.py +6 -0
  202. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/tcl.py +99 -0
  203. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/teradata_sql.py +6 -0
  204. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/tick.py +6 -0
  205. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/timescaledb.py +6 -0
  206. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/trino_sql.py +6 -0
  207. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/vertica_sql.py +6 -0
  208. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/wavefront.py +8 -0
  209. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/xml_query.py +175 -0
  210. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/xpath.py +296 -0
  211. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/xquery.py +332 -0
  212. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/xwnode_executor.py +300 -0
  213. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/xwqs.py +595 -0
  214. xwquery-0.0.1.8/src/exonware/xwquery/compiler/strategies/xwquery.py +9 -0
  215. xwquery-0.0.1.8/src/exonware/xwquery/config.py +164 -0
  216. xwquery-0.0.1.8/src/exonware/xwquery/contracts.py +709 -0
  217. xwquery-0.0.1.8/src/exonware/xwquery/defs.py +331 -0
  218. xwquery-0.0.1.8/src/exonware/xwquery/errors.py +370 -0
  219. xwquery-0.0.1.8/src/exonware/xwquery/executors/__init__.py +163 -0
  220. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/__init__.py +37 -0
  221. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/aggregate_executor.py +50 -0
  222. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/ask_executor.py +50 -0
  223. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/construct_executor.py +50 -0
  224. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/describe_executor.py +50 -0
  225. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/for_loop_executor.py +50 -0
  226. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/foreach_executor.py +50 -0
  227. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/join_executor.py +50 -0
  228. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/let_executor.py +50 -0
  229. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/mutation_executor.py +50 -0
  230. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/options_executor.py +50 -0
  231. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/pipe_executor.py +50 -0
  232. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/subscribe_executor.py +50 -0
  233. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/subscription_executor.py +50 -0
  234. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/union_executor.py +50 -0
  235. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/window_executor.py +51 -0
  236. xwquery-0.0.1.8/src/exonware/xwquery/executors/advanced/with_cte_executor.py +50 -0
  237. xwquery-0.0.1.8/src/exonware/xwquery/executors/aggregation/__init__.py +23 -0
  238. xwquery-0.0.1.8/src/exonware/xwquery/executors/aggregation/avg_executor.py +50 -0
  239. xwquery-0.0.1.8/src/exonware/xwquery/executors/aggregation/count_executor.py +38 -0
  240. xwquery-0.0.1.8/src/exonware/xwquery/executors/aggregation/distinct_executor.py +50 -0
  241. xwquery-0.0.1.8/src/exonware/xwquery/executors/aggregation/group_executor.py +50 -0
  242. xwquery-0.0.1.8/src/exonware/xwquery/executors/aggregation/having_executor.py +50 -0
  243. xwquery-0.0.1.8/src/exonware/xwquery/executors/aggregation/max_executor.py +50 -0
  244. xwquery-0.0.1.8/src/exonware/xwquery/executors/aggregation/min_executor.py +50 -0
  245. xwquery-0.0.1.8/src/exonware/xwquery/executors/aggregation/sum_executor.py +50 -0
  246. xwquery-0.0.1.8/src/exonware/xwquery/executors/aggregation/summarize_executor.py +50 -0
  247. xwquery-0.0.1.8/src/exonware/xwquery/executors/array/__init__.py +9 -0
  248. xwquery-0.0.1.8/src/exonware/xwquery/executors/array/indexing_executor.py +51 -0
  249. xwquery-0.0.1.8/src/exonware/xwquery/executors/array/slicing_executor.py +51 -0
  250. xwquery-0.0.1.8/src/exonware/xwquery/executors/base.py +257 -0
  251. xwquery-0.0.1.8/src/exonware/xwquery/executors/capability_checker.py +208 -0
  252. xwquery-0.0.1.8/src/exonware/xwquery/executors/contracts.py +164 -0
  253. xwquery-0.0.1.8/src/exonware/xwquery/executors/core/__init__.py +17 -0
  254. xwquery-0.0.1.8/src/exonware/xwquery/executors/core/create_executor.py +95 -0
  255. xwquery-0.0.1.8/src/exonware/xwquery/executors/core/delete_executor.py +98 -0
  256. xwquery-0.0.1.8/src/exonware/xwquery/executors/core/drop_executor.py +99 -0
  257. xwquery-0.0.1.8/src/exonware/xwquery/executors/core/insert_executor.py +39 -0
  258. xwquery-0.0.1.8/src/exonware/xwquery/executors/core/select_executor.py +246 -0
  259. xwquery-0.0.1.8/src/exonware/xwquery/executors/core/update_executor.py +101 -0
  260. xwquery-0.0.1.8/src/exonware/xwquery/executors/data/__init__.py +13 -0
  261. xwquery-0.0.1.8/src/exonware/xwquery/executors/data/alter_executor.py +50 -0
  262. xwquery-0.0.1.8/src/exonware/xwquery/executors/data/load_executor.py +50 -0
  263. xwquery-0.0.1.8/src/exonware/xwquery/executors/data/merge_executor.py +50 -0
  264. xwquery-0.0.1.8/src/exonware/xwquery/executors/data/store_executor.py +50 -0
  265. xwquery-0.0.1.8/src/exonware/xwquery/executors/defs.py +93 -0
  266. xwquery-0.0.1.8/src/exonware/xwquery/executors/engine.py +220 -0
  267. xwquery-0.0.1.8/src/exonware/xwquery/executors/errors.py +64 -0
  268. xwquery-0.0.1.8/src/exonware/xwquery/executors/filtering/__init__.py +25 -0
  269. xwquery-0.0.1.8/src/exonware/xwquery/executors/filtering/between_executor.py +80 -0
  270. xwquery-0.0.1.8/src/exonware/xwquery/executors/filtering/filter_executor.py +80 -0
  271. xwquery-0.0.1.8/src/exonware/xwquery/executors/filtering/has_executor.py +70 -0
  272. xwquery-0.0.1.8/src/exonware/xwquery/executors/filtering/in_executor.py +70 -0
  273. xwquery-0.0.1.8/src/exonware/xwquery/executors/filtering/like_executor.py +76 -0
  274. xwquery-0.0.1.8/src/exonware/xwquery/executors/filtering/optional_executor.py +76 -0
  275. xwquery-0.0.1.8/src/exonware/xwquery/executors/filtering/range_executor.py +80 -0
  276. xwquery-0.0.1.8/src/exonware/xwquery/executors/filtering/term_executor.py +77 -0
  277. xwquery-0.0.1.8/src/exonware/xwquery/executors/filtering/values_executor.py +70 -0
  278. xwquery-0.0.1.8/src/exonware/xwquery/executors/filtering/where_executor.py +44 -0
  279. xwquery-0.0.1.8/src/exonware/xwquery/executors/graph/__init__.py +15 -0
  280. xwquery-0.0.1.8/src/exonware/xwquery/executors/graph/in_traverse_executor.py +51 -0
  281. xwquery-0.0.1.8/src/exonware/xwquery/executors/graph/match_executor.py +51 -0
  282. xwquery-0.0.1.8/src/exonware/xwquery/executors/graph/out_executor.py +51 -0
  283. xwquery-0.0.1.8/src/exonware/xwquery/executors/graph/path_executor.py +51 -0
  284. xwquery-0.0.1.8/src/exonware/xwquery/executors/graph/return_executor.py +51 -0
  285. xwquery-0.0.1.8/src/exonware/xwquery/executors/ordering/__init__.py +9 -0
  286. xwquery-0.0.1.8/src/exonware/xwquery/executors/ordering/by_executor.py +50 -0
  287. xwquery-0.0.1.8/src/exonware/xwquery/executors/ordering/order_executor.py +51 -0
  288. xwquery-0.0.1.8/src/exonware/xwquery/executors/projection/__init__.py +9 -0
  289. xwquery-0.0.1.8/src/exonware/xwquery/executors/projection/extend_executor.py +50 -0
  290. xwquery-0.0.1.8/src/exonware/xwquery/executors/projection/project_executor.py +50 -0
  291. xwquery-0.0.1.8/src/exonware/xwquery/executors/registry.py +171 -0
  292. xwquery-0.0.1.8/src/exonware/xwquery/facade.py +262 -0
  293. xwquery-0.0.1.8/src/exonware/xwquery/grammars/reql.grammar.in.lark +127 -0
  294. xwquery-0.0.1.8/src/exonware/xwquery/grammars/reql.grammar.out.lark +68 -0
  295. xwquery-0.0.1.8/src/exonware/xwquery/grammars/rql.grammar.in.lark +95 -0
  296. xwquery-0.0.1.8/src/exonware/xwquery/grammars/rql.grammar.out.lark +50 -0
  297. xwquery-0.0.1.8/src/exonware/xwquery/parsers/__init__.py +26 -0
  298. xwquery-0.0.1.8/src/exonware/xwquery/parsers/base.py +84 -0
  299. xwquery-0.0.1.8/src/exonware/xwquery/parsers/contracts.py +44 -0
  300. xwquery-0.0.1.8/src/exonware/xwquery/parsers/errors.py +51 -0
  301. xwquery-0.0.1.8/src/exonware/xwquery/parsers/sql_param_extractor.py +317 -0
  302. xwquery-0.0.1.8/src/exonware/xwquery/query/__init__.py +1 -0
  303. xwquery-0.0.1.8/src/exonware/xwquery/query/adapters.py +17 -0
  304. xwquery-0.0.1.8/src/exonware/xwquery/query/optimization/__init__.py +55 -0
  305. xwquery-0.0.1.8/src/exonware/xwquery/query/parsers/__init__.py +2 -0
  306. xwquery-0.0.1.8/src/exonware/xwquery/query/parsers/format_detector.py +2 -0
  307. xwquery-0.0.1.8/src/exonware/xwquery/query/parsers/query_action_builder.py +2 -0
  308. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/__init__.py +31 -0
  309. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/base.py +1 -0
  310. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/cql.py +1 -0
  311. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/cypher.py +1 -0
  312. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/datalog.py +1 -0
  313. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/elastic_dsl.py +1 -0
  314. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/eql.py +1 -0
  315. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/flux.py +1 -0
  316. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/gql.py +1 -0
  317. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/graphql.py +1 -0
  318. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/gremlin.py +1 -0
  319. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/hiveql.py +1 -0
  320. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/hql.py +1 -0
  321. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/jmespath.py +1 -0
  322. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/jq.py +1 -0
  323. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/json_query.py +1 -0
  324. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/jsoniq.py +1 -0
  325. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/kql.py +1 -0
  326. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/linq.py +1 -0
  327. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/logql.py +1 -0
  328. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/mql.py +1 -0
  329. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/n1ql.py +1 -0
  330. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/partiql.py +1 -0
  331. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/pig.py +1 -0
  332. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/promql.py +1 -0
  333. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/sparql.py +1 -0
  334. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/sql.py +1 -0
  335. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/xml_query.py +1 -0
  336. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/xpath.py +1 -0
  337. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/xquery.py +1 -0
  338. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/xwnode_executor.py +1 -0
  339. xwquery-0.0.1.8/src/exonware/xwquery/query/strategies/xwquery.py +1 -0
  340. xwquery-0.0.1.8/src/exonware/xwquery/runtime/__init__.py +92 -0
  341. xwquery-0.0.1.8/src/exonware/xwquery/runtime/base.py +617 -0
  342. xwquery-0.0.1.8/src/exonware/xwquery/runtime/engines/__init__.py +24 -0
  343. xwquery-0.0.1.8/src/exonware/xwquery/runtime/engines/serialization_engine.py +392 -0
  344. xwquery-0.0.1.8/src/exonware/xwquery/runtime/engines/xwnode_engine.py +114 -0
  345. xwquery-0.0.1.8/src/exonware/xwquery/runtime/engines/xwstorage_engine.py +227 -0
  346. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/__init__.py +333 -0
  347. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/__init__.py +56 -0
  348. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/aggregate_executor.py +151 -0
  349. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/ask_executor.py +81 -0
  350. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/construct_executor.py +131 -0
  351. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/dense_rank_executor.py +77 -0
  352. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/describe_executor.py +129 -0
  353. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/for_loop_executor.py +89 -0
  354. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/foreach_executor.py +91 -0
  355. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/include_executor.py +295 -0
  356. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/intersect_executor.py +55 -0
  357. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/join_executor.py +379 -0
  358. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/let_executor.py +100 -0
  359. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/minus_executor.py +117 -0
  360. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/mutation_executor.py +145 -0
  361. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/options_executor.py +73 -0
  362. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/pipe_executor.py +142 -0
  363. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/pivot_executor.py +79 -0
  364. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/rank_executor.py +77 -0
  365. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/recursive_cte_executor.py +74 -0
  366. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/row_number_executor.py +75 -0
  367. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/subquery_executor.py +85 -0
  368. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/subscribe_executor.py +93 -0
  369. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/subscription_executor.py +111 -0
  370. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/union_executor.py +86 -0
  371. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/unpivot_executor.py +59 -0
  372. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/window_executor.py +181 -0
  373. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/advanced/with_cte_executor.py +102 -0
  374. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/__init__.py +40 -0
  375. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/avg_executor.py +81 -0
  376. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/collect_executor.py +59 -0
  377. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/count_executor.py +37 -0
  378. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/distinct_executor.py +134 -0
  379. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/first_value_executor.py +53 -0
  380. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/group_concat_executor.py +72 -0
  381. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/group_executor.py +135 -0
  382. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/having_executor.py +129 -0
  383. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/last_value_executor.py +52 -0
  384. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/max_executor.py +78 -0
  385. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/median_executor.py +79 -0
  386. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/min_executor.py +78 -0
  387. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/percentile_executor.py +98 -0
  388. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/reduce_executor.py +96 -0
  389. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/stddev_executor.py +87 -0
  390. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/sum_executor.py +81 -0
  391. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/summarize_executor.py +59 -0
  392. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/aggregation/variance_executor.py +84 -0
  393. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/array/__init__.py +28 -0
  394. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/array/array_concat_executor.py +60 -0
  395. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/array/array_contains_executor.py +56 -0
  396. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/array/array_distinct_executor.py +72 -0
  397. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/array/array_length_executor.py +54 -0
  398. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/array/array_reverse_executor.py +54 -0
  399. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/array/array_sort_executor.py +68 -0
  400. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/array/flatten_executor.py +85 -0
  401. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/array/indexing_executor.py +48 -0
  402. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/array/pop_executor.py +67 -0
  403. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/array/push_executor.py +64 -0
  404. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/array/slicing_executor.py +47 -0
  405. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/array/unwind_executor.py +89 -0
  406. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/base.py +77 -0
  407. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/capability_checker.py +169 -0
  408. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/conditional/__init__.py +14 -0
  409. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/conditional/case_executor.py +139 -0
  410. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/conditional/coalesce_executor.py +82 -0
  411. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/conditional/if_expr_executor.py +118 -0
  412. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/conditional/nullif_executor.py +74 -0
  413. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/conditional/switch_executor.py +89 -0
  414. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/contracts.py +27 -0
  415. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/core/__init__.py +22 -0
  416. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/core/create_executor.py +86 -0
  417. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/core/delete_executor.py +188 -0
  418. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/core/drop_executor.py +87 -0
  419. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/core/explain_executor.py +167 -0
  420. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/core/insert_executor.py +70 -0
  421. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/core/select_executor.py +630 -0
  422. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/core/truncate_executor.py +118 -0
  423. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/core/update_executor.py +195 -0
  424. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/core/upsert_executor.py +164 -0
  425. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/data/__init__.py +22 -0
  426. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/data/alter_executor.py +48 -0
  427. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/data/bulk_write_executor.py +84 -0
  428. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/data/copy_executor.py +55 -0
  429. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/data/export_executor.py +85 -0
  430. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/data/file_source_executor.py +225 -0
  431. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/data/import_executor.py +70 -0
  432. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/data/load_executor.py +128 -0
  433. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/data/merge_executor.py +48 -0
  434. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/data/store_executor.py +159 -0
  435. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/datetime/__init__.py +25 -0
  436. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/datetime/date_add_executor.py +88 -0
  437. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/datetime/date_diff_executor.py +82 -0
  438. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/datetime/date_format_executor.py +69 -0
  439. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/datetime/date_parse_executor.py +69 -0
  440. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/datetime/date_trunc_executor.py +80 -0
  441. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/datetime/extract_date_executor.py +87 -0
  442. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/datetime/from_unixtime_executor.py +69 -0
  443. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/datetime/interval_executor.py +88 -0
  444. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/datetime/now_executor.py +73 -0
  445. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/datetime/unix_timestamp_executor.py +65 -0
  446. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/defs.py +32 -0
  447. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/engine.py +135 -0
  448. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/errors.py +58 -0
  449. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/__init__.py +46 -0
  450. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/all_match_executor.py +146 -0
  451. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/any_match_executor.py +146 -0
  452. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/between_executor.py +86 -0
  453. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/contains_executor.py +97 -0
  454. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/ends_with_executor.py +97 -0
  455. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/exists_executor.py +119 -0
  456. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/filter_executor.py +112 -0
  457. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/fuzzy_executor.py +158 -0
  458. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/has_executor.py +53 -0
  459. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/in_executor.py +81 -0
  460. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/is_missing_executor.py +101 -0
  461. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/is_null_executor.py +91 -0
  462. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/like_executor.py +84 -0
  463. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/not_in_executor.py +89 -0
  464. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/optional_executor.py +63 -0
  465. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/range_executor.py +99 -0
  466. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/regex_executor.py +141 -0
  467. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/starts_with_executor.py +97 -0
  468. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/term_executor.py +60 -0
  469. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/values_executor.py +61 -0
  470. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/filtering/where_executor.py +207 -0
  471. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/__init__.py +84 -0
  472. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/add_vertex_executor.py +49 -0
  473. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/all_paths_executor.py +107 -0
  474. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/all_shortest_paths_executor.py +136 -0
  475. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/all_simple_paths_executor.py +103 -0
  476. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/both_e_executor.py +60 -0
  477. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/both_executor.py +67 -0
  478. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/both_v_executor.py +64 -0
  479. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/choose_executor.py +71 -0
  480. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/clone_executor.py +69 -0
  481. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/coalesce_step_executor.py +71 -0
  482. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/connected_components_executor.py +64 -0
  483. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/create_edge_executor.py +61 -0
  484. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/cycle_detection_executor.py +161 -0
  485. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/degree_executor.py +65 -0
  486. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/delete_edge_executor.py +64 -0
  487. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/detach_delete_executor.py +64 -0
  488. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/drop_vertex_executor.py +57 -0
  489. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/expand_executor.py +62 -0
  490. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/extract_path_executor.py +65 -0
  491. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/in_e_executor.py +57 -0
  492. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/in_traverse_executor.py +125 -0
  493. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/in_v_executor.py +58 -0
  494. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/match_executor.py +128 -0
  495. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/neighbors_executor.py +56 -0
  496. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/out_e_executor.py +57 -0
  497. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/out_executor.py +105 -0
  498. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/out_v_executor.py +58 -0
  499. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/page_rank_executor.py +87 -0
  500. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/path_executor.py +121 -0
  501. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/path_length_executor.py +63 -0
  502. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/properties_executor.py +62 -0
  503. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/repeat_executor.py +89 -0
  504. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/return_executor.py +93 -0
  505. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/set_executor.py +68 -0
  506. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/shortest_path_executor.py +151 -0
  507. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/simple_path_executor.py +104 -0
  508. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/subgraph_executor.py +71 -0
  509. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/traversal_executor.py +141 -0
  510. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/update_edge_executor.py +64 -0
  511. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/graph/variable_path_executor.py +66 -0
  512. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/math/__init__.py +33 -0
  513. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/math/abs_executor.py +50 -0
  514. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/math/ceil_executor.py +50 -0
  515. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/math/exp_executor.py +50 -0
  516. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/math/floor_executor.py +50 -0
  517. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/math/greatest_executor.py +60 -0
  518. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/math/least_executor.py +60 -0
  519. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/math/log_executor.py +51 -0
  520. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/math/mod_executor.py +51 -0
  521. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/math/power_executor.py +56 -0
  522. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/math/random_executor.py +59 -0
  523. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/math/round_executor.py +51 -0
  524. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/math/sign_executor.py +56 -0
  525. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/math/sqrt_executor.py +50 -0
  526. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/math/trunc_executor.py +50 -0
  527. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/ordering/__init__.py +10 -0
  528. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/ordering/by_executor.py +41 -0
  529. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/ordering/limit_executor.py +78 -0
  530. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/ordering/order_executor.py +103 -0
  531. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/projection/__init__.py +8 -0
  532. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/projection/extend_executor.py +57 -0
  533. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/projection/project_executor.py +150 -0
  534. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/registry.py +148 -0
  535. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/string/__init__.py +35 -0
  536. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/string/concat_executor.py +60 -0
  537. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/string/length_executor.py +55 -0
  538. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/string/lower_executor.py +55 -0
  539. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/string/lpad_executor.py +60 -0
  540. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/string/position_executor.py +64 -0
  541. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/string/regex_extract_executor.py +79 -0
  542. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/string/regex_replace_executor.py +77 -0
  543. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/string/repeat_str_executor.py +57 -0
  544. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/string/replace_str_executor.py +65 -0
  545. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/string/reverse_str_executor.py +55 -0
  546. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/string/rpad_executor.py +60 -0
  547. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/string/split_executor.py +63 -0
  548. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/string/substring_executor.py +63 -0
  549. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/string/trim_executor.py +70 -0
  550. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/string/upper_executor.py +55 -0
  551. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/type/__init__.py +15 -0
  552. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/type/cast_executor.py +87 -0
  553. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/type/is_number_executor.py +54 -0
  554. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/type/is_string_executor.py +54 -0
  555. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/type/to_boolean_executor.py +57 -0
  556. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/type/to_date_executor.py +55 -0
  557. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/type/to_number_executor.py +55 -0
  558. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/type/to_string_executor.py +62 -0
  559. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/type/try_cast_executor.py +89 -0
  560. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/type/typeof_executor.py +54 -0
  561. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/utils.py +537 -0
  562. xwquery-0.0.1.8/src/exonware/xwquery/runtime/executors/xw_reuse.py +363 -0
  563. xwquery-0.0.1.8/src/exonware/xwquery/runtime/optimization/__init__.py +81 -0
  564. xwquery-0.0.1.8/src/exonware/xwquery/runtime/optimization/base.py +239 -0
  565. xwquery-0.0.1.8/src/exonware/xwquery/runtime/optimization/contracts.py +246 -0
  566. xwquery-0.0.1.8/src/exonware/xwquery/runtime/optimization/cost_model.py +180 -0
  567. xwquery-0.0.1.8/src/exonware/xwquery/runtime/optimization/defs.py +124 -0
  568. xwquery-0.0.1.8/src/exonware/xwquery/runtime/optimization/optimizer.py +86 -0
  569. xwquery-0.0.1.8/src/exonware/xwquery/runtime/optimization/query_planner.py +346 -0
  570. xwquery-0.0.1.8/src/exonware/xwquery/runtime/optimization/rules.py +256 -0
  571. xwquery-0.0.1.8/src/exonware/xwquery/runtime/optimization/statistics_manager.py +250 -0
  572. xwquery-0.0.1.8/src/exonware/xwquery/strategies/__init__.py +24 -0
  573. xwquery-0.0.1.8/src/exonware/xwquery/strategies/base.py +304 -0
  574. xwquery-0.0.1.8/src/exonware/xwquery/strategies/cql.py +200 -0
  575. xwquery-0.0.1.8/src/exonware/xwquery/strategies/cypher.py +181 -0
  576. xwquery-0.0.1.8/src/exonware/xwquery/strategies/datalog.py +70 -0
  577. xwquery-0.0.1.8/src/exonware/xwquery/strategies/elastic_dsl.py +70 -0
  578. xwquery-0.0.1.8/src/exonware/xwquery/strategies/eql.py +70 -0
  579. xwquery-0.0.1.8/src/exonware/xwquery/strategies/flux.py +70 -0
  580. xwquery-0.0.1.8/src/exonware/xwquery/strategies/gql.py +70 -0
  581. xwquery-0.0.1.8/src/exonware/xwquery/strategies/graphql.py +239 -0
  582. xwquery-0.0.1.8/src/exonware/xwquery/strategies/gremlin.py +180 -0
  583. xwquery-0.0.1.8/src/exonware/xwquery/strategies/hiveql.py +213 -0
  584. xwquery-0.0.1.8/src/exonware/xwquery/strategies/hql.py +70 -0
  585. xwquery-0.0.1.8/src/exonware/xwquery/strategies/jmespath.py +218 -0
  586. xwquery-0.0.1.8/src/exonware/xwquery/strategies/jq.py +66 -0
  587. xwquery-0.0.1.8/src/exonware/xwquery/strategies/json_query.py +66 -0
  588. xwquery-0.0.1.8/src/exonware/xwquery/strategies/jsoniq.py +247 -0
  589. xwquery-0.0.1.8/src/exonware/xwquery/strategies/kql.py +70 -0
  590. xwquery-0.0.1.8/src/exonware/xwquery/strategies/linq.py +237 -0
  591. xwquery-0.0.1.8/src/exonware/xwquery/strategies/logql.py +70 -0
  592. xwquery-0.0.1.8/src/exonware/xwquery/strategies/mql.py +68 -0
  593. xwquery-0.0.1.8/src/exonware/xwquery/strategies/n1ql.py +209 -0
  594. xwquery-0.0.1.8/src/exonware/xwquery/strategies/partiql.py +70 -0
  595. xwquery-0.0.1.8/src/exonware/xwquery/strategies/pig.py +214 -0
  596. xwquery-0.0.1.8/src/exonware/xwquery/strategies/promql.py +70 -0
  597. xwquery-0.0.1.8/src/exonware/xwquery/strategies/sparql.py +220 -0
  598. xwquery-0.0.1.8/src/exonware/xwquery/strategies/sql.py +274 -0
  599. xwquery-0.0.1.8/src/exonware/xwquery/strategies/xml_query.py +66 -0
  600. xwquery-0.0.1.8/src/exonware/xwquery/strategies/xpath.py +222 -0
  601. xwquery-0.0.1.8/src/exonware/xwquery/strategies/xquery.py +257 -0
  602. xwquery-0.0.1.8/src/exonware/xwquery/strategies/xwnode_executor.py +333 -0
  603. xwquery-0.0.1.8/src/exonware/xwquery/strategies/xwquery.py +537 -0
  604. xwquery-0.0.1.8/src/exonware/xwquery/version.py +78 -0
  605. xwquery-0.0.1.8/src/xwquery.py +21 -0
  606. xwquery-0.0.1.8/src/xwquery_wrapper.py +12 -0
  607. xwquery-0.0.1.8/tests/3.advance/__init__.py +4 -0
  608. xwquery-0.0.1.8/tests/3.advance/conftest.py +5 -0
  609. xwquery-0.0.1.8/tests/3.advance/runner.py +39 -0
  610. xwquery-0.0.1.8/tests/3.advance/test_performance.py +59 -0
  611. xwquery-0.0.1.8/tests/TEST_RESULTS_SUMMARY.md +125 -0
  612. xwquery-0.0.1.8/tests/__init__.py +10 -0
  613. xwquery-0.0.1.8/tests/conftest.py +25 -0
  614. xwquery-0.0.1.8/tests/core/__init__.py +2 -0
  615. xwquery-0.0.1.8/tests/core/test_core_all_grammars.py +262 -0
  616. xwquery-0.0.1.8/tests/core/test_cross_format.py +186 -0
  617. xwquery-0.0.1.8/tests/core/test_edge_cases_comprehensive.py +429 -0
  618. xwquery-0.0.1.8/tests/core/test_executor_refactoring.py +635 -0
  619. xwquery-0.0.1.8/tests/core/test_format_parsing.py +243 -0
  620. xwquery-0.0.1.8/tests/core/test_operation_gap_coverage.py +345 -0
  621. xwquery-0.0.1.8/tests/core/test_operations.py +126 -0
  622. xwquery-0.0.1.8/tests/core/test_order_by_limit_fix.py +280 -0
  623. xwquery-0.0.1.8/tests/core/test_p3_executors.py +294 -0
  624. xwquery-0.0.1.8/tests/core/test_phase2_graph_operations.py +427 -0
  625. xwquery-0.0.1.8/tests/core/test_string_conversion_exhaustive.py +116 -0
  626. xwquery-0.0.1.8/tests/core/test_xwquery_basic.py +97 -0
  627. xwquery-0.0.1.8/tests/integration/__init__.py +2 -0
  628. xwquery-0.0.1.8/tests/integration/test_all_formats_to_xwqueryscript.py +361 -0
  629. xwquery-0.0.1.8/tests/integration/test_backend_action_compatibility.py +351 -0
  630. xwquery-0.0.1.8/tests/integration/test_query_conversion_all_formats.py +175 -0
  631. xwquery-0.0.1.8/tests/integration/test_query_conversion_three_levels.py +185 -0
  632. xwquery-0.0.1.8/tests/integration/test_sql_grammar_integration.py +139 -0
  633. xwquery-0.0.1.8/tests/runner.py +53 -0
  634. xwquery-0.0.1.8/tests/strategies/README.md +84 -0
  635. xwquery-0.0.1.8/tests/strategies/__init__.py +16 -0
  636. xwquery-0.0.1.8/tests/strategies/base_strategy_test.py +362 -0
  637. xwquery-0.0.1.8/tests/strategies/conftest.py +32 -0
  638. xwquery-0.0.1.8/tests/strategies/test_cql_strategy.py +85 -0
  639. xwquery-0.0.1.8/tests/strategies/test_cypher_strategy.py +85 -0
  640. xwquery-0.0.1.8/tests/strategies/test_datalog_strategy.py +85 -0
  641. xwquery-0.0.1.8/tests/strategies/test_elastic_dsl_strategy.py +85 -0
  642. xwquery-0.0.1.8/tests/strategies/test_eql_strategy.py +85 -0
  643. xwquery-0.0.1.8/tests/strategies/test_flux_strategy.py +85 -0
  644. xwquery-0.0.1.8/tests/strategies/test_generator.py +426 -0
  645. xwquery-0.0.1.8/tests/strategies/test_gql_strategy.py +85 -0
  646. xwquery-0.0.1.8/tests/strategies/test_graphql_strategy.py +85 -0
  647. xwquery-0.0.1.8/tests/strategies/test_gremlin_strategy.py +85 -0
  648. xwquery-0.0.1.8/tests/strategies/test_hiveql_strategy.py +85 -0
  649. xwquery-0.0.1.8/tests/strategies/test_hql_strategy.py +85 -0
  650. xwquery-0.0.1.8/tests/strategies/test_jmespath_strategy.py +85 -0
  651. xwquery-0.0.1.8/tests/strategies/test_jq_strategy.py +85 -0
  652. xwquery-0.0.1.8/tests/strategies/test_json_query_strategy.py +85 -0
  653. xwquery-0.0.1.8/tests/strategies/test_jsoniq_strategy.py +85 -0
  654. xwquery-0.0.1.8/tests/strategies/test_kql_strategy.py +85 -0
  655. xwquery-0.0.1.8/tests/strategies/test_linq_strategy.py +85 -0
  656. xwquery-0.0.1.8/tests/strategies/test_logql_strategy.py +85 -0
  657. xwquery-0.0.1.8/tests/strategies/test_mql_strategy.py +85 -0
  658. xwquery-0.0.1.8/tests/strategies/test_n1ql_strategy.py +85 -0
  659. xwquery-0.0.1.8/tests/strategies/test_new_sql_strategies_roundtrip.py +276 -0
  660. xwquery-0.0.1.8/tests/strategies/test_new_strategies_comprehensive.py +339 -0
  661. xwquery-0.0.1.8/tests/strategies/test_new_strategies_manual.py +118 -0
  662. xwquery-0.0.1.8/tests/strategies/test_new_strategies_roundtrip.py +329 -0
  663. xwquery-0.0.1.8/tests/strategies/test_new_strategies_xwquery_integration.py +253 -0
  664. xwquery-0.0.1.8/tests/strategies/test_new_time_series_strategies.py +353 -0
  665. xwquery-0.0.1.8/tests/strategies/test_partiql_strategy.py +85 -0
  666. xwquery-0.0.1.8/tests/strategies/test_pig_strategy.py +85 -0
  667. xwquery-0.0.1.8/tests/strategies/test_promql_strategy.py +85 -0
  668. xwquery-0.0.1.8/tests/strategies/test_sparql_strategy.py +85 -0
  669. xwquery-0.0.1.8/tests/strategies/test_sql_strategy.py +85 -0
  670. xwquery-0.0.1.8/tests/strategies/test_xml_query_strategy.py +85 -0
  671. xwquery-0.0.1.8/tests/strategies/test_xpath_strategy.py +85 -0
  672. xwquery-0.0.1.8/tests/strategies/test_xquery_strategy.py +85 -0
  673. xwquery-0.0.1.8/tests/strategies/test_xwnode_executor_strategy.py +85 -0
  674. xwquery-0.0.1.8/tests/strategies/test_xwquery_strategy.py +85 -0
  675. xwquery-0.0.1.8/tests/test_format_detection.py +427 -0
  676. xwquery-0.0.1.8/tests/test_grammar_parse_unparse.py +158 -0
  677. xwquery-0.0.1.8/tests/test_xwnode_integration.py +146 -0
  678. xwquery-0.0.1.8/tests/test_xwquery_xwnode_comprehensive.py +420 -0
  679. xwquery-0.0.1.8/tests/unit/__init__.py +2 -0
  680. xwquery-0.0.1.8/tests/unit/final_test.py +36 -0
  681. xwquery-0.0.1.8/tests/unit/test_all_31_grammars.py +233 -0
  682. xwquery-0.0.1.8/tests/unit/test_all_operations.py +189 -0
  683. xwquery-0.0.1.8/tests/unit/test_column_where.py +35 -0
  684. xwquery-0.0.1.8/tests/unit/test_console.py +231 -0
  685. xwquery-0.0.1.8/tests/unit/test_direct_lark_parsing.py +144 -0
  686. xwquery-0.0.1.8/tests/unit/test_format_detection.py +193 -0
  687. xwquery-0.0.1.8/tests/unit/test_interactive.py +85 -0
  688. xwquery-0.0.1.8/tests/unit/test_multiple_grammars.py +223 -0
  689. xwquery-0.0.1.8/tests/unit/test_query.py +20 -0
  690. xwquery-0.0.1.8/tests/unit/test_simple_sql_parsing.py +157 -0
  691. xwquery-0.0.1.8/tests/unit/test_xwqueryscript_grammar.py +225 -0
  692. xwquery-0.0.1.8/tests/verify_installation.py +72 -0
File without changes
@@ -0,0 +1,65 @@
1
+
2
+ ============================== warnings summary ===============================
3
+ tests\strategies\base_strategy_test.py:237
4
+ d:\OneDrive\DEV\exonware\xwquery\tests\strategies\base_strategy_test.py:237: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
5
+ @pytest.mark.slow
6
+
7
+ tests\strategies\test_cql_strategy.py:17
8
+ d:\OneDrive\DEV\exonware\xwquery\tests\strategies\test_cql_strategy.py:17: PytestUnknownMarkWarning: Unknown pytest.mark.xwquery_cql - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
9
+ @pytest.mark.xwquery_cql
10
+
11
+ tests\strategies\test_cypher_strategy.py:17
12
+ d:\OneDrive\DEV\exonware\xwquery\tests\strategies\test_cypher_strategy.py:17: PytestUnknownMarkWarning: Unknown pytest.mark.xwquery_cypher - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
13
+ @pytest.mark.xwquery_cypher
14
+
15
+ tests\strategies\test_datalog_strategy.py:17
16
+ d:\OneDrive\DEV\exonware\xwquery\tests\strategies\test_datalog_strategy.py:17: PytestUnknownMarkWarning: Unknown pytest.mark.xwquery_datalog - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
17
+ @pytest.mark.xwquery_datalog
18
+
19
+ tests\strategies\test_elastic_dsl_strategy.py:17
20
+ d:\OneDrive\DEV\exonware\xwquery\tests\strategies\test_elastic_dsl_strategy.py:17: PytestUnknownMarkWarning: Unknown pytest.mark.xwquery_elastic_dsl - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
21
+ @pytest.mark.xwquery_elastic_dsl
22
+
23
+ tests\strategies\test_gremlin_strategy.py:17
24
+ d:\OneDrive\DEV\exonware\xwquery\tests\strategies\test_gremlin_strategy.py:17: PytestUnknownMarkWarning: Unknown pytest.mark.xwquery_gremlin - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
25
+ @pytest.mark.xwquery_gremlin
26
+
27
+ -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
28
+ =========================== short test summary info ===========================
29
+ ERROR tests/strategies/test_eql_strategy.py
30
+ ERROR tests/strategies/test_flux_strategy.py
31
+ ERROR tests/strategies/test_gql_strategy.py
32
+ ERROR tests/strategies/test_graphql_strategy.py
33
+ ERROR tests/strategies/test_hiveql_strategy.py
34
+ ERROR tests/strategies/test_hql_strategy.py
35
+ ERROR tests/strategies/test_jmespath_strategy.py
36
+ ERROR tests/strategies/test_jq_strategy.py
37
+ ERROR tests/strategies/test_json_query_strategy.py
38
+ ERROR tests/strategies/test_jsoniq_strategy.py
39
+ ERROR tests/strategies/test_kql_strategy.py
40
+ ERROR tests/strategies/test_linq_strategy.py
41
+ ERROR tests/strategies/test_logql_strategy.py
42
+ ERROR tests/strategies/test_mql_strategy.py
43
+ ERROR tests/strategies/test_n1ql_strategy.py
44
+ ERROR tests/strategies/test_new_sql_strategies_roundtrip.py
45
+ ERROR tests/strategies/test_new_strategies_comprehensive.py
46
+ ERROR tests/strategies/test_new_strategies_manual.py
47
+ ERROR tests/strategies/test_new_strategies_roundtrip.py
48
+ ERROR tests/strategies/test_new_strategies_xwquery_integration.py
49
+ ERROR tests/strategies/test_new_time_series_strategies.py
50
+ ERROR tests/strategies/test_partiql_strategy.py
51
+ ERROR tests/strategies/test_pig_strategy.py
52
+ ERROR tests/strategies/test_promql_strategy.py
53
+ ERROR tests/strategies/test_sparql_strategy.py
54
+ ERROR tests/strategies/test_sql_strategy.py
55
+ ERROR tests/strategies/test_xml_query_strategy.py
56
+ ERROR tests/strategies/test_xpath_strategy.py
57
+ ERROR tests/strategies/test_xquery_strategy.py
58
+ ERROR tests/strategies/test_xwnode_executor_strategy.py
59
+ ERROR tests/strategies/test_xwquery_strategy.py
60
+ ERROR tests/test_format_detection.py
61
+ ERROR tests/test_grammar_parse_unparse.py
62
+ ERROR tests/test_xwnode_integration.py
63
+ ERROR tests/test_xwquery_xwnode_comprehensive.py
64
+ !!!!!!!!!!!!!!!!!! Interrupted: 35 errors during collection !!!!!!!!!!!!!!!!!!!
65
+ 6 warnings, 35 errors in 3.94s
@@ -0,0 +1,32 @@
1
+ # NOTE: AUTO-GENERATED FILE
2
+ # This workflow was generated by tools/ci/python_scripts/generate_workflows.py.
3
+ # Do NOT edit this file manually - changes will be overwritten.
4
+
5
+ name: Check for Hardcoded Versions
6
+
7
+ on:
8
+ pull_request:
9
+ paths:
10
+ - 'src/**/*.py'
11
+ - 'tests/**/*.py'
12
+ - 'docs/**/*.md'
13
+ - '*.md'
14
+ - '*.txt'
15
+ push:
16
+ branches: [main, develop]
17
+
18
+ jobs:
19
+ check-versions:
20
+ runs-on: ubuntu-latest
21
+ steps:
22
+ - uses: actions/checkout@v3
23
+
24
+ - name: Set up Python
25
+ uses: actions/setup-python@v4
26
+ with:
27
+ python-version: '3.12'
28
+
29
+ - name: Verify version.py is the source of truth
30
+ run: |
31
+ python .github/workflows/check_version_source_of_truth.py
32
+
@@ -0,0 +1,147 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Verify that the version configured in pyproject.toml ultimately comes from a
4
+ single source-of-truth version location (file or attribute) and print it.
5
+
6
+ This is extracted from the GitHub Actions check-versions workflow so it can be
7
+ tested and reused outside of CI.
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ import importlib
13
+ import re
14
+ import sys
15
+ from pathlib import Path
16
+
17
+
18
+ def _read_pyproject() -> str:
19
+ path = Path("pyproject.toml")
20
+ if not path.exists():
21
+ print("No pyproject.toml", file=sys.stderr)
22
+ sys.exit(2)
23
+ return path.read_text(encoding="utf-8")
24
+
25
+
26
+ def _read_attr_from_module_source(
27
+ project_root: Path,
28
+ module_name: str,
29
+ attr_name: str,
30
+ ) -> str | None:
31
+ """
32
+ Resolve module source under ./src and read a simple string assignment
33
+ like: __version__ = "1.2.3"
34
+ This avoids import side effects from package-level dependencies.
35
+ """
36
+ module_rel = Path(*module_name.split("."))
37
+ candidates = [
38
+ project_root / "src" / (str(module_rel) + ".py"),
39
+ project_root / "src" / module_rel / "__init__.py",
40
+ ]
41
+ pattern = re.compile(
42
+ rf"^\s*{re.escape(attr_name)}\s*=\s*['\"]([^'\"]+)['\"]\s*$",
43
+ re.MULTILINE,
44
+ )
45
+ for candidate in candidates:
46
+ if not candidate.exists():
47
+ continue
48
+ text = candidate.read_text(encoding="utf-8")
49
+ m = pattern.search(text)
50
+ if m:
51
+ return m.group(1)
52
+ return None
53
+
54
+
55
+ def main() -> None:
56
+ text = _read_pyproject()
57
+
58
+ # 1) Hatchling: [tool.hatch.version] path = ".../version.py"
59
+ m = re.search(
60
+ r"\[tool\.hatch\.version\][^\n]*\n\s*path\s*=\s*[\"']([^\"']+)[\"']",
61
+ text,
62
+ re.DOTALL,
63
+ )
64
+ if m:
65
+ version_file = Path(m.group(1).strip())
66
+ if not version_file.exists():
67
+ print(f"Version file not found: {version_file}", file=sys.stderr)
68
+ sys.exit(2)
69
+ ns: dict[str, object] = {}
70
+ exec(version_file.read_text(encoding="utf-8"), ns)
71
+ version = ns.get("__version__")
72
+ if not isinstance(version, str) or not version:
73
+ print(f"__version__ missing or empty in {version_file}", file=sys.stderr)
74
+ sys.exit(2)
75
+ print("Current version:", version)
76
+ sys.exit(0)
77
+
78
+ # 2) Setuptools dynamic inline table (file=...) -> open version file and exec
79
+ m = re.search(
80
+ r'version\s*=\s*\{\s*file\s*=\s*["\']([^"\']+)["\']',
81
+ text,
82
+ re.DOTALL,
83
+ )
84
+ if not m:
85
+ # 2b) Setuptools dynamic table style:
86
+ # [tool.setuptools.dynamic.version]
87
+ # attr = "pkg.module.__version__" OR file = "..."
88
+ m = re.search(
89
+ r"\[tool\.setuptools\.dynamic\.version\][^\n]*\n\s*file\s*=\s*[\"']([^\"']+)[\"']",
90
+ text,
91
+ re.DOTALL,
92
+ )
93
+ if m:
94
+ version_file = Path(m.group(1).strip())
95
+ if not version_file.exists():
96
+ print(f"Version file not found: {version_file}", file=sys.stderr)
97
+ sys.exit(2)
98
+ ns: dict[str, object] = {}
99
+ exec(version_file.read_text(encoding="utf-8"), ns)
100
+ version = ns.get("__version__")
101
+ if not isinstance(version, str) or not version:
102
+ print(f"__version__ missing or empty in {version_file}", file=sys.stderr)
103
+ sys.exit(2)
104
+ print("Current version:", version)
105
+ sys.exit(0)
106
+
107
+ # 3) Setuptools dynamic inline table (attr="pkg.module.__version__")
108
+ m = re.search(
109
+ r'version\s*=\s*\{\s*attr\s*=\s*["\']([^"\']+)["\']',
110
+ text,
111
+ re.DOTALL,
112
+ )
113
+ if not m:
114
+ # 3b) Setuptools dynamic table style:
115
+ # [tool.setuptools.dynamic.version]
116
+ # attr = "pkg.module.__version__"
117
+ m = re.search(
118
+ r"\[tool\.setuptools\.dynamic\.version\][^\n]*\n\s*attr\s*=\s*[\"']([^\"']+)[\"']",
119
+ text,
120
+ re.DOTALL,
121
+ )
122
+ if m:
123
+ attr_path = m.group(1).strip()
124
+ module_name, _, attr = attr_path.rpartition(".")
125
+ if not module_name or not attr:
126
+ sys.exit(2)
127
+ version = _read_attr_from_module_source(Path("."), module_name, attr)
128
+ if version is None:
129
+ # Fallback to import for unusual dynamic cases.
130
+ mod = importlib.import_module(module_name)
131
+ version = getattr(mod, attr, None)
132
+ if not isinstance(version, str) or not version:
133
+ print(
134
+ f"Attribute {attr_path} is missing or empty",
135
+ file=sys.stderr,
136
+ )
137
+ sys.exit(2)
138
+ print("Current version:", version)
139
+ sys.exit(0)
140
+
141
+ # If none of the patterns matched, exit with a non-success status expected by CI.
142
+ sys.exit(2)
143
+
144
+
145
+ if __name__ == "__main__":
146
+ main()
147
+
@@ -0,0 +1,86 @@
1
+ # NOTE: AUTO-GENERATED FILE
2
+ # This workflow was generated by tools/ci/python_scripts/generate_workflows.py.
3
+ # Do NOT edit this file manually - changes will be overwritten.
4
+
5
+ name: Dual PyPI Publish - exonware-xwquery & xwquery
6
+
7
+ on:
8
+ push:
9
+ tags:
10
+ - 'v*' # Triggers on version tags like v0.0.2, v1.0.0, etc.
11
+ workflow_dispatch: # Allows manual trigger of the workflow
12
+
13
+ jobs:
14
+ publish:
15
+ runs-on: ubuntu-latest
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - name: Set up Python
21
+ uses: actions/setup-python@v4
22
+ with:
23
+ python-version: '3.12'
24
+
25
+ - name: Verify tag matches version.py
26
+ run: |
27
+ python .github/workflows/verify_tag_matches_version.py
28
+
29
+ - name: Install dependencies
30
+ run: |
31
+ python -m pip install --upgrade pip
32
+ pip install build twine
33
+
34
+ - name: Set release date to today
35
+ run: |
36
+ python .github/workflows/update_release_date_from_version_file.py
37
+
38
+ - name: Build exonware-xwquery package
39
+ run: |
40
+ echo "Building exonware-xwquery package..."
41
+ python -m build
42
+
43
+ - name: Build xwquery package
44
+ run: |
45
+ echo "Building xwquery package..."
46
+ cp pyproject.toml pyproject.backup.toml
47
+ cp pyproject.xwquery.toml pyproject.toml
48
+ python -m build
49
+ mv pyproject.backup.toml pyproject.toml
50
+
51
+ - name: List built packages
52
+ run: |
53
+ echo "Built packages:"
54
+ find dist -name "*.whl" -o -name "*.tar.gz" | sort
55
+
56
+ - name: Publish exonware-xwquery to PyPI
57
+ env:
58
+ TWINE_USERNAME: __token__
59
+ TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
60
+ run: |
61
+ echo "Publishing exonware-xwquery to PyPI..."
62
+ ls -la dist/
63
+ twine upload dist/exonware_xwquery-*.whl dist/exonware_xwquery-*.tar.gz
64
+
65
+ - name: Publish xwquery to PyPI
66
+ env:
67
+ TWINE_USERNAME: __token__
68
+ TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
69
+ run: |
70
+ echo "Publishing xwquery to PyPI..."
71
+ twine upload dist/xwquery-*.whl dist/xwquery-*.tar.gz
72
+
73
+ - name: Success notification
74
+ run: |
75
+ echo "Successfully published both packages:"
76
+ echo " exonware-xwquery v${{ github.ref_name }}"
77
+ echo " xwquery v${{ github.ref_name }}"
78
+ echo ""
79
+ echo "PyPI URLs:"
80
+ echo " https://pypi.org/project/exonware-xwquery/"
81
+ echo " https://pypi.org/project/xwquery/"
82
+ echo ""
83
+ echo "Install with:"
84
+ echo " pip install exonware-xwquery"
85
+ echo " pip install xwquery"
86
+
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Update a __date__ literal in the version file referenced from pyproject.toml
4
+ to today's ISO date (YYYY-MM-DD), when present as a string literal.
5
+
6
+ This is extracted from the GitHub Actions publish workflow so it can be reused
7
+ and tested outside of CI.
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ import re
13
+ import sys
14
+ from datetime import date
15
+ from pathlib import Path
16
+
17
+
18
+ def main() -> None:
19
+ pyproject_path = Path("pyproject.toml")
20
+ if not pyproject_path.exists():
21
+ print("No pyproject.toml; skipping __date__ update")
22
+ sys.exit(0)
23
+
24
+ pyproject = pyproject_path.read_text(encoding="utf-8")
25
+ m = re.search(
26
+ r"\[tool\.hatch\.version\][^\n]*\n\s*path\s*=\s*[\"']([^\"']+)[\"']",
27
+ pyproject,
28
+ re.DOTALL,
29
+ )
30
+ if not m:
31
+ print("No [tool.hatch.version] path; skipping __date__ update")
32
+ sys.exit(0)
33
+
34
+ version_file = Path(m.group(1).strip())
35
+ if not version_file.exists():
36
+ print(f"Version file not found: {version_file}; skipping __date__ update")
37
+ sys.exit(0)
38
+
39
+ text = version_file.read_text(encoding="utf-8")
40
+ literal_match = re.search(
41
+ r"__date__\s*=\s*[\"'][^\"']*[\"']",
42
+ text,
43
+ )
44
+ if not literal_match:
45
+ print("__date__ is dynamic or missing; no update needed")
46
+ sys.exit(0)
47
+
48
+ today = date.today().isoformat()
49
+ new_text = re.sub(
50
+ r"(__date__\s*=\s*)[\"'][^\"']*[\"']",
51
+ r'\1"' + today + '"',
52
+ text,
53
+ )
54
+ version_file.write_text(new_text, encoding="utf-8")
55
+ print("Set __date__ to", today, "in", version_file)
56
+
57
+
58
+ if __name__ == "__main__":
59
+ main()
60
+
@@ -0,0 +1,72 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Verify that the current Git reference (tag) matches the library version defined
4
+ in the version file referenced from pyproject.toml.
5
+
6
+ This script is extracted from the GitHub Actions publish workflow so it can be
7
+ reused and tested outside of CI.
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ import os
13
+ import re
14
+ import sys
15
+ from pathlib import Path
16
+
17
+
18
+ def _load_version_from_pyproject() -> str | None:
19
+ pyproject_path = Path("pyproject.toml")
20
+ if not pyproject_path.exists():
21
+ print("No pyproject.toml; skipping", file=sys.stderr)
22
+ return None
23
+
24
+ text = pyproject_path.read_text(encoding="utf-8")
25
+ m = re.search(
26
+ r"\[tool\.hatch\.version\][^\n]*\n\s*path\s*=\s*[\"']([^\"']+)[\"']",
27
+ text,
28
+ re.DOTALL,
29
+ )
30
+ if not m:
31
+ print("No [tool.hatch.version] path; skipping", file=sys.stderr)
32
+ return None
33
+
34
+ version_file = Path(m.group(1).strip())
35
+ if not version_file.exists():
36
+ print(f"Version file not found: {version_file}", file=sys.stderr)
37
+ sys.exit(1)
38
+
39
+ ns: dict[str, object] = {}
40
+ exec(version_file.read_text(encoding="utf-8"), ns)
41
+ version = ns.get("__version__")
42
+ if not isinstance(version, str) or not version:
43
+ print(f"__version__ missing or empty in {version_file}", file=sys.stderr)
44
+ sys.exit(1)
45
+ return version
46
+
47
+
48
+ def main() -> None:
49
+ file_ver = _load_version_from_pyproject()
50
+ if not file_ver:
51
+ # Nothing to check; treat as non-fatal.
52
+ sys.exit(0)
53
+
54
+ ref = os.environ.get("GITHUB_REF", "")
55
+ if not ref.startswith("refs/tags/"):
56
+ print(f"Not a tag build; version: {file_ver}")
57
+ sys.exit(0)
58
+
59
+ tag_name = ref.removeprefix("refs/tags/")
60
+ tag_ver = tag_name[1:] if tag_name.startswith("v") else tag_name
61
+
62
+ if tag_ver != file_ver:
63
+ print(f"ERROR: Tag {tag_ver} != version.py {file_ver}", file=sys.stderr)
64
+ sys.exit(1)
65
+
66
+ print("OK: tag and version match:", file_ver)
67
+ sys.exit(0)
68
+
69
+
70
+ if __name__ == "__main__":
71
+ main()
72
+
@@ -0,0 +1,9 @@
1
+ projects:
2
+ xwquery:
3
+ repo: xwquery
4
+ package_main: exonware-xwquery
5
+ package_wrapper: xwquery
6
+ python_version: "3.12"
7
+ has_wrapper: true
8
+ uses_check_versions: true
9
+
@@ -0,0 +1,172 @@
1
+ # Migration/legacy directories (may contain paths too long for Windows)
2
+ MIGRAT/
3
+ MIGRATE/
4
+
5
+ # Byte-compiled / optimized / DLL files
6
+ __pycache__/
7
+ *.py[cod]
8
+ *$py.class
9
+
10
+ # C extensions
11
+ *.so
12
+
13
+ # Distribution / packaging
14
+ .Python
15
+ build/
16
+ develop-eggs/
17
+ dist/
18
+ downloads/
19
+ eggs/
20
+ .eggs/
21
+ lib/
22
+ lib64/
23
+ parts/
24
+ sdist/
25
+ var/
26
+ wheels/
27
+ share/python-wheels/
28
+ *.egg-info/
29
+ .installed.cfg
30
+ *.egg
31
+ MANIFEST
32
+
33
+ # PyInstaller
34
+ *.manifest
35
+ *.spec
36
+
37
+ # Installer logs
38
+ pip-log.txt
39
+ pip-delete-this-directory.txt
40
+
41
+ # Unit test / coverage reports
42
+ htmlcov/
43
+ .tox/
44
+ .nox/
45
+ .coverage
46
+ .coverage.*
47
+ .cache
48
+ nosetests.xml
49
+ coverage.xml
50
+ *.cover
51
+ *.py,cover
52
+ .hypothesis/
53
+ .pytest_cache/
54
+ cover/
55
+
56
+ # Translations
57
+ *.mo
58
+ *.pot
59
+
60
+ # Django stuff:
61
+ *.log
62
+ local_settings.py
63
+ db.sqlite3
64
+ db.sqlite3-journal
65
+
66
+ # Flask stuff:
67
+ instance/
68
+ .webassets-cache
69
+
70
+ # Scrapy stuff:
71
+ .scrapy
72
+
73
+ # Sphinx documentation
74
+ docs/_build/
75
+
76
+ # PyBuilder
77
+ .pybuilder/
78
+ target/
79
+
80
+ # Jupyter Notebook
81
+ .ipynb_checkpoints
82
+
83
+ # IPython
84
+ profile_default/
85
+ ipython_config.py
86
+
87
+ # pyenv
88
+ .python-version
89
+
90
+ # pipenv
91
+ Pipfile.lock
92
+
93
+ # poetry
94
+ poetry.lock
95
+
96
+ # pdm
97
+ .pdm.toml
98
+
99
+ # PEP 582
100
+ __pypackages__/
101
+
102
+ # Celery stuff
103
+ celerybeat-schedule
104
+ celerybeat.pid
105
+
106
+ # SageMath parsed files
107
+ *.sage.py
108
+
109
+ # Environments
110
+ .env
111
+ .venv
112
+ env/
113
+ venv/
114
+ ENV/
115
+ env.bak/
116
+ venv.bak/
117
+
118
+ # Spyder project settings
119
+ .spyderproject
120
+ .spyproject
121
+
122
+ # Rope project settings
123
+ .ropeproject
124
+
125
+ # mkdocs documentation
126
+ /site
127
+
128
+ # mypy
129
+ .mypy_cache/
130
+ .dmypy.json
131
+ dmypy.json
132
+
133
+ # Pyre type checker
134
+ .pyre/
135
+
136
+ # pytype static type analyzer
137
+ .pytype/
138
+
139
+ # Cython debug symbols
140
+ cython_debug/
141
+
142
+ # IDE
143
+ .vscode/
144
+ .idea/
145
+ *.swp
146
+ *.swo
147
+ *~
148
+
149
+ # OS
150
+ .DS_Store
151
+ Thumbs.db
152
+
153
+ # Project specific
154
+ *.pyc
155
+ fix_imports.py
156
+ fix_imports_simple.py
157
+
158
+ # Test runner output files (auto-generated)
159
+ **/runner_out.md
160
+ tests/runner_out.md
161
+ tests/*/runner_out.md
162
+ tests/*/*/runner_out.md
163
+
164
+ # xwlazy generated files (should be in ~/.xwlazy/ but ignore in case of old behavior)
165
+ xwlazy.lock.toml
166
+ xwlazy_sbom.toml
167
+
168
+ # Local secrets and archives
169
+ .secrets
170
+ .archieve/
171
+
172
+ .examples/