Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
9e05441
Readme cleanup
strawgate Sep 25, 2025
8324451
Add pydantic anyurl test case
strawgate Sep 25, 2025
9d4c9a5
docstring updates
strawgate Sep 25, 2025
bc4e627
Additional clean-up
strawgate Sep 25, 2025
afafecb
Fix disk init tests
strawgate Sep 25, 2025
d77e936
Additional clean-up
strawgate Sep 25, 2025
da814d5
Refactor project
strawgate Sep 26, 2025
c71485b
Quote python versions
strawgate Sep 26, 2025
59200d9
skip docker tests on platforms without docker
strawgate Sep 26, 2025
56add19
Add timeout, lint check
strawgate Sep 26, 2025
f00fe1a
Remove python 3.14 add pre-step for python 3.13 test
strawgate Sep 26, 2025
89cb2ee
PR Feedback
strawgate Sep 26, 2025
0add7f3
Close Disk Cache on deletion
strawgate Sep 26, 2025
830116e
Updates to keystores, add valkey and memcache
strawgate Sep 26, 2025
729bdd4
Readme update and lint check
strawgate Sep 26, 2025
9db52fb
bump timeouts for distributed caches
strawgate Sep 26, 2025
5e921aa
Dont test valkey on Windows
strawgate Sep 26, 2025
6698d9e
small fixes to valkey tests
strawgate Sep 26, 2025
325f7d5
maybe tests work now
strawgate Sep 26, 2025
c108ca9
forgot to lint
strawgate Sep 26, 2025
7b47ce5
Test clean-up
strawgate Sep 26, 2025
31039f7
More test updates
strawgate Sep 26, 2025
dd2e848
disk store fixes for windows
strawgate Sep 26, 2025
1bdb400
Reorganize project
strawgate Sep 27, 2025
71c4731
switch to docker lib for test fixtures
strawgate Sep 27, 2025
6c4b9ef
Checkpoint progress
strawgate Sep 28, 2025
9450307
Checkpoint progress
strawgate Sep 28, 2025
c36fe22
Fix redis test
strawgate Sep 28, 2025
5a18824
Add collection support to elasticsearch
strawgate Sep 28, 2025
87c67d9
Fix Elasticsearch tests
strawgate Sep 28, 2025
086898e
Cleanup from code review
strawgate Sep 29, 2025
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
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Publish py-kv-store-adapter to PyPI
name: Publish to PyPI

on:
release:
Expand All @@ -8,26 +8,35 @@ on:
jobs:
publish:
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
id-token: write
environment: pypi

strategy:
matrix:
project:
- "key-value/key-value-aio"
# - "kv-store-sync"
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: "Install uv"
uses: astral-sh/setup-uv@v6

- name: "Install"
run: uv sync --locked --group dev
working-directory: ${{ matrix.project }}

- name: "Test"
run: uv run pytest tests

working-directory: ${{ matrix.project }}

- name: "Build"
run: uv build
working-directory: ${{ matrix.project }}

- name: "Publish to PyPi"
if: github.event_name == 'release' && github.event.action == 'created'
run: uv publish -v dist/*
run: uv publish -v dist/*
116 changes: 116 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
name: Run Tests

on:
pull_request:
branches:
- main
push:
branches:
- main
workflow_dispatch:

jobs:
static_analysis:
runs-on: ubuntu-latest

strategy:
matrix:
project:
- "key-value/key-value-aio"
# - "kv-store-sync"
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: "Install uv"
uses: astral-sh/setup-uv@v6

- name: "Install"
run: uv sync --locked --group dev
working-directory: ${{ matrix.project }}

- name: "Lint"
run: uv run ruff check --exit-non-zero-on-fix --fix .
working-directory: ${{ matrix.project }}

- name: "Format"
run: uv run ruff format --check .
working-directory: ${{ matrix.project }}

- name: "Type Check"
run: uv run basedpyright .
working-directory: ${{ matrix.project }}

test_quick:
needs:
- static_analysis
timeout-minutes: 10
strategy:
matrix:
python-version: ["3.10"]
platform: [ubuntu-latest, macos-latest, windows-latest]
project:
- "key-value/key-value-aio"
# - "kv-store-sync"

runs-on: ${{ matrix.platform }}
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: "Install uv"
uses: astral-sh/setup-uv@v6

- name: "Install"
run: uv sync --locked --group dev --python ${{ matrix.python-version }}
working-directory: ${{ matrix.project }}

- name: "Test"
run: uv run pytest tests .
working-directory: ${{ matrix.project }}

- name: "Build"
run: uv build .
working-directory: ${{ matrix.project }}

test_all:
needs:
- test_quick

timeout-minutes: 20
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
platform:
[
#ubuntu-22.04,
ubuntu-latest,
macos-14,
macos-latest,
windows-2022,
windows-latest,
]
project:
- "key-value/key-value-aio"
# - "kv-store-sync"

runs-on: ${{ matrix.platform }}

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: "Install uv"
uses: astral-sh/setup-uv@v6

- name: "Install"
run: uv sync --locked --group dev --python ${{ matrix.python-version }}
working-directory: ${{ matrix.project }}

- name: "Test"
run: uv run pytest tests .
working-directory: ${{ matrix.project }}

- name: "Build"
run: uv build .
working-directory: ${{ matrix.project }}
42 changes: 0 additions & 42 deletions .github/workflows/test_pull_request.yml

This file was deleted.

20 changes: 20 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,26 @@
"console": "integratedTerminal",
"justMyCode": false,
"envFile": "${workspaceFolder}/.env"
},
{
"name": "Compile Sync Library",
"type": "debugpy",
"request": "launch",
"program": "${workspaceFolder}/scripts/build_sync_library.py",
"console": "integratedTerminal",
"justMyCode": false,
"envFile": "${workspaceFolder}/.env",
"args": []
},
{
"name": "Compile Sync Library - Single File",
"type": "debugpy",
"request": "launch",
"program": "${workspaceFolder}/scripts/build_sync_library.py",
"console": "integratedTerminal",
"justMyCode": false,
"envFile": "${workspaceFolder}/.env",
"args": ["${workspaceFolder}/key-value/key-value-aio/src/key_value/aio/stores/memcached/__init__.py"]
}
]
}
10 changes: 6 additions & 4 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
{
"python.testing.pytestArgs": [
"tests"
],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true
"python.testing.pytestEnabled": true,
"python.testing.pytestArgs": [
"key-value",
"--import-mode=importlib",
"-vv",
]
}
45 changes: 45 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
// Simple VS Code tasks that call Makefile targets
"version": "2.0.0",
"tasks": [
{
"label": "Bump version (make)",
"type": "shell",
"command": "make",
"args": [
"bump-version",
"VERSION=${input:newVersion}"
],
"problemMatcher": []
},
{
"label": "Bump version (dry-run) (make)",
"type": "shell",
"command": "make",
"args": [
"bump-version-dry",
"VERSION=${input:newVersion}"
],
"problemMatcher": []
},
{
"label": "Build sync library (make)",
"type": "shell",
"command": "make",
"args": [
"build-sync"
],
"problemMatcher": []
}
],
"inputs": [
{
"id": "newVersion",
"type": "promptString",
"description": "Enter new version (e.g. 1.2.3)",
"default": "0.0.0"
}
]
}


Loading
Loading