Python SDK for the Meow Meow Scratch® API
Build your own APIs and send data from your Raspberry Pi, Arduino, or any Python project.
Docs · Getting Started · API Reference · CLI Reference
Install
pip install meow-sdk
30-second quickstart
from meow_sdk import Meow
# 1. Connect with your API key
api = Meow(api_key="YOUR_PLATFORM_TOKEN")
# 2. Check capacity, then send data
print(api.limits())
api.send("weather-station", "readings", {
"temperature": 22.5,
"humidity": 65,
})
# 3. Read it back
data = api.records("weather-station", "readings")
print(data["results"])
Get your API key at meowmeowscratch.com under Account > Platform Tokens.
Read public data (no key needed)
Anyone can read public endpoints using a username:
api = Meow(username="jake")
data = api.get("weather-station", "readings")
print(data)
Your public API lives at: https://meowmeowscratch.com/api/v1/<username>/<app>/<endpoint>/
Raspberry Pi
Read a sensor and send data every 10 seconds:
import time
import adafruit_dht
import board
from meow_sdk import Meow
sensor = adafruit_dht.DHT22(board.D4)
# Use an app API key on a deployed device so it can access only this app.
api = Meow(api_key="YOUR_APP_API_KEY")
while True:
try:
api.send("my-pi", "sensors", {
"temperature": sensor.temperature,
"humidity": sensor.humidity,
})
print(f"{sensor.temperature}°C, {sensor.humidity}%")
except Exception as e:
print(f"Sensor error: {e}")
time.sleep(10)
See the Raspberry Pi guide for more examples (buttons, LEDs, camera, systemd).
Control panels
Build real-time dashboards with interactive widgets:
api = Meow(api_key="YOUR_PLATFORM_TOKEN")
# Create a dashboard
api.create_dashboard("My Room", "my-room")
# Add a light switch
api.create_dashboard_widget(
"my-room", "home", "settings",
"lights.on", "toggle", "Bedroom Lights"
)
# Toggle it from your Pi
state = api.dashboard_state("my-room")
widget_uuid = state["widgets"][0]["uuid"]
api.set_dashboard_widget_value("my-room", widget_uuid, True)
Widget types: toggle, slider, color, number, text, select, display.
CLI
The SDK includes a full CLI. Configure it once:
export MEOW_PLATFORM_API_KEY=YOUR_PLATFORM_TOKEN
export MEOW_APP_API_KEY=YOUR_APP_API_KEY
export MEOW_USERNAME=jake
Then use it:
# Send data
meow send weather-station readings temperature=22.5 humidity=65
# Read data
meow get weather-station readings
# List your apps
meow apps
# Export as CSV
meow csv weather-station readings
# Manage dashboards
meow dashboards
meow dashboard-data my-room
meow widget-set my-room WIDGET_UUID true
See the CLI reference for all 55 commands.
Error handling
from meow_sdk import Meow, AuthError, NotFoundError, MeowError
api = Meow(api_key="YOUR_PLATFORM_TOKEN")
try:
api.send("my-app", "readings", {"value": 42})
except AuthError:
print("Bad API key")
except NotFoundError:
print("App or endpoint doesn't exist")
except MeowError as e:
print(f"API error {e.status_code}: {e}")
What you can do
| Feature | SDK | CLI |
|---|---|---|
| Send & read records | api.send() / api.send_many() |
meow send / meow send-batch |
| Manage apps & endpoints | api.create_app() |
meow create-app |
| Define field schemas | api.create_field() |
meow create-field |
| Static payloads | api.set_payload() |
meow payload-set |
| Proxy endpoints | api.set_proxy() |
meow proxy-set |
| Control panel dashboards | api.set_dashboard_widget_value() |
meow widget-set |
| Webhooks | api.create_webhook() |
meow webhook-create |
| Encryption | api.enable_encryption() |
meow encrypt-enable |
| Request logs | api.request_logs() |
meow logs |
| CSV export | api.export_csv() |
meow csv |
| Aggregations | api.aggregate() |
meow aggregate |
| API keys | api.create_app_key() |
meow key-create |
| Platform tokens | api.create_platform_token() |
meow platform-token-create |
| Plan limits | api.limits() |
meow limits |
Links
License
MIT
Metadata
Release files for meow-sdk 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| meow_sdk-0.7.0.tar.gz | 47.5 kB | With provenance | Details for meow_sdk-0.7.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| meow_sdk-0.7.0-py3-none-any.whl | Python 3 | none | any | Details for meow_sdk-0.7.0-py3-none-any.whl |
Total release size: 65.5 kB
Release files / meow_sdk-0.7.0.tar.gz
| Download URL | meow_sdk-0.7.0.tar.gz |
|---|---|
| Size | 47.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
975d347416b887a9bc6dd2be6843f710be516b2fa1dd98e023fcdb7810d101ec
|
|
BLAKE2b-256 checksum How to use checksums |
617da32f33c24254d9c8aa16b36bf877ec0c5ea4b6450c464c6d38cef799aff2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 24, 2026.
Transparency logRelease files / meow_sdk-0.7.0-py3-none-any.whl
| Download URL | meow_sdk-0.7.0-py3-none-any.whl |
|---|---|
| Size | 18.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2fe96aac0a5e536b4fa6cf89b045c22eddff60a29d74607a1226c3be84287c62
|
|
BLAKE2b-256 checksum How to use checksums |
f2b47cfc3687c32d08e38f44a105602c63d732a74913bd4d2cde6cb41990b5ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 24, 2026.
Transparency logSecurity for meow-sdk 0.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for meow_sdk-0.7.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 24, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.