Skip to content

Commit 0f46df1

Browse files
ankitmlampagent
andauthored
feat: implement basic features except facets (#2)
Co-authored-by: Amp <amp@ampcode.com>
1 parent aea0988 commit 0f46df1

25 files changed

Lines changed: 1095 additions & 488 deletions

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Order is important. The last matching pattern has the most precedence
22

3-
* @philippemnoel @rebasedming
3+
* @philippemnoel @rebasedming @mdashti @ankitml @stuhood

.github/workflows/ci.yml

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ jobs:
1010
lint:
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@v6
13+
- uses: actions/checkout@v4
1414

1515
- name: Set up Python
16-
uses: actions/setup-python@v6
16+
uses: actions/setup-python@v5
1717
with:
1818
python-version: "3.12"
1919

@@ -35,14 +35,14 @@ jobs:
3535
runs-on: ubuntu-latest
3636
strategy:
3737
matrix:
38-
python-version: ["3.12", "3.13"]
39-
django-version: ["5.0", "5.1"]
38+
python-version: ["3.13"]
39+
django-version: ["6.0"]
4040

4141
steps:
42-
- uses: actions/checkout@v6
42+
- uses: actions/checkout@v4
4343

4444
- name: Set up Python ${{ matrix.python-version }}
45-
uses: actions/setup-python@v6
45+
uses: actions/setup-python@v5
4646
with:
4747
python-version: ${{ matrix.python-version }}
4848

@@ -57,25 +57,7 @@ jobs:
5757
run: pytest --cov=paradedb --cov-report=xml
5858

5959
- name: Upload coverage
60-
uses: codecov/codecov-action@v5
60+
uses: codecov/codecov-action@v4
6161
with:
6262
files: ./coverage.xml
6363
fail_ci_if_error: false
64-
65-
docs:
66-
runs-on: ubuntu-latest
67-
steps:
68-
- uses: actions/checkout@v6
69-
70-
- name: Set up Python
71-
uses: actions/setup-python@v6
72-
with:
73-
python-version: "3.12"
74-
75-
- name: Install dependencies
76-
run: |
77-
python -m pip install --upgrade pip
78-
pip install -e ".[docs]"
79-
80-
- name: Build docs
81-
run: mkdocs build --strict

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,4 +55,3 @@ site/
5555
Thumbs.db
5656

5757
# Snapshots (syrupy)
58-
__snapshots__/

.markdownlintignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ROADMAP.md

.pre-commit-config.yaml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,14 @@ repos:
4949
additional_dependencies:
5050
- django-stubs>=5.1
5151
- django>=5.0
52-
args: [--config-file=pyproject.toml]
52+
args: [--config-file=pyproject.toml, src/paradedb]
53+
pass_filenames: false
54+
55+
# TODO: Run pytest separately (pre-commit doesn't use venv python)
56+
# - repo: local
57+
# hooks:
58+
# - id: pytest
59+
# name: pytest
60+
# entry: python -m pytest
61+
# language: system
62+
# pass_filenames: false

README.md

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,33 @@ class Product(models.Model):
3939
Product.objects.filter(description=ParadeDB('shoes'))
4040
```
4141

42+
## Feature Support
43+
44+
Supported:
45+
46+
- ParadeDB lookup with AND/OR operators (`&&&`, `|||`)
47+
- `PQ` boolean composition
48+
- Search expressions: `Phrase`, `Fuzzy`, `Parse`, `Term`, `Regex`
49+
- Annotations: `Score`, `Snippet`
50+
- `BM25Index` DDL generation (basic + JSON field keys)
51+
- `MoreLikeThis` query filter
52+
- Django ORM integration with `Q`, standard filters, and window functions
53+
54+
Unsupported / pending:
55+
56+
- Faceted search (`.facets()` and `pdb.agg(...)` integration)
57+
4258
## Documentation
4359

44-
- **Package Documentation**: https://paradedb.github.io/django-paradedb
45-
- **ParadeDB Official Docs**: https://docs.paradedb.com
46-
- **ParadeDB Website**: https://paradedb.com
60+
- **Package Documentation**: <https://paradedb.github.io/django-paradedb>
61+
- **ParadeDB Official Docs**: <https://docs.paradedb.com>
62+
- **ParadeDB Website**: <https://paradedb.com>
63+
64+
## Requirements
65+
66+
- Python 3.13+
67+
- Django 6.0+
68+
- PostgreSQL with ParadeDB extension
4769

4870
## Development
4971

@@ -60,10 +82,6 @@ pytest
6082
# Run linting
6183
ruff check .
6284
ruff format .
63-
64-
# Build docs locally
65-
pip install -e ".[docs]"
66-
mkdocs serve
6785
```
6886

6987
## Support
@@ -87,4 +105,4 @@ We would like to thank the following members of the Django community for their v
87105

88106
## License
89107

90-
django-paradedb is licensed under the [MIT License](LICENSE).
108+
django-paradedb is licensed under the [MIT License](LICENSE).

docs/api/functions.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

docs/api/indexes.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

docs/api/search.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

docs/getting-started/installation.md

Lines changed: 0 additions & 30 deletions
This file was deleted.

0 commit comments

Comments
 (0)