Pawzok 🐾
Follow the trail. Verify what actually happened.
Pawzok is a Python testing library for verifying application state without repetitive database connection, polling, and assertion code.
v0.1
The first release focuses on SQL state validation:
assert_sql()for concise database assertions- smart polling for eventually consistent state
- clear, pytest-friendly failure messages
- SQLite support with no external database required
- a small foundation designed for future validators
Installation for development
git clone https://github.com/karthik1029/Pawzok.git
cd Pawzok
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
pytest
Quick start
from pawzok import assert_sql
assert_sql(
connection="orders.db",
query="""
SELECT status
FROM orders
WHERE order_id = 123
""",
expected={"status": "CONFIRMED"},
)
For state that may take time to appear:
assert_sql(
connection="orders.db",
query="SELECT status FROM orders WHERE order_id = 123",
expected={"status": "READY"},
timeout=20,
poll_every=2,
)
Pawzok keeps checking until the expected state appears or the timeout expires.
Roadmap
- 0.1 — SQL assertions and smart polling
- 0.2 — API validation
- 0.3 — API + SQL workflow traces
- 0.4 — event-stream validation
- 0.5 — cross-system correlation
Why Pawzok?
A successful response does not always mean the system reached the correct state. Pawzok is being built to follow the trail of an operation and verify the state behind the response.
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pawzok-0.1.1.tar.gz.
File metadata
- Download URL: pawzok-0.1.1.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c4d9c11cb39c03320d307561649ac049a6ad84c7bb0d23b8ef72a4b38e1fa1d
|
|
| MD5 |
833a9ddf71a3c27c9243d6da92c9a464
|
|
| BLAKE2b-256 |
8c0342b6865b0cc7f5d7928263c8a003c10df588bd695f065db216eede1424d1
|
Provenance
The following attestation bundles were made for pawzok-0.1.1.tar.gz:
Publisher:
release.yml on karthik1029/Pawzok
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pawzok-0.1.1.tar.gz -
Subject digest:
5c4d9c11cb39c03320d307561649ac049a6ad84c7bb0d23b8ef72a4b38e1fa1d - Sigstore transparency entry: 2732990803
- Sigstore integration time:
-
Permalink:
karthik1029/Pawzok@c304130e76bd6624267743b970d6632c268d0626 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/karthik1029
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c304130e76bd6624267743b970d6632c268d0626 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pawzok-0.1.1-py3-none-any.whl.
File metadata
- Download URL: pawzok-0.1.1-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a6bfd04e8c6fce071bd54827718e128627fc8e62a1436def34718270799c72a
|
|
| MD5 |
b2710ac8c20b57a78650aa2238883258
|
|
| BLAKE2b-256 |
5fb208f45fb48f39ed8ed7daf7c2e9b7a96231f68d5a0299f84d61cb94d50744
|
Provenance
The following attestation bundles were made for pawzok-0.1.1-py3-none-any.whl:
Publisher:
release.yml on karthik1029/Pawzok
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pawzok-0.1.1-py3-none-any.whl -
Subject digest:
3a6bfd04e8c6fce071bd54827718e128627fc8e62a1436def34718270799c72a - Sigstore transparency entry: 2732990834
- Sigstore integration time:
-
Permalink:
karthik1029/Pawzok@c304130e76bd6624267743b970d6632c268d0626 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/karthik1029
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c304130e76bd6624267743b970d6632c268d0626 -
Trigger Event:
push
-
Statement type: