nlp2sql 0.2.0rc9__tar.gz → 0.2.0rc11__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 (129) hide show
  1. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/CLAUDE.md +7 -0
  2. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/PKG-INFO +3 -3
  3. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/README.md +2 -1
  4. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/pyproject.toml +1 -2
  5. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/__init__.py +1 -1
  6. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/postgres_repository.py +273 -167
  7. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/redshift_adapter.py +215 -120
  8. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_redshift_integration.py +125 -0
  9. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/uv.lock +1 -54
  10. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.claude/commands/db.md +0 -0
  11. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.claude/commands/quality.md +0 -0
  12. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.claude/commands/test.md +0 -0
  13. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.claude/rules/adapters.md +0 -0
  14. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.claude/rules/architecture.md +0 -0
  15. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.claude/rules/python-style.md +0 -0
  16. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.claude/rules/testing.md +0 -0
  17. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.claude/settings.json +0 -0
  18. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  19. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  20. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.github/workflows/ci.yml +0 -0
  21. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.github/workflows/publish-pypi.yml +0 -0
  22. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.github/workflows/publish-testpypi.yml +0 -0
  23. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.gitignore +0 -0
  24. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.mcp.json.example +0 -0
  25. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.python-version +0 -0
  26. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/CONTRIBUTING.md +0 -0
  27. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/LICENSE +0 -0
  28. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/SECURITY.md +0 -0
  29. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/assets/nlp2sql-logo.png +0 -0
  30. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/benchmarks/enterprise_benchmark_results.json +0 -0
  31. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docker/.env.example +0 -0
  32. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docker/README.md +0 -0
  33. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docker/docker-compose.yml +0 -0
  34. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docker/get-db-urls.sh +0 -0
  35. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docker/init-schema.sql +0 -0
  36. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docker/large-schema.sql +0 -0
  37. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docker/localstack-init.sh +0 -0
  38. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docker/test-redshift.sh +0 -0
  39. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docs/API.md +0 -0
  40. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docs/ARCHITECTURE.md +0 -0
  41. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docs/CONFIGURATION.md +0 -0
  42. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docs/ENTERPRISE.md +0 -0
  43. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docs/Redshift.md +0 -0
  44. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/README.md +0 -0
  45. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/advanced/test_multiple_providers.py +0 -0
  46. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/advanced/test_simple_api.py +0 -0
  47. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/database_specific/test_odoo_integration.py +0 -0
  48. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/default_examples.json +0 -0
  49. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/documentation/real_world_example.py +0 -0
  50. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/getting_started/basic_usage.py +0 -0
  51. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/getting_started/simple_demo.py +0 -0
  52. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/getting_started/test_api_setup.py +0 -0
  53. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/schema_management/test_auto_schema.py +0 -0
  54. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/schema_management/test_schema_filters_comprehensive.py +0 -0
  55. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/.dockerignore +0 -0
  56. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/.env.example +0 -0
  57. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/DOCKER_README.md +0 -0
  58. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/DOCKER_SETUP.md +0 -0
  59. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/DOCKER_TESTING_SUMMARY.md +0 -0
  60. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/Dockerfile +0 -0
  61. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/INDEX.md +0 -0
  62. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/README.md +0 -0
  63. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/docker/init-ecommerce-schema.sql +0 -0
  64. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/docker-compose.yml +0 -0
  65. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/main.py +0 -0
  66. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/pyproject.toml +0 -0
  67. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/test-docker-endpoints.sh +0 -0
  68. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/install-dev.sh +0 -0
  69. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/mcp_server/README.md +0 -0
  70. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/mcp_server/__init__.py +0 -0
  71. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/mcp_server/example_config.json +0 -0
  72. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/mcp_server/pyproject.toml +0 -0
  73. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/mcp_server/server.py +0 -0
  74. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/__init__.py +0 -0
  75. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/anthropic_adapter.py +0 -0
  76. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/gemini_adapter.py +0 -0
  77. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/local_embedding_adapter.py +0 -0
  78. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/openai_adapter.py +0 -0
  79. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/openai_embedding_adapter.py +0 -0
  80. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/regex_query_validator.py +0 -0
  81. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/cli.py +0 -0
  82. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/client.py +0 -0
  83. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/config/__init__.py +0 -0
  84. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/config/settings.py +0 -0
  85. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/core/__init__.py +0 -0
  86. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/core/database_prompts.py +0 -0
  87. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/core/entities.py +0 -0
  88. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/core/provider_config.py +0 -0
  89. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/core/result.py +0 -0
  90. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/core/sql_keywords.py +0 -0
  91. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/core/sql_safety.py +0 -0
  92. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/exceptions/__init__.py +0 -0
  93. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/factories/__init__.py +0 -0
  94. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/factories/repository_factory.py +0 -0
  95. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/__init__.py +0 -0
  96. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/ai_provider.py +0 -0
  97. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/cache.py +0 -0
  98. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/embedding_provider.py +0 -0
  99. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/example_repository.py +0 -0
  100. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/query_optimizer.py +0 -0
  101. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/query_safety.py +0 -0
  102. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/query_validator.py +0 -0
  103. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/schema_repository.py +0 -0
  104. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/schema_strategy.py +0 -0
  105. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/schema/__init__.py +0 -0
  106. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/schema/analyzer.py +0 -0
  107. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/schema/embedding_manager.py +0 -0
  108. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/schema/example_loader.py +0 -0
  109. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/schema/example_store.py +0 -0
  110. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/schema/manager.py +0 -0
  111. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/services/__init__.py +0 -0
  112. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/services/query_service.py +0 -0
  113. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/utils/__init__.py +0 -0
  114. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/utils/helpers.py +0 -0
  115. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/utils/storage.py +0 -0
  116. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/test_tmp/.gitignore +0 -0
  117. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/conftest.py +0 -0
  118. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/mcp/__init__.py +0 -0
  119. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/mcp/test_sql_security.py +0 -0
  120. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_basic.py +0 -0
  121. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_batch_scoring.py +0 -0
  122. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_column_validation.py +0 -0
  123. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_database_prompts.py +0 -0
  124. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_dsl_integration.py +0 -0
  125. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_embedding_manager.py +0 -0
  126. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_integration.py +0 -0
  127. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_postgres_integration.py +0 -0
  128. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_repository_cache.py +0 -0
  129. {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_repository_factory.py +0 -0
@@ -148,3 +148,10 @@ Configuration example: `.mcp.json.example`
148
148
  - **Async/await**: For all I/O operations
149
149
  - **Naming**: PascalCase classes, snake_case functions, UPPER_SNAKE_CASE constants
150
150
  - **Documentation**: No emojis in code or technical docs
151
+
152
+
153
+ ## Branch Naming Convention
154
+
155
+ - When creating worktree branches, use the pattern: `fix/`, `feat/`, `chore/`, `refactor/` followed by a descriptive kebab-case name
156
+ - Examples: `fix/asyncpg-event-loop`, `feat/mysql-adapter`, `chore/bump-deps`
157
+ - Do NOT use the default `claude/` prefix
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nlp2sql
3
- Version: 0.2.0rc9
3
+ Version: 0.2.0rc11
4
4
  Summary: Enterprise-ready Natural Language to SQL converter with multi-provider support. Built for production scale (1000+ tables) with Clean Architecture.
5
5
  Project-URL: Homepage, https://github.com/luiscarbonel1991/nlp2sql
6
6
  Project-URL: Bug Tracker, https://github.com/luiscarbonel1991/nlp2sql/issues
@@ -22,7 +22,6 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
22
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
23
  Requires-Python: >=3.9
24
24
  Requires-Dist: anthropic>=0.18.0
25
- Requires-Dist: asyncpg>=0.29.0
26
25
  Requires-Dist: azure-identity>=1.15.0
27
26
  Requires-Dist: boto3>=1.34.0
28
27
  Requires-Dist: click>=8.0.0
@@ -82,12 +81,13 @@ Description-Content-Type: text/markdown
82
81
  </p>
83
82
 
84
83
  <p align="center">
84
+ <a href="https://pepy.tech/projects/nlp2sql"><img src="https://static.pepy.tech/personalized-badge/nlp2sql?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads" alt="PyPI Downloads"></a>
85
85
  <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
86
86
  <a href="https://www.python.org/downloads/"><img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="Python 3.9+"></a>
87
87
  <a href="https://github.com/psf/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="Code style: black"></a>
88
88
  </p>
89
89
 
90
- # nlp2sql
90
+ # nlp2sql
91
91
 
92
92
  **Enterprise-ready Natural Language to SQL converter with multi-provider support**
93
93
 
@@ -3,12 +3,13 @@
3
3
  </p>
4
4
 
5
5
  <p align="center">
6
+ <a href="https://pepy.tech/projects/nlp2sql"><img src="https://static.pepy.tech/personalized-badge/nlp2sql?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads" alt="PyPI Downloads"></a>
6
7
  <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
7
8
  <a href="https://www.python.org/downloads/"><img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="Python 3.9+"></a>
8
9
  <a href="https://github.com/psf/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="Code style: black"></a>
9
10
  </p>
10
11
 
11
- # nlp2sql
12
+ # nlp2sql
12
13
 
13
14
  **Enterprise-ready Natural Language to SQL converter with multi-provider support**
14
15
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "nlp2sql"
3
- version = "0.2.0rc9"
3
+ version = "0.2.0rc11"
4
4
  description = "Enterprise-ready Natural Language to SQL converter with multi-provider support. Built for production scale (1000+ tables) with Clean Architecture."
5
5
  readme = "README.md"
6
6
  license = {text = "MIT"}
@@ -38,7 +38,6 @@ dependencies = [
38
38
  "structlog>=24.1.0",
39
39
  "httpx>=0.25.0",
40
40
  "redis>=5.0.0",
41
- "asyncpg>=0.29.0",
42
41
  "tiktoken>=0.5.0",
43
42
  "faiss-cpu>=1.7.4",
44
43
  "pandas>=2.0.0",
@@ -20,7 +20,7 @@ from .ports.schema_repository import SchemaRepositoryPort
20
20
  from .schema.example_store import ExampleStore
21
21
  from .services.query_service import QueryGenerationService
22
22
 
23
- __version__ = "0.2.0rc9"
23
+ __version__ = "0.2.0rc11"
24
24
  __author__ = "Luis Carbonel"
25
25
  __email__ = "devhighlevel@gmail.com"
26
26