Skip to content

Commit 7fb504d

Browse files
Merge pull request #2 from thewebscraping/standard-dbs
feat: Standardize Query DSL and Enhance Adapter Architecture
2 parents 247e340 + f368d69 commit 7fb504d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+17998
-2353
lines changed

.env.example

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ ASTRA_DB_COLLECTION_NAME=vector_documents
99

1010
# ChromaDB Cloud (optional)
1111
CHROMA_API_KEY=your-chroma-api-key
12-
CHROMA_CLOUD_TENANT=your-tenant
13-
CHROMA_CLOUD_DATABASE=your-database
12+
CHROMA_TENANT=your-tenant
13+
CHROMA_DATABASE=your-database
1414

1515
# ChromaDB HTTP Server (optional)
16-
CHROMA_HTTP_HOST=localhost
17-
CHROMA_HTTP_PORT=8000
16+
CHROMA_HOST=localhost
17+
CHROMA_PORT=8000
1818

1919
# ChromaDB Local (optional)
2020
CHROMA_PERSIST_DIR=./chroma_data

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
2929
- name: Run tests
3030
run: |
31-
pytest
31+
pytest tests/
3232
3333
- name: Install uv
3434
run: pip install uv

.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,6 @@ chroma_data/
5050
# Logs
5151
*.log
5252

53-
# UV
54-
uv.lock
55-
5653
# Documentation
5754
site/
5855
docs/guides/

.pre-commit-config.yaml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ repos:
3434
- id: check-ast
3535
- id: check-docstring-first
3636
- id: debug-statements
37+
exclude: 'src/crossvector/querydsl/__init__\.py$'
3738

3839
# Type checking with mypy (optional - can be commented out if too strict)
3940
# - repo: https://github.com/pre-commit/mirrors-mypy
@@ -43,12 +44,12 @@ repos:
4344
# additional_dependencies: [types-all]
4445
# args: [--ignore-missing-imports]
4546

46-
# Markdown linting
47-
- repo: https://github.com/igorshubovych/markdownlint-cli
48-
rev: v0.46.0
49-
hooks:
50-
- id: markdownlint
51-
args: [--fix]
47+
# Markdown linting (disabled due to duplicate heading issues)
48+
# - repo: https://github.com/igorshubovych/markdownlint-cli
49+
# rev: v0.46.0
50+
# hooks:
51+
# - id: markdownlint
52+
# args: [--fix]
5253

5354
# CI configuration
5455
ci:

CHANGELOG.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,44 @@
11
# CrossVector - Changelog
22

3+
## [0.1.3] - 2025-11-30
4+
5+
### Testing Infrastructure
6+
- **Reorganized test structure** for better separation between unit and integration tests
7+
- Moved real backend integration tests from `tests/searches/` to `scripts/tests/`
8+
- Created `tests/mock/` with in-memory adapter for Query DSL unit testing
9+
- Added comprehensive integration tests for all 4 backends (AstraDB, ChromaDB, Milvus, PgVector)
10+
- Integration tests are opt-in and require real backend credentials
11+
12+
### Query DSL Improvements
13+
- **Fixed Milvus operator mapping** - Changed `in`/`not in` to uppercase `IN`/`NOT IN` for compliance
14+
- **Improved test coverage** for Query DSL with mock backend tests
15+
- All backends now consistently support 8 universal operators: `$eq`, `$ne`, `$gt`, `$gte`, `$lt`, `$lte`, `$in`, `$nin`
16+
17+
### CI/CD
18+
- **Updated GitHub Actions workflow** to run only unit tests (`pytest tests/`)
19+
- Integration tests excluded from CI to avoid credential requirements
20+
- Added `integration` pytest marker for manual integration test execution
21+
- Fixed pytest fixture imports in mock tests
22+
23+
### Documentation
24+
- **Updated README.md** with opt-in integration test documentation
25+
- Added `scripts/tests/` usage examples
26+
- Environment variable setup guide for all backends
27+
- Static collection naming conventions (`test_crossvector`)
28+
- Documented test separation strategy and rationale
29+
30+
### Bug Fixes
31+
- Fixed missing fixture imports causing 15 test errors in mock tests
32+
- Removed unused variable assignments in CRUD test methods
33+
- Resolved pre-commit hook failures (ruff formatting)
34+
35+
## [0.1.2] - 2025-11-23
36+
37+
### Refactor Design
38+
- Major refactoring and architecture improvements
39+
- Enhanced Query DSL design and implementation patterns
40+
- Improved adapter interface consistency across backends
41+
342
## [0.1.1] - 2025-11-23
443

544
- Bumped package version to **0.1.1**.

0 commit comments

Comments
 (0)