Skip to content

Commit 5766d2d

Browse files
committed
Rename package from "pine-ai" to "pine-assistant" and update related references in configuration, README, and CLI. Add initial implementation of the assistant SDK with core functionalities including authentication, session management, and chat capabilities.
1 parent 440132f commit 5766d2d

32 files changed

Lines changed: 87 additions & 87 deletions

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
run: pip install .
3131

3232
- name: Verify import
33-
run: python -c "from pine_ai import PineAI, AsyncPineAI, __version__; print(f'pine-ai {__version__} OK')"
33+
run: python -c "from pine_assistant import PineAI, AsyncPineAI, __version__; print(f'pine-assistant {__version__} OK')"
3434

3535
- name: Run tests
3636
run: pip install pytest pytest-asyncio && pytest tests/ -v --ignore=tests/integration || echo "No unit tests yet"

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
# pine-ai
1+
# pine-assistant
22

3-
[![PyPI version](https://img.shields.io/pypi/v/pine-ai)](https://pypi.org/project/pine-ai/)
4-
[![Python versions](https://img.shields.io/pypi/pyversions/pine-ai)](https://pypi.org/project/pine-ai/)
5-
[![license](https://img.shields.io/pypi/l/pine-ai)](./LICENSE)
3+
[![PyPI version](https://img.shields.io/pypi/v/pine-assistant)](https://pypi.org/project/pine-assistant/)
4+
[![Python versions](https://img.shields.io/pypi/pyversions/pine-assistant)](https://pypi.org/project/pine-assistant/)
5+
[![license](https://img.shields.io/pypi/l/pine-assistant)](./LICENSE)
66

77
Pine AI SDK for Python. Let Pine AI handle your digital chores.
88

99
## Install
1010

1111
```bash
12-
pip install pine-ai # SDK only
13-
pip install pine-ai[cli] # SDK + CLI
12+
pip install pine-assistant # SDK only
13+
pip install pine-assistant[cli] # SDK + CLI
1414
```
1515

1616
## Quick Start (Async)
1717

1818
```python
19-
from pine_ai import AsyncPineAI
19+
from pine_assistant import AsyncPineAI
2020

2121
client = AsyncPineAI(access_token="...", user_id="...")
2222
await client.connect()
@@ -77,7 +77,7 @@ not individual chunks. Work log parts are debounced (3s silence).
7777
Pro subscription recommended. For non-subscribers:
7878

7979
```python
80-
from pine_ai import AsyncPineAI
80+
from pine_assistant import AsyncPineAI
8181
print(f"Pay at: {AsyncPineAI.session_url(session_id)}")
8282
```
8383

RELEASING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# Releasing pine-ai (Python)
1+
# Releasing pine-assistant (Python)
22

33
This package uses **PyPI trusted publishing** (OIDC) — no PyPI tokens are stored in GitHub.
44

55
## One-time setup
66

77
### Register the trusted publisher on PyPI
88

9-
1. Go to <https://pypi.org/manage/project/pine-ai/settings/publishing/> (or add a **pending publisher** at <https://pypi.org/manage/account/publishing/> if the project doesn't exist on PyPI yet).
9+
1. Go to <https://pypi.org/manage/project/pine-assistant/settings/publishing/> (or add a **pending publisher** at <https://pypi.org/manage/account/publishing/> if the project doesn't exist on PyPI yet).
1010
2. Under **Add a new publisher**, fill in:
1111
- **Owner:** `pineai`
1212
- **Repository:** `pine-python`
@@ -22,7 +22,7 @@ It installs, imports, builds, and verifies the package across Python 3.10 – 3.
2222

2323
1. Bump the version in **both** places:
2424
- `pyproject.toml``version = "X.Y.Z"`
25-
- `src/pine_ai/__init__.py``__version__ = "X.Y.Z"`
25+
- `src/pine_assistant/__init__.py``__version__ = "X.Y.Z"`
2626
2. Commit, tag, and push:
2727
```bash
2828
git add -A && git commit -m "release: vX.Y.Z"

pyproject.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ requires = ["setuptools>=68.0", "wheel"]
33
build-backend = "setuptools.build_meta"
44

55
[project]
6-
name = "pine-ai"
6+
name = "pine-assistant"
77
version = "0.1.0"
88
description = "Pine AI SDK — Let Pine AI handle your digital chores. Socket.IO + REST client."
99
readme = "README.md"
1010
license = "MIT"
1111
requires-python = ">=3.10"
1212
authors = [{name = "Pine AI"}]
13-
keywords = ["pine-ai", "pine", "ai", "customer-service", "sdk", "socketio"]
13+
keywords = ["pine-assistant", "pine", "ai", "customer-service", "sdk", "socketio"]
1414
classifiers = [
1515
"Development Status :: 3 - Alpha",
1616
"Intended Audience :: Developers",
@@ -39,10 +39,10 @@ Repository = "https://github.com/pineai/pine-python"
3939
Issues = "https://github.com/pineai/pine-python/issues"
4040

4141
[project.scripts]
42-
pine = "pine_ai.cli.main:main"
42+
pine = "pine_assistant.cli.main:main"
4343

4444
[tool.setuptools.packages.find]
4545
where = ["src"]
4646

4747
[tool.setuptools.package-data]
48-
pine_ai = ["py.typed"]
48+
pine_assistant = ["py.typed"]

src/pine_ai/__init__.py

Lines changed: 0 additions & 27 deletions
This file was deleted.

src/pine_ai/models/__init__.py

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/pine_assistant/__init__.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
"""
2+
pine-assistant — Pine AI SDK for Python.
3+
4+
Let Pine AI handle your digital chores.
5+
Socket.IO + REST client for the Pine AI backend.
6+
"""
7+
8+
from pine_assistant.client import PineAI, AsyncPineAI
9+
from pine_assistant.auth import Auth
10+
from pine_assistant.sessions import SessionsAPI
11+
from pine_assistant.errors import PineAIError, AuthError, SessionError, ConnectionError
12+
from pine_assistant.models.events import C2SEvent, S2CEvent, NotificationEvent
13+
14+
__version__ = "0.1.0"
15+
__all__ = [
16+
"PineAI",
17+
"AsyncPineAI",
18+
"Auth",
19+
"SessionsAPI",
20+
"PineAIError",
21+
"AuthError",
22+
"SessionError",
23+
"ConnectionError",
24+
"C2SEvent",
25+
"S2CEvent",
26+
"NotificationEvent",
27+
]
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
from typing import Any
88

9-
from pine_ai.transport.http import HttpClient
10-
from pine_ai.errors import AuthError
9+
from pine_assistant.transport.http import HttpClient
10+
from pine_assistant.errors import AuthError
1111

1212

1313
class Auth:
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
import time
1212
from typing import Any, AsyncGenerator, Callable, Coroutine, Optional
1313

14-
from pine_ai.models.events import C2SEvent, S2CEvent
15-
from pine_ai.transport.socketio import SocketIOManager
14+
from pine_assistant.models.events import C2SEvent, S2CEvent
15+
from pine_assistant.transport.socketio import SocketIOManager
1616

1717
TERMINAL_STATES = {"task_finished", "task_cancelled", "task_stale"}
1818
DEFAULT_IDLE_TIMEOUT_S = 120.0

0 commit comments

Comments
 (0)