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.
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/CLAUDE.md +7 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/PKG-INFO +3 -3
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/README.md +2 -1
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/pyproject.toml +1 -2
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/__init__.py +1 -1
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/postgres_repository.py +273 -167
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/redshift_adapter.py +215 -120
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_redshift_integration.py +125 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/uv.lock +1 -54
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.claude/commands/db.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.claude/commands/quality.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.claude/commands/test.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.claude/rules/adapters.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.claude/rules/architecture.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.claude/rules/python-style.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.claude/rules/testing.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.claude/settings.json +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.github/workflows/ci.yml +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.github/workflows/publish-pypi.yml +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.github/workflows/publish-testpypi.yml +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.gitignore +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.mcp.json.example +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/.python-version +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/CONTRIBUTING.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/LICENSE +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/SECURITY.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/assets/nlp2sql-logo.png +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/benchmarks/enterprise_benchmark_results.json +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docker/.env.example +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docker/README.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docker/docker-compose.yml +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docker/get-db-urls.sh +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docker/init-schema.sql +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docker/large-schema.sql +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docker/localstack-init.sh +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docker/test-redshift.sh +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docs/API.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docs/ARCHITECTURE.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docs/CONFIGURATION.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docs/ENTERPRISE.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/docs/Redshift.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/README.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/advanced/test_multiple_providers.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/advanced/test_simple_api.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/database_specific/test_odoo_integration.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/default_examples.json +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/documentation/real_world_example.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/getting_started/basic_usage.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/getting_started/simple_demo.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/getting_started/test_api_setup.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/schema_management/test_auto_schema.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/schema_management/test_schema_filters_comprehensive.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/.dockerignore +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/.env.example +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/DOCKER_README.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/DOCKER_SETUP.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/DOCKER_TESTING_SUMMARY.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/Dockerfile +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/INDEX.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/README.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/docker/init-ecommerce-schema.sql +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/docker-compose.yml +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/main.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/pyproject.toml +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/examples/strands-fastapi-agent/test-docker-endpoints.sh +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/install-dev.sh +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/mcp_server/README.md +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/mcp_server/__init__.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/mcp_server/example_config.json +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/mcp_server/pyproject.toml +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/mcp_server/server.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/__init__.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/anthropic_adapter.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/gemini_adapter.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/local_embedding_adapter.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/openai_adapter.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/openai_embedding_adapter.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/adapters/regex_query_validator.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/cli.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/client.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/config/__init__.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/config/settings.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/core/__init__.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/core/database_prompts.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/core/entities.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/core/provider_config.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/core/result.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/core/sql_keywords.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/core/sql_safety.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/exceptions/__init__.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/factories/__init__.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/factories/repository_factory.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/__init__.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/ai_provider.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/cache.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/embedding_provider.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/example_repository.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/query_optimizer.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/query_safety.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/query_validator.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/schema_repository.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/ports/schema_strategy.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/schema/__init__.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/schema/analyzer.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/schema/embedding_manager.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/schema/example_loader.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/schema/example_store.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/schema/manager.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/services/__init__.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/services/query_service.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/utils/__init__.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/utils/helpers.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/src/nlp2sql/utils/storage.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/test_tmp/.gitignore +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/conftest.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/mcp/__init__.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/mcp/test_sql_security.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_basic.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_batch_scoring.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_column_validation.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_database_prompts.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_dsl_integration.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_embedding_manager.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_integration.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_postgres_integration.py +0 -0
- {nlp2sql-0.2.0rc9 → nlp2sql-0.2.0rc11}/tests/test_repository_cache.py +0 -0
- {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.
|
|
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.
|
|
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.
|
|
23
|
+
__version__ = "0.2.0rc11"
|
|
24
24
|
__author__ = "Luis Carbonel"
|
|
25
25
|
__email__ = "devhighlevel@gmail.com"
|
|
26
26
|
|