WaveAssist Python SDK for storing and retrieving structured data
Project description
WaveAssist Python SDK 🌊
WaveAssist makes it simple to store and retrieve data in your WaveAssist.io workflows.
✨ Features
- 🔐 Simple
init()to connect with your project - 📦 Store and retrieve data (DataFrames, JSON, or strings)
- 🧠 LLM-friendly function names (
init,store_data,fetch_data) - 📁 Auto-serialization for common Python objects
- ✅ Ready for integration with any workflow or script
🚀 Getting Started
1. Install
pip install waveassist
2. Initialize the SDK
import waveassist
waveassist.init(
token="your-api-token-or-uid",
project_key="your-project-id",
environment_key="optional-env" # defaults to <project_key>_default
)
3. Store Data
🧾 Store a string
waveassist.store_data("welcome_message", "Hello, world!")
📊 Store a DataFrame
import pandas as pd
df = pd.DataFrame({"name": ["Alice", "Bob"], "score": [95, 88]})
waveassist.store_data("user_scores", df)
🧠 Store JSON/dict/array
profile = {"name": "Alice", "age": 30}
waveassist.store_data("profile_data", profile)
4. Fetch Data
result = waveassist.fetch_data("user_scores")
# Will return:
# - A DataFrame (if stored as one)
# - A dict/list (if stored as JSON)
# - A string (if stored as text)
🧪 Running Tests
If you’re not using pytest, just run the test script directly:
python tests/run_tests.py
✅ Includes tests for:
- String roundtrip
- JSON/dict roundtrip
- DataFrame roundtrip
- Error case when
init()is missing
🛠 Project Structure
WaveAssist/
├── waveassist/
│ ├── __init__.py # init(), store_data(), fetch_data()
│ ├── _config.py # Global config vars
│ └── ...
├── tests/
│ └── run_tests.py # Manual test runner
📌 Notes
- Data is stored in your backend (MongoDB) as serialized strings (JSON, CSV, etc.)
store_data()auto-detects the type of the object and serializes accordinglyfetch_data()deserializes and returns the proper Python object
🤝 Contributing
Want to add new features/formats or integrations? PRs welcome!
🧠 Example Use Case
import waveassist
waveassist.init("my-token", "project123")
# Store GitHub PR data from an automation job
waveassist.store_data("latest_pr", {
"title": "Fix bug in auth",
"author": "alice",
"status": "open"
})
# Later, fetch it for processing
pr = waveassist.fetch_data("latest_pr")
print(pr["title"])
📬 Contact
Need help or have feedback? Reach out at [connect@waveassist.io] or open an issue.
© 2025 WaveAssist
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 waveassist-0.0.5.tar.gz.
File metadata
- Download URL: waveassist-0.0.5.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac3253fc149b87baa6dd6a97be2abacdabb0319f66aac9e61409e245d2e05d4a
|
|
| MD5 |
6a5142b24d8628d1b8ab81ac48e8d68d
|
|
| BLAKE2b-256 |
9ddf508fc4b1bf2388db8696da0264c778feb327c7ddde4fe01950f6930707ef
|
Provenance
The following attestation bundles were made for waveassist-0.0.5.tar.gz:
Publisher:
python-publish.yml on WaveAssist/waveassist
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
waveassist-0.0.5.tar.gz -
Subject digest:
ac3253fc149b87baa6dd6a97be2abacdabb0319f66aac9e61409e245d2e05d4a - Sigstore transparency entry: 194474064
- Sigstore integration time:
-
Permalink:
WaveAssist/waveassist@d9fdbfb600123db64f2e1fc90361dbf3d0306b2d -
Branch / Tag:
refs/tags/0.0.5 - Owner: https://github.com/WaveAssist
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@d9fdbfb600123db64f2e1fc90361dbf3d0306b2d -
Trigger Event:
release
-
Statement type:
File details
Details for the file waveassist-0.0.5-py3-none-any.whl.
File metadata
- Download URL: waveassist-0.0.5-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d0527cae012eaf4d9c3c3589ae4c25befd87459b28773fd78fd8b2f9bd0a2c3
|
|
| MD5 |
db15b14c71caaa7da45b969ef4b9acf1
|
|
| BLAKE2b-256 |
6318a7f8c34d5edb3979c35e3c32b6054997947bc4e9c4ff10e60dd4f311b368
|
Provenance
The following attestation bundles were made for waveassist-0.0.5-py3-none-any.whl:
Publisher:
python-publish.yml on WaveAssist/waveassist
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
waveassist-0.0.5-py3-none-any.whl -
Subject digest:
1d0527cae012eaf4d9c3c3589ae4c25befd87459b28773fd78fd8b2f9bd0a2c3 - Sigstore transparency entry: 194474066
- Sigstore integration time:
-
Permalink:
WaveAssist/waveassist@d9fdbfb600123db64f2e1fc90361dbf3d0306b2d -
Branch / Tag:
refs/tags/0.0.5 - Owner: https://github.com/WaveAssist
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@d9fdbfb600123db64f2e1fc90361dbf3d0306b2d -
Trigger Event:
release
-
Statement type: