pipecat-ai-prebuilt 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pipecat_ai_prebuilt-1.0.0/MANIFEST.in +1 -0
- pipecat_ai_prebuilt-1.0.0/PKG-INFO +181 -0
- pipecat_ai_prebuilt-1.0.0/README.md +163 -0
- pipecat_ai_prebuilt-1.0.0/pipecat_ai_prebuilt/__init__.py +0 -0
- pipecat_ai_prebuilt-1.0.0/pipecat_ai_prebuilt/client/dist/assets/index-ClnIZDeS.js +443 -0
- pipecat_ai_prebuilt-1.0.0/pipecat_ai_prebuilt/client/dist/assets/index-Cx4xQaH4.css +1 -0
- pipecat_ai_prebuilt-1.0.0/pipecat_ai_prebuilt/client/dist/assets/index.module-CWHKPBQh.js +333 -0
- pipecat_ai_prebuilt-1.0.0/pipecat_ai_prebuilt/client/dist/assets/index.module-CwPEeBSq.js +337 -0
- pipecat_ai_prebuilt-1.0.0/pipecat_ai_prebuilt/client/dist/favicon.svg +7 -0
- pipecat_ai_prebuilt-1.0.0/pipecat_ai_prebuilt/client/dist/index.html +17 -0
- pipecat_ai_prebuilt-1.0.0/pipecat_ai_prebuilt/client/dist/pipecat-logo.svg +7 -0
- pipecat_ai_prebuilt-1.0.0/pipecat_ai_prebuilt/frontend.py +29 -0
- pipecat_ai_prebuilt-1.0.0/pipecat_ai_prebuilt.egg-info/PKG-INFO +181 -0
- pipecat_ai_prebuilt-1.0.0/pipecat_ai_prebuilt.egg-info/SOURCES.txt +17 -0
- pipecat_ai_prebuilt-1.0.0/pipecat_ai_prebuilt.egg-info/dependency_links.txt +1 -0
- pipecat_ai_prebuilt-1.0.0/pipecat_ai_prebuilt.egg-info/requires.txt +1 -0
- pipecat_ai_prebuilt-1.0.0/pipecat_ai_prebuilt.egg-info/top_level.txt +1 -0
- pipecat_ai_prebuilt-1.0.0/pyproject.toml +43 -0
- pipecat_ai_prebuilt-1.0.0/setup.cfg +4 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
recursive-include pipecat_ai_prebuilt/client/dist *
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pipecat-ai-prebuilt
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: A simple, ready-to-use prebuilt client supporting all Pipecat transports.
|
|
5
|
+
License: BSD 2-Clause License
|
|
6
|
+
Project-URL: homepage, https://github.com/pipecat-ai/pipecat-prebuilt
|
|
7
|
+
Project-URL: source, https://github.com/pipecat-ai/pipecat-prebuilt
|
|
8
|
+
Project-URL: issues, https://github.com/pipecat-ai/pipecat-prebuilt/issues
|
|
9
|
+
Keywords: webrtc,pipecat,voice,ai
|
|
10
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: Topic :: Communications :: Conferencing
|
|
13
|
+
Classifier: Topic :: Multimedia :: Sound/Audio
|
|
14
|
+
Classifier: Topic :: Multimedia :: Video
|
|
15
|
+
Requires-Python: >=3.10
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
Requires-Dist: fastapi[all]
|
|
18
|
+
|
|
19
|
+
# Pipecat AI Prebuilt
|
|
20
|
+
|
|
21
|
+
A simple, ready-to-use prebuilt client supporting all Pipecat transports.
|
|
22
|
+
|
|
23
|
+
This prebuilt client provides a lightweight UI to quickly test and verify transport
|
|
24
|
+
behavior without needing a custom implementation.
|
|
25
|
+
|
|
26
|
+
Ideal for development, debugging, and quick prototyping.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## ๐ฆ Installation & Usage
|
|
31
|
+
|
|
32
|
+
If you just want to **use** the prebuilt client in your own Python project:
|
|
33
|
+
|
|
34
|
+
### โ
Install from PyPI
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
pip install pipecat-ai-prebuilt
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### ๐งฐ Example Usage
|
|
41
|
+
|
|
42
|
+
```python
|
|
43
|
+
from fastapi import FastAPI
|
|
44
|
+
from fastapi.responses import RedirectResponse
|
|
45
|
+
from pipecat_ai_prebuilt.frontend import PipecatPrebuiltUI
|
|
46
|
+
|
|
47
|
+
app = FastAPI()
|
|
48
|
+
|
|
49
|
+
# Mount the frontend at /client
|
|
50
|
+
app.mount("/client", PipecatPrebuiltUI)
|
|
51
|
+
|
|
52
|
+
@app.get("/", include_in_schema=False)
|
|
53
|
+
async def root_redirect():
|
|
54
|
+
return RedirectResponse(url="/client/")
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### ๐งช Try a Sample App
|
|
58
|
+
|
|
59
|
+
Want to see it in action? Check out our sample app demonstrating how to use this module:
|
|
60
|
+
|
|
61
|
+
- ๐ [Sample App](./test/README.md)
|
|
62
|
+
|
|
63
|
+
## โจ Development Quick Start
|
|
64
|
+
|
|
65
|
+
If you want to work on the prebuilt client itself or use it locally in development:
|
|
66
|
+
|
|
67
|
+
#### ๐ Prerequisites
|
|
68
|
+
|
|
69
|
+
- [Node.js](https://nodejs.org/) (for building the client)
|
|
70
|
+
- [uv](https://docs.astral.sh/uv/) (recommended for Python dependency management)
|
|
71
|
+
|
|
72
|
+
#### ๐ง Set Up the Environment
|
|
73
|
+
|
|
74
|
+
1. **Clone the Repository**
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
git clone https://github.com/pipecat-ai/pipecat-prebuilt.git
|
|
78
|
+
cd pipecat-ai-prebuilt
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
2. **Build the Client**
|
|
82
|
+
|
|
83
|
+
The Python package serves a built React client, so you need to build it first:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
cd client
|
|
87
|
+
npm install
|
|
88
|
+
npm run build
|
|
89
|
+
cd ..
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
This creates the `client/dist/` directory that the Python package will serve.
|
|
93
|
+
|
|
94
|
+
3. **Try the Sample App**
|
|
95
|
+
|
|
96
|
+
Now you can test the local package with the sample app:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
cd test
|
|
100
|
+
uv sync # Installs dependencies and the local package in editable mode
|
|
101
|
+
uv run bot.py
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Then open http://localhost:7860 in your browser.
|
|
105
|
+
|
|
106
|
+
## ๐ Publishing
|
|
107
|
+
|
|
108
|
+
Publishing is automated via GitHub Actions using trusted publishing (no API tokens needed).
|
|
109
|
+
|
|
110
|
+
### Prerequisites
|
|
111
|
+
|
|
112
|
+
1. **Update the version in `pyproject.toml`:**
|
|
113
|
+
|
|
114
|
+
```toml
|
|
115
|
+
version = "1.0.0"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
2. **Create a git tag:**
|
|
119
|
+
```bash
|
|
120
|
+
git tag -m v1.0.0 v1.0.0
|
|
121
|
+
git push --tags origin
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Publishing Process
|
|
125
|
+
|
|
126
|
+
1. **Go to GitHub Actions** in your repository
|
|
127
|
+
2. **Select the "publish" workflow**
|
|
128
|
+
3. **Click "Run workflow"**
|
|
129
|
+
4. **Enter the git tag** (e.g., `v1.0.0`)
|
|
130
|
+
5. **Click "Run workflow"**
|
|
131
|
+
|
|
132
|
+
The workflow will:
|
|
133
|
+
|
|
134
|
+
- Build the client (React/Vite)
|
|
135
|
+
- Bundle it into the Python package
|
|
136
|
+
- Build the Python package with version from `pyproject.toml`
|
|
137
|
+
- Publish to both Test PyPI and PyPI
|
|
138
|
+
|
|
139
|
+
### Testing Before Production
|
|
140
|
+
|
|
141
|
+
To test publishing without creating a release:
|
|
142
|
+
|
|
143
|
+
1. **Use the `publish-test` workflow** (publishes to Test PyPI only):
|
|
144
|
+
|
|
145
|
+
- Go to GitHub Actions โ "publish-test" workflow
|
|
146
|
+
- Click "Run workflow"
|
|
147
|
+
- No git tag needed!
|
|
148
|
+
|
|
149
|
+
2. **Install from Test PyPI**:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ pipecat-ai-prebuilt
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
3. **Test your changes**, then use the regular `publish` workflow for production
|
|
156
|
+
|
|
157
|
+
### Local Build Testing
|
|
158
|
+
|
|
159
|
+
To test the build locally before publishing, use the provided build script.
|
|
160
|
+
It builds the React client, bundles it into the Python package, and produces the distribution artifacts in `dist/`.
|
|
161
|
+
|
|
162
|
+
**Run from the repo root:**
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
./scripts/local_build.sh
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
The script will:
|
|
169
|
+
|
|
170
|
+
1. Clear any previous `dist/` artifacts
|
|
171
|
+
2. Install client npm dependencies
|
|
172
|
+
3. Build the React client (`client/dist/`)
|
|
173
|
+
4. Copy the built client into the Python package
|
|
174
|
+
5. Build the Python package with `uv build`
|
|
175
|
+
6. Clean up the temporary client copy
|
|
176
|
+
|
|
177
|
+
The resulting `.whl` and `.tar.gz` files will be in `dist/`. You can install the wheel directly to test it:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
pip install dist/pipecat_ai_prebuilt-*.whl
|
|
181
|
+
```
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# Pipecat AI Prebuilt
|
|
2
|
+
|
|
3
|
+
A simple, ready-to-use prebuilt client supporting all Pipecat transports.
|
|
4
|
+
|
|
5
|
+
This prebuilt client provides a lightweight UI to quickly test and verify transport
|
|
6
|
+
behavior without needing a custom implementation.
|
|
7
|
+
|
|
8
|
+
Ideal for development, debugging, and quick prototyping.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## ๐ฆ Installation & Usage
|
|
13
|
+
|
|
14
|
+
If you just want to **use** the prebuilt client in your own Python project:
|
|
15
|
+
|
|
16
|
+
### โ
Install from PyPI
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
pip install pipecat-ai-prebuilt
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### ๐งฐ Example Usage
|
|
23
|
+
|
|
24
|
+
```python
|
|
25
|
+
from fastapi import FastAPI
|
|
26
|
+
from fastapi.responses import RedirectResponse
|
|
27
|
+
from pipecat_ai_prebuilt.frontend import PipecatPrebuiltUI
|
|
28
|
+
|
|
29
|
+
app = FastAPI()
|
|
30
|
+
|
|
31
|
+
# Mount the frontend at /client
|
|
32
|
+
app.mount("/client", PipecatPrebuiltUI)
|
|
33
|
+
|
|
34
|
+
@app.get("/", include_in_schema=False)
|
|
35
|
+
async def root_redirect():
|
|
36
|
+
return RedirectResponse(url="/client/")
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### ๐งช Try a Sample App
|
|
40
|
+
|
|
41
|
+
Want to see it in action? Check out our sample app demonstrating how to use this module:
|
|
42
|
+
|
|
43
|
+
- ๐ [Sample App](./test/README.md)
|
|
44
|
+
|
|
45
|
+
## โจ Development Quick Start
|
|
46
|
+
|
|
47
|
+
If you want to work on the prebuilt client itself or use it locally in development:
|
|
48
|
+
|
|
49
|
+
#### ๐ Prerequisites
|
|
50
|
+
|
|
51
|
+
- [Node.js](https://nodejs.org/) (for building the client)
|
|
52
|
+
- [uv](https://docs.astral.sh/uv/) (recommended for Python dependency management)
|
|
53
|
+
|
|
54
|
+
#### ๐ง Set Up the Environment
|
|
55
|
+
|
|
56
|
+
1. **Clone the Repository**
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
git clone https://github.com/pipecat-ai/pipecat-prebuilt.git
|
|
60
|
+
cd pipecat-ai-prebuilt
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
2. **Build the Client**
|
|
64
|
+
|
|
65
|
+
The Python package serves a built React client, so you need to build it first:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
cd client
|
|
69
|
+
npm install
|
|
70
|
+
npm run build
|
|
71
|
+
cd ..
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
This creates the `client/dist/` directory that the Python package will serve.
|
|
75
|
+
|
|
76
|
+
3. **Try the Sample App**
|
|
77
|
+
|
|
78
|
+
Now you can test the local package with the sample app:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
cd test
|
|
82
|
+
uv sync # Installs dependencies and the local package in editable mode
|
|
83
|
+
uv run bot.py
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Then open http://localhost:7860 in your browser.
|
|
87
|
+
|
|
88
|
+
## ๐ Publishing
|
|
89
|
+
|
|
90
|
+
Publishing is automated via GitHub Actions using trusted publishing (no API tokens needed).
|
|
91
|
+
|
|
92
|
+
### Prerequisites
|
|
93
|
+
|
|
94
|
+
1. **Update the version in `pyproject.toml`:**
|
|
95
|
+
|
|
96
|
+
```toml
|
|
97
|
+
version = "1.0.0"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
2. **Create a git tag:**
|
|
101
|
+
```bash
|
|
102
|
+
git tag -m v1.0.0 v1.0.0
|
|
103
|
+
git push --tags origin
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Publishing Process
|
|
107
|
+
|
|
108
|
+
1. **Go to GitHub Actions** in your repository
|
|
109
|
+
2. **Select the "publish" workflow**
|
|
110
|
+
3. **Click "Run workflow"**
|
|
111
|
+
4. **Enter the git tag** (e.g., `v1.0.0`)
|
|
112
|
+
5. **Click "Run workflow"**
|
|
113
|
+
|
|
114
|
+
The workflow will:
|
|
115
|
+
|
|
116
|
+
- Build the client (React/Vite)
|
|
117
|
+
- Bundle it into the Python package
|
|
118
|
+
- Build the Python package with version from `pyproject.toml`
|
|
119
|
+
- Publish to both Test PyPI and PyPI
|
|
120
|
+
|
|
121
|
+
### Testing Before Production
|
|
122
|
+
|
|
123
|
+
To test publishing without creating a release:
|
|
124
|
+
|
|
125
|
+
1. **Use the `publish-test` workflow** (publishes to Test PyPI only):
|
|
126
|
+
|
|
127
|
+
- Go to GitHub Actions โ "publish-test" workflow
|
|
128
|
+
- Click "Run workflow"
|
|
129
|
+
- No git tag needed!
|
|
130
|
+
|
|
131
|
+
2. **Install from Test PyPI**:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ pipecat-ai-prebuilt
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
3. **Test your changes**, then use the regular `publish` workflow for production
|
|
138
|
+
|
|
139
|
+
### Local Build Testing
|
|
140
|
+
|
|
141
|
+
To test the build locally before publishing, use the provided build script.
|
|
142
|
+
It builds the React client, bundles it into the Python package, and produces the distribution artifacts in `dist/`.
|
|
143
|
+
|
|
144
|
+
**Run from the repo root:**
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
./scripts/local_build.sh
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
The script will:
|
|
151
|
+
|
|
152
|
+
1. Clear any previous `dist/` artifacts
|
|
153
|
+
2. Install client npm dependencies
|
|
154
|
+
3. Build the React client (`client/dist/`)
|
|
155
|
+
4. Copy the built client into the Python package
|
|
156
|
+
5. Build the Python package with `uv build`
|
|
157
|
+
6. Clean up the temporary client copy
|
|
158
|
+
|
|
159
|
+
The resulting `.whl` and `.tar.gz` files will be in `dist/`. You can install the wheel directly to test it:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
pip install dist/pipecat_ai_prebuilt-*.whl
|
|
163
|
+
```
|
|
File without changes
|