Skip to main content

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

Project description

Supernote Cloud API Client for Python

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

This is a maintained continuation of julianprester/sncloud, carrying fixes for the Supernote Cloud API. It is published to PyPI as supernote-cloud and imported as supernote_cloud. Licensed under Apache-2.0; original work © Julian Prester.

supernote-cloud 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 move or rename files) it will likely work for you. That said, PRs are welcome.

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
  • 🗑 Delete a file or folder

Installation

pip install supernote-cloud

Usage

Python API

from supernote_cloud 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
supernote-cloud login

# List files in the root directory
supernote-cloud ls

# List files in a specific directory
supernote-cloud ls /Notes

# Download a file
supernote-cloud get /Notes/document.note

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

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

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

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

# Create a new folder
supernote-cloud mkdir NewFolder --parent /Notes

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

# Delete a file
supernote-cloud rm /Notes/document.note

The CLI will store your access token in ~/.config/supernote-cloud/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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

supernote_cloud-0.3.0.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

supernote_cloud-0.3.0-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file supernote_cloud-0.3.0.tar.gz.

File metadata

  • Download URL: supernote_cloud-0.3.0.tar.gz
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for supernote_cloud-0.3.0.tar.gz
Algorithm Hash digest
SHA256 d47272d1a4cd7ad143f735b9b388559d72ac4c9bed11f71e20b0faf654823380
MD5 e5b086834837ed490e8a777df5e01021
BLAKE2b-256 504577607609fb196f5416d004e0664ba38ac0106d5bfd4c7300d3e9ecc9136a

See more details on using hashes here.

File details

Details for the file supernote_cloud-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: supernote_cloud-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for supernote_cloud-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee32c835dadbfbf76e52a638f6a8d6d306ebcb2b76991f21ade19219fee242b1
MD5 32778193129c808e471e07921d541945
BLAKE2b-256 fea60843c6fd5e371e2e56e8ea8817a4b8b8dc64a16d5f3d0b373c1c2a3fc005

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page