Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ jobs:

steps:
- name: Check out code
uses: actions/checkout@v7.0.1
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Set up Python 3.12
uses: actions/setup-python@v7.0.0
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: "3.12"

- name: Install uv
uses: astral-sh/setup-uv@v10.0.0
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
with:
version: "latest-known"

Expand All @@ -39,7 +39,7 @@ jobs:
- name: Run pytest
run: |
if [ "${{ matrix.integration }}" = "true" ]; then
export TREETOP_REST_IMAGE=ghcr.io/treetop-policy-engine/treetop-rest:v0.0.11
export TREETOP_REST_IMAGE=ghcr.io/treetop-policy-engine/treetop-rest:v0.0.12
docker compose -f docker-compose.integration.yml pull
uv run pytest -m integration
else
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/perf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,23 +17,23 @@ jobs:

steps:
- name: Check out code
uses: actions/checkout@v7.0.1
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Set up Python 3.12
uses: actions/setup-python@v7.0.0
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: "3.12"

- name: Install uv
uses: astral-sh/setup-uv@v10.0.0
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
with:
version: "latest-known"

- name: Install dependencies
run: uv sync --locked --extra dev

- name: Run benchmarks
uses: CodSpeedHQ/action@v5.0.3
uses: CodSpeedHQ/action@4296e51e7041e24dadb86d1d6e8b9320d223dbe8 # v5.0.3
with:
mode: simulation
run: uv run pytest benchmarks --codspeed -m benchmark
10 changes: 5 additions & 5 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ jobs:

steps:
- name: Check out code
uses: actions/checkout@v7.0.1
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Set up Python 3.12
uses: actions/setup-python@v7.0.0
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: "3.12"

- name: Install uv
uses: astral-sh/setup-uv@v10.0.0
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1

- name: Install dependencies
run: uv sync --locked --extra dev
Expand All @@ -42,7 +42,7 @@ jobs:
run: uv build

- name: Upload distributions
uses: actions/upload-artifact@v7.0.1
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: python-distributions
path: dist/
Expand All @@ -60,7 +60,7 @@ jobs:

steps:
- name: Download distributions
uses: actions/download-artifact@v8.0.1
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: python-distributions
path: dist/
Expand Down
2 changes: 2 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
of constructing an unused transport.
- Reduce authorization serialization, response parsing, result aggregation, and
policy-filter query overhead.
- Update all Python dependencies and pinned GitHub Actions to their latest stable
releases, and validate integration behavior against Treetop REST v0.0.12.

## [0.0.11] - 2026-08-13

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Python ≥ 3.12, zero runtime deps beyond HTTPX.
- **Full Async Support**: Async/await support for all API methods
- **Type Safe**: Fully type-hinted dataclasses for requests and responses
- **Version Tracking**: Access policy version information (hash and loaded_at timestamp)
- **Treetop REST v0.0.11**: Operational probes, generated OpenAPI, metrics, status, policy, and schema endpoints
- **Treetop REST v0.0.12**: Operational probes, generated OpenAPI, metrics, status, policy, and schema endpoints
- **Request Context**: Pass request-scoped Cedar context attributes during authorization

## Basic Usage (Single Request)
Expand Down Expand Up @@ -254,7 +254,7 @@ status = client.status()
print(status.request_context.supported)
print(status.request_limits.max_batch_size)

# v0.0.11 operational and discovery endpoints
# v0.0.12-compatible operational and discovery endpoints
assert client.livez()
assert client.readyz()
openapi = client.openapi()
Expand Down
2 changes: 1 addition & 1 deletion docker-compose.integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ services:
command: ["/data", "--port", "18999"]

integration-test-treetop-server:
image: ${TREETOP_REST_IMAGE:-ghcr.io/treetop-policy-engine/treetop-rest:v0.0.11}
image: ${TREETOP_REST_IMAGE:-ghcr.io/treetop-policy-engine/treetop-rest:v0.0.12}
container_name: integration-test-treetop-server
pull_policy: "always"
ports:
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ dependencies = ["httpx>=0.28.1,<0.29.0"]

[project.optional-dependencies]
dev = [
"basedpyright>=1.39.9",
"basedpyright>=1.39.10",
"pyright>=1.1.411",
"pytest>=9.1.1",
"pytest-codspeed>=5.0.3",
Expand Down
4 changes: 2 additions & 2 deletions tests/test_integration.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ def test_v0_0_11_server_surfaces(client: TreeTopClient):
"title": "treetop-rest",
"description": "REST server for the Treetop policy management framework",
"license": {"name": "MIT", "identifier": "MIT"},
"version": "0.0.11",
"version": "0.0.12",
}
assert client.status().request_limits.max_batch_size is not None
assert "treetop_build_info" in client.metrics()
Expand Down Expand Up @@ -287,7 +287,7 @@ def test_live_v0011_metadata_endpoints(client: TreeTopClient):
assert client.health() is True

version = client.version()
assert version.version == "v0.0.11"
assert version.version == "v0.0.12"
assert version.core.version
assert version.core.cedar
assert version.policies.hash
Expand Down
8 changes: 4 additions & 4 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading