Syngular lets you connect to AI agents running locally or in production, stream their outputs, and collect structured feedback without infrastructure overhead.
Project description
Syngular AI
Run on your laptop, chat instantly on syngularai.com 🚀
Syngular lets you connect to AI agents running locally or in production, stream their outputs, and collect structured feedback without infrastructure overhead.
Features
- 🚀 Zero Infrastructure: No need to build your own UI - just focus on your agent
- 📡 Real-time Streaming: Stream agent responses character by character to the Syngular UI
- 📊 Rich Feedback Collection: Built-in support for thumbs, text, and option-based feedback
- 📁 File Handling: Seamless file upload and processing from the UI
- 🔄 Async Support: Full async/await support for non-blocking operations
Installation
pip install syngular-ai
Or with uv:
uv add syngular-ai
Quick Start
1. Create Your First Agent
from syngular_ai import entrypoint, MarkdownMessage, ThumbsFeedback
@entrypoint('@helloworld')
def helloworld(prompt: str):
for char in 'hello':
yield MarkdownMessage(
content=f'{char}',
feedback=[ThumbsFeedback(name='ratings')]
)
2. Run Your Agent
For development (connects to Syngular cloud):
from syngular_ai import dev_listen
# Replace this with your API key from the profile section on syngularai.com.
dev_listen('your-api-key-here')
Advanced Examples
Agent with Inputs
from syngular_ai import entrypoint, TextInput, FileInput, StatusUpdate, OptionFeedback
@entrypoint(
'@syngular/analyse',
inputs=[
TextInput(name='url', placeholder='Enter company URL'),
FileInput(name='file')
]
)
def analyse(prompt: str, inputs: list):
# Process the inputs
url = inputs[0] # TextInput
file_content = inputs[1].get_file_content() # FileInput
# Show status update
yield StatusUpdate(
icon='info',
text='Starting the process...'
)
# Stream response with feedback options
for char in 'processing':
yield MarkdownMessage(
content=f'{char}',
feedback=[
OptionFeedback(
name='multioption',
options=['Complete', 'Relevant'],
allow_multiple=True
),
ThumbsFeedback(name='ratings'),
TextFeedback(name='Leave a comment')
]
)
API Reference
Decorators
@entrypoint(name, inputs=None)
Decorator for synchronous agent functions.
Parameters:
name(str): Agent name, must start with '@'inputs(List[Input], optional): List of input specifications
Input Types
TextInput
Text input field for user prompts.
TextInput(name='prompt', placeholder='Enter your message')
FileInput
File upload input.
FileInput(name='document')
Message Types
MarkdownMessage
Rich text message with markdown support.
MarkdownMessage(
content='**Bold text** and *italic*',
feedback=[ThumbsFeedback(name='rating')]
)
StatusUpdate
Status indicator for long-running operations.
StatusUpdate(icon='info', text='Processing...')
Feedback Types
ThumbsFeedback
Thumbs up/down feedback.
ThumbsFeedback(name='rating')
OptionFeedback
Multiple choice feedback.
OptionFeedback(
name='choice',
options=['Option 1', 'Option 2'],
allow_multiple=True
)
TextFeedback
Free text feedback.
TextFeedback(name='comment')
Server Functions
dev_listen(api_key)
Connect to Syngular cloud for development.
Parameters:
api_key(str): Your Syngular API key
Support
For support, please contact us at support@syngularai.com.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file syngular_ai-0.2.0.tar.gz.
File metadata
- Download URL: syngular_ai-0.2.0.tar.gz
- Upload date:
- Size: 58.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68e9c166fa8530d00a07be81c75593d17d3bfc14ac5c9c2c7094c7a38e5f44e8
|
|
| MD5 |
04908f8d538fbfc7dab4a42b1efb06f1
|
|
| BLAKE2b-256 |
d79266bef4ece36f5f0dcecf93ffd33557922f5d9c0bd0d633894f0c52ccd79d
|
File details
Details for the file syngular_ai-0.2.0-py3-none-any.whl.
File metadata
- Download URL: syngular_ai-0.2.0-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c89129594a5ebe5f2ed36b10e96cf170e2b0797ec256f627994a276f4a67eb59
|
|
| MD5 |
41497cc510525cfca3dec7f91b4b5f2d
|
|
| BLAKE2b-256 |
6bea29ec52b8067c995578530cd36865b4f12d4066ac7a338032cd61f765171f
|