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.
@@ -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
+ ```