Use Shufflepy to control Shuffle and Singul
Project description
Shuffle and Singul agentic API
Connect to your favorite services with a Singul line of code.
This documentation will help you get started with Singul, understand its capabilities, and integrate it into your workflows easily. Whether you're a developer, a security analyst, or an automation engineer — Singul is built for you.
Singul is an API handler that allows you to get or update data in tools like Jira, Outlook, Gmail, Service Now, and more - with a single line of code.
Usage
Run AI Agent: run_agent("action to perform")
from shufflepy import Singul
singul = Singul(
"APIKEY"
)
singul.run_agent("Handle my emails from yesterday so I don't have to")
Sample functions below. If none of these match, try to use the shuffle.connect() function to run ANYTHING. By default returns the matching translation standard if available, otherwise the raw output.
from shufflepy import Singul
# If you want to use REMOTE singul (shuffler.io / open source Shuffle)
singul = Singul(
"APIKEY",
url='https://shuffler.io',
)
singul.cases.create_ticket("jira", title="Title")
singul.communication.send_message("slack", message="Test")
singul.communication.send_message("teams", message="Test")
tickets = singul.cases.list_tickets("jira")
# If you want to run it 100% locally
resp = singul.run("jira", action="list_tickets")
Normal App run control:
singul.run_app(app_id="bc78f35c6c6351b07a09b7aed5d29652", action="repeat_back_to_me", params={"call": "The value to repeat"})
Manual:
# General connect
resp = singul.cases.list_tickets(
app="jira",
org_id=os.environ.get("SHUFFLE_ORG_ID"),
fields=[{
"key": "max-amount",
"value": "10"
}]
)
### Common Use Cases
# General transformer - Transforms from any data into a standard, e.g. "list_tickets"
sourcedata = [{"title": "Tickettitle", "id": "hiya"}]
tickets = singul.transform(sourcedata, "list_tickets") # (coming soon)
* Send emails using **Outlook or Gmail**
* Fetch and manage tickets from **Jira, GitHub, or TheHive**
* Pull alerts from **SIEM or SOAR platforms**
* Automate security investigations
* Trigger workflow actions across tools
* Build lightweight automation using simple APIs
Basic output for `list_tickets`:
```json
[{
"id": "P-123",
"title": "Ticket 1"
},
{
"id": "P-124",
"title": "Ticket 2"
}]
See default standards - Standards are modifiable, and you will see your own standards on the File page in Shuffle.
Exploring usage
To look through past executions, see the execution debugger available on /workflows/debug
Available Apps & categories
Local testing
cd build_singul
cp -r ../shufflepy singul
python3 -m pip install -e . --break-system-packages
# You can now import the library locally :)
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 shufflepy-0.2.0.tar.gz.
File metadata
- Download URL: shufflepy-0.2.0.tar.gz
- Upload date:
- Size: 12.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.10.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84f75386e29a591292bda7cc478f9ea2aa3e0ec56ebcf5f466b7d82e8a4385eb
|
|
| MD5 |
6bda3bcd6d54d351798b32e37814f5fd
|
|
| BLAKE2b-256 |
763df08ce3ddc6dcbfe4ec3e9e4afa6c5f333a2ed79a3b3b350044351405a3ac
|
File details
Details for the file shufflepy-0.2.0-py3-none-any.whl.
File metadata
- Download URL: shufflepy-0.2.0-py3-none-any.whl
- Upload date:
- Size: 14.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.10.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e21efb81edb84f2f5a85cc1d4451c94dee18234e1b62cdf0e309207c1a0e1ef
|
|
| MD5 |
e3be08d04d2c625cf7a9553317de0a0e
|
|
| BLAKE2b-256 |
28a60999767fd110a2e9c6382e9a2f3611de71806b4116e223b75dcdc539ebdc
|