Skip to main content

Supernote Cloud API Client for Python

Unofficial Python API client that allows you to access your Supernote files through the Supernote Cloud.

sncloud is intended for integrating your Supernote Cloud files into other apps. Yes, there are other cloud providers integrated into the Supernote which are easier to develop for, but only the Supernote Cloud offer "auto sync" at the moment. The Supernote APIs are extensive but this library only covers the subset that most developers will need for common filesystem actions such as list, download and upload files.

So while it doesn't currently cover every endpoint (for example you cannot delete, move or rename files) it will likely work for you. That said, PRs are weclome.

Core Features

  • 🔑 Login to the Supernote Cloud
  • 🔍 List the files and folders for a parent directory
  • 💾 Get a file and save it locally
  • 📄 Get a note file and convert it to PDF
  • 🖼 Get a note file and convert it to PNG
  • 🔼 Put a file and upload it to the cloud
  • 📂 Make a directory on the cloud

Installation

pip install sncloud

Usage

Python API

from sncloud import SNClient

client = SNClient()
client.login("test@example.com", "1234") # login with email and password
files = client.ls() # returns a list of the files/directories on the Supernote
print(files)
client.get("/Note/notes.note") # downloads the file with the given path

Command Line Interface

The package also provides a command line interface:

# Login to your Supernote Cloud account
sncloud login

# List files in the root directory
sncloud ls

# List files in a specific directory
sncloud ls /Notes

# Download a file
sncloud get /Notes/document.note

# Download a note as PDF
sncloud get /Notes/document.note --pdf

# Download a note as PNG
sncloud get /Notes/document.note --png

# Download specific pages (works with both PDF and PNG)
sncloud get /Notes/document.note --pdf --pages "1,3,5"

# Set output directory
sncloud get /Notes/document.note --output /path/to/directory

# Create a new folder
sncloud mkdir NewFolder --parent /Notes

# Upload a file
sncloud put /path/to/file.txt --parent /Notes

The CLI will store your access token in ~/.config/sncloud/config.json and automatically refresh it when needed.

Roadmap

  • CLI/SHELL script
  • Example scripts
  • Advanced API calls
  • Get Supernote Cloud API complete
  • Docker container

Want to contribute?

PRs are welcome. But please open an issue first to see if the proposed feature fits with the direction of this library.

Acknowledgements

Metadata

Release files for sncloud 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sncloud 0.2.1
File Size Uploaded Provenance Actions
sncloud-0.2.1.tar.gz 22.2 kB Without provenance Details for sncloud-0.2.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for sncloud 0.2.1
File Interpreter ABI Platform Actions
sncloud-0.2.1-py3-none-any.whl Python 3 none any Details for sncloud-0.2.1-py3-none-any.whl

Total release size: 36.0 kB

Release files / sncloud-0.2.1.tar.gz

Download URL sncloud-0.2.1.tar.gz
Size 22.2 kB
Tags Source
SHA-256 checksum
How to use checksums
bdc688e9388a0f8ce64e82457bebeade34852d68b21e05b617333572f7c08e3c
BLAKE2b-256 checksum
How to use checksums
a3039a846bd3a1bb419fa8da733e64fc9c57d3efc4db2d1a27702be0139e3db0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.6.17

Release files / sncloud-0.2.1-py3-none-any.whl

Download URL sncloud-0.2.1-py3-none-any.whl
Size 13.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3911f39487982fd53508ecf090403a963a99e1db792a33a7e898a7a61010938c
BLAKE2b-256 checksum
How to use checksums
a883b497eac012f560488cf24905a59085ac38ccb2fa445754856ef31fa772c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.6.17

Security for sncloud 0.2.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page