Skip to content

Commit 438a54a

Browse files
author
SentienceDEV
committed
rename sdk to predicatesystems/runtime
1 parent 570209e commit 438a54a

File tree

17 files changed

+125
-18
lines changed

17 files changed

+125
-18
lines changed

.github/workflows/release.yml

Lines changed: 54 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,13 +283,65 @@ jobs:
283283
tag_name: v${{ steps.version.outputs.version }}
284284
name: Release v${{ steps.version.outputs.version }}
285285
body: |
286-
Release v${{ steps.version.outputs.version }} of predicate-sdk
286+
Release v${{ steps.version.outputs.version }} of predicate-runtime
287287
288288
## Installation
289289
```bash
290-
pip install predicate-sdk==${{ steps.version.outputs.version }}
290+
pip install predicate-runtime==${{ steps.version.outputs.version }}
291291
```
292292
draft: false
293293
prerelease: false
294294
env:
295295
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
296+
297+
publish-compat-shim:
298+
runs-on: ubuntu-latest
299+
needs: build-and-publish
300+
301+
steps:
302+
- name: Checkout code
303+
uses: actions/checkout@v4
304+
305+
- name: Set up Python
306+
uses: actions/setup-python@v5
307+
with:
308+
python-version: '3.11'
309+
310+
- name: Install build dependencies
311+
run: |
312+
python -m pip install --upgrade pip
313+
pip install build twine
314+
315+
- name: Extract version from tag or input
316+
id: version
317+
run: |
318+
if [ "${{ github.event_name }}" == "release" ]; then
319+
VERSION=${GITHUB_REF#refs/tags/v}
320+
VERSION=${VERSION#refs/tags/}
321+
else
322+
VERSION="${{ github.event.inputs.version }}"
323+
fi
324+
echo "version=$VERSION" >> $GITHUB_OUTPUT
325+
echo "Version: $VERSION"
326+
327+
- name: Sync shim version and runtime dependency
328+
run: |
329+
VERSION="${{ steps.version.outputs.version }}"
330+
SHIM_PYPROJECT="compat/predicate-sdk-shim/pyproject.toml"
331+
sed -i "s/^version = \".*\"/version = \"$VERSION\"/" "$SHIM_PYPROJECT"
332+
sed -i "s/^ \"predicate-runtime==.*\",/ \"predicate-runtime==$VERSION\",/" "$SHIM_PYPROJECT"
333+
334+
- name: Build compatibility shim package
335+
run: |
336+
python -m build compat/predicate-sdk-shim -o dist-compat
337+
338+
- name: Check compatibility shim package
339+
run: |
340+
twine check dist-compat/*
341+
342+
- name: Publish compatibility shim to PyPI
343+
env:
344+
TWINE_USERNAME: __token__
345+
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
346+
run: |
347+
twine upload dist-compat/*

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
shell: bash
3434
run: |
3535
pip cache purge || true
36-
pip uninstall -y predicate-sdk predicatelabs || true
36+
pip uninstall -y predicate-runtime predicate-sdk predicatelabs || true
3737
# Aggressively clean any bytecode cache (cross-platform Python approach)
3838
python -c "import pathlib; [p.unlink() for p in pathlib.Path('.').rglob('*.pyc')]" || true
3939
python -c "import pathlib, shutil; [shutil.rmtree(p) for p in pathlib.Path('.').rglob('__pycache__') if p.is_dir()]" || true

README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,16 @@ The core loop is:
2828
## Install
2929

3030
```bash
31-
pip install predicate-sdk
31+
pip install predicate-runtime
3232
playwright install chromium
3333
```
3434

35+
Legacy install compatibility remains available through the shim package:
36+
37+
```bash
38+
pip install predicate-sdk
39+
```
40+
3541
If you’re developing from source (this repo), install the local checkout instead:
3642

3743
```bash
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# predicate-sdk compatibility shim
2+
3+
This package exists to preserve install compatibility for users who still run:
4+
5+
```bash
6+
pip install predicate-sdk
7+
```
8+
9+
It depends on `predicate-runtime` and does not provide a separate runtime surface.
10+
Use canonical imports from `predicate` in your code.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
"""Compatibility marker package for predicate-sdk -> predicate-runtime."""
2+
3+
__all__ = ["__shim_target__"]
4+
5+
__shim_target__ = "predicate-runtime"
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[build-system]
2+
requires = ["setuptools>=61.0", "wheel"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "predicate-sdk"
7+
version = "1.1.0"
8+
description = "Compatibility shim for predicate-runtime"
9+
readme = "README.md"
10+
requires-python = ">=3.11"
11+
license = {text = "MIT OR Apache-2.0"}
12+
authors = [
13+
{name = "Sentience Team"}
14+
]
15+
dependencies = [
16+
"predicate-runtime==1.1.0",
17+
]
18+
keywords = ["predicate", "runtime", "compatibility", "shim"]
19+
classifiers = [
20+
"Development Status :: 4 - Beta",
21+
"Intended Audience :: Developers",
22+
"License :: OSI Approved :: MIT License",
23+
"License :: OSI Approved :: Apache Software License",
24+
"Programming Language :: Python :: 3",
25+
"Programming Language :: Python :: 3.11",
26+
]
27+
28+
[project.urls]
29+
Homepage = "https://github.com/Predicate-Labs/sdk-python"
30+
Repository = "https://github.com/Predicate-Labs/sdk-python"
31+
Issues = "https://github.com/Predicate-Labs/sdk-python/issues"
32+
33+
[tool.setuptools]
34+
py-modules = ["predicate_sdk_shim"]

examples/browser-use/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ This directory contains examples for integrating [Sentience](https://github.com/
1616
Install both packages together using the optional dependency:
1717

1818
```bash
19-
pip install "predicate-sdk[browser-use]"
19+
pip install "predicate-runtime[browser-use]"
2020
```
2121

2222
Or install separately:
2323

2424
```bash
25-
pip install predicate-sdk browser-use
25+
pip install predicate-runtime browser-use
2626
```
2727

2828
## Quick Start

examples/browser-use/integration.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
using Sentience's snapshot-based grounding instead of coordinate estimation.
77
88
Requirements:
9-
pip install "predicate-sdk[browser-use]" python-dotenv
9+
pip install "predicate-runtime[browser-use]" python-dotenv
1010
1111
Or install separately:
12-
pip install predicate-sdk browser-use python-dotenv
12+
pip install predicate-runtime browser-use python-dotenv
1313
1414
Usage:
1515
python examples/browser-use/integration.py
@@ -240,7 +240,7 @@ async def example_with_sentience_context() -> None:
240240
print("Extension path:", get_extension_dir())
241241
print()
242242
print("To run with a real browser:")
243-
print(' 1. pip install "predicate-sdk[browser-use]" python-dotenv')
243+
print(' 1. pip install "predicate-runtime[browser-use]" python-dotenv')
244244
print(" 2. Uncomment the browser-use imports and code sections")
245245
print(" 3. Run: python examples/browser-use/integration.py")
246246

examples/lang-chain/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ These examples show how to use Sentience as a **tool layer** inside LangChain an
55
Install:
66

77
```bash
8-
pip install predicate-sdk[langchain]
8+
pip install predicate-runtime[langchain]
99
```
1010

1111
Examples:

examples/lang-chain/langchain_tools_demo.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Example: Build Sentience LangChain tools (async-only).
33
44
Install:
5-
pip install predicate-sdk[langchain]
5+
pip install predicate-runtime[langchain]
66
77
Run:
88
python examples/lang-chain/langchain_tools_demo.py

0 commit comments

Comments
 (0)