Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
5f392c5
refactor!: port the driver to Python 3
gabor-boros Jun 21, 2022
d645d71
feat: reql command format
gabor-boros Jun 21, 2022
2a1cb01
Add flake8 config (#278)
Inveracity Jun 22, 2022
9bd1635
feat: add command base (#279)
gabor-boros Jun 27, 2022
b625680
fix: parse binary response
gabor-boros Jul 4, 2022
97933cd
build: fix protofile download
gabor-boros Jun 29, 2025
e44fa16
chore: bump python versions
gabor-boros Jun 29, 2025
696443e
style: format code using latest formatter
gabor-boros Jun 29, 2025
0388f08
chore: update copyright notice
gabor-boros Jun 29, 2025
8870720
test: fix failing precision tests
gabor-boros Jun 29, 2025
870dc2a
test: ensure linter errors fixed
gabor-boros Jul 17, 2025
5ba4e40
refactor: reformat code
gabor-boros Jul 17, 2025
10e80b3
build: remove Python 3.14 CI variant
gabor-boros Jul 17, 2025
dca87c6
core: reformat yaml files
gabor-boros Jul 17, 2025
c02f7aa
chore: remove bandit
gabor-boros Jul 17, 2025
357b36c
refactor: migrate management commands
gabor-boros Jul 22, 2025
070d4d4
chore: update pre-commit config
gabor-boros Aug 15, 2025
827eded
chore: add ql2_pb2 to tracked files
gabor-boros Aug 15, 2025
0b82f41
refactor: fix typing issues and cleanup code
gabor-boros Aug 16, 2025
d8ef095
fix: correct index-rebuild command name
gabor-boros Aug 16, 2025
4f6224f
feat: add async drivers
gabor-boros Aug 16, 2025
c45d665
chore: fix docs generation and regen docs
gabor-boros Aug 17, 2025
d258eee
chore: cleanup code
gabor-boros Aug 17, 2025
86db368
fix: add expr to init
gabor-boros Aug 17, 2025
ef275c1
refactor: fallback to pyi file generation
gabor-boros Aug 19, 2025
1951009
refactor: fix errors raised by polyglot tests
gabor-boros Aug 19, 2025
5f7df08
test: drop obsolete import worker test
gabor-boros Oct 27, 2026
becdf61
refactor: modernize tooling and upgrade python
gabor-boros Oct 28, 2026
e8b2b5b
ci: replace docker image tag
gabor-boros Oct 28, 2026
7e93859
ci: fix dependency review workflow
gabor-boros Oct 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .bandit

This file was deleted.

14 changes: 0 additions & 14 deletions .coveragerc

This file was deleted.

1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
Expand Down
7 changes: 7 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
**Reason for the change**

If applicable, link the related issue/bug report or write down in few sentences the motivation.

**Description**

A clear and concise description of what did you changed and why.

**Code examples**

If applicable, add code examples to help explain your changes.

**Checklist**

- [ ] Unit tests created/updated
- [ ] Documentation extended/updated
- [ ] I have read and agreed to the [RethinkDB Contributor License Agreement](http://rethinkdb.com/community/cla/)

**References**

Anything else related to the change e.g. documentations, RFCs, etc.
153 changes: 153 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
name: CI

on:
pull_request:
push:
branches: [master]

permissions:
contents: read

concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
lint:
name: Lint
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Install toolchain
uses: jdx/mise-action@6be3c7ed4c21d4f76b208d351d95aac273ebb76d # v5.2.4

- name: Sync dependencies
run: uv sync --frozen --all-extras --all-groups

- name: Run pre-commit
run: pre-commit run --all-files

unit:
name: Unit tests (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
python-version: ["3.12", "3.13", "3.14", "3.15"]
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Install toolchain
uses: jdx/mise-action@6be3c7ed4c21d4f76b208d351d95aac273ebb76d # v5.2.4

- name: Install Python ${{ matrix.python-version }}
env:
PYTHON_VERSION: ${{ matrix.python-version }}
run: uv python install "$PYTHON_VERSION"

- name: Sync dependencies
env:
PYTHON_VERSION: ${{ matrix.python-version }}
run: uv sync --frozen --all-extras --all-groups --python "$PYTHON_VERSION"

- name: Run unit tests
env:
PYTHON_VERSION: ${{ matrix.python-version }}
run: |
set -euo pipefail
uv run --python "$PYTHON_VERSION" coverage run -m pytest -m "not integration and not v2_5" -vv
uv run --python "$PYTHON_VERSION" coverage report --fail-under=0

integration:
name: Integration tests (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
python-version: ["3.12", "3.13", "3.14", "3.15"]
services:
rethinkdb:
image: rethinkdb:2.4.4-bookworm-slim
ports:
- 28015:28015
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Install toolchain
uses: jdx/mise-action@6be3c7ed4c21d4f76b208d351d95aac273ebb76d # v5.2.4

- name: Install Python ${{ matrix.python-version }}
env:
PYTHON_VERSION: ${{ matrix.python-version }}
run: uv python install "$PYTHON_VERSION"

- name: Sync dependencies
env:
PYTHON_VERSION: ${{ matrix.python-version }}
run: uv sync --frozen --all-extras --all-groups --python "$PYTHON_VERSION"

- name: Wait for RethinkDB
run: |
set -euo pipefail
for _ in $(seq 1 30); do
if bash -c 'echo > /dev/tcp/127.0.0.1/28015' 2>/dev/null; then
exit 0
fi
sleep 1
done
echo "RethinkDB did not accept connections on port 28015" >&2
exit 1

- name: Run integration tests
env:
PYTHON_VERSION: ${{ matrix.python-version }}
run: uv run --python "$PYTHON_VERSION" pytest -m "integration and not v2_5" -vv

docs:
name: Docs
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Install toolchain
uses: jdx/mise-action@6be3c7ed4c21d4f76b208d351d95aac273ebb76d # v5.2.4

- name: Sync dependencies
run: uv sync --frozen --all-extras --all-groups

- name: Build documentation
run: uv run sphinx-build -b html docs docs/_build/html

dependency-review:
name: Dependency review
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: read
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Review dependencies
uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0
39 changes: 39 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: CodeQL

on:
push:
branches: [master]
pull_request:
branches: [master]
schedule:
- cron: "28 8 * * 0"

permissions:
contents: read

concurrency:
group: codeql-analysis-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
actions: read
contents: read
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Initialize CodeQL
uses: github/codeql-action/init@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
with:
languages: python

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
50 changes: 50 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Publish

on:
release:
types: [published]

permissions:
contents: read

concurrency:
group: publish-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
publish:
name: Publish to PyPI
runs-on: ubuntu-latest
timeout-minutes: 30
environment: pypi
permissions:
contents: read
id-token: write
attestations: write
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Install toolchain
uses: jdx/mise-action@6be3c7ed4c21d4f76b208d351d95aac273ebb76d # v5.2.4
with:
cache: false

- name: Sync dependencies
run: uv sync --frozen --all-extras --all-groups

- name: Run unit tests
run: uv run pytest -m "not integration and not v2_5"

- name: Build distributions
run: uv build

- name: Attest distributions
uses: actions/attest-build-provenance@4d101475d8b20a2381f78447822ac1eab6504dd8 # v4.2.2
with:
subject-path: dist/*

- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@7245906fb61fa33a13554f9d5fb856fe61758086 # v1.14.3
27 changes: 27 additions & 0 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Release Please

on:
push:
branches: [master]

permissions:
contents: read

concurrency:
group: release-please-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
release-please:
name: Release Please
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
contents: write
pull-requests: write
steps:
- name: Run release-please
uses: googleapis/release-please-action@45996ed1f6d02564a971a2fa1b5860e934307cf7 # v5.0.0
with:
config-file: release-please-config.json
manifest-file: .release-please-manifest.json
5 changes: 5 additions & 0 deletions .github/zizmor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
rules:
unpinned-uses:
config:
policies:
"*": hash-pin
Loading
Loading