{"id":24869020,"url":"https://github.com/julianprester/sncloud","last_synced_at":"2026-01-28T16:16:52.707Z","repository":{"id":274432537,"uuid":"922892187","full_name":"julianprester/sncloud","owner":"julianprester","description":"Unofficial Python API client that allows you to access your Supernote files through the Supernote Cloud","archived":false,"fork":false,"pushed_at":"2025-04-28T10:48:22.000Z","size":89,"stargazers_count":12,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-25T15:11:30.054Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/julianprester.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-27T09:24:10.000Z","updated_at":"2025-12-21T19:40:05.000Z","dependencies_parsed_at":"2025-04-07T11:22:46.651Z","dependency_job_id":"5b38bb5e-5546-4b5e-b1dd-e43e064ffd2d","html_url":"https://github.com/julianprester/sncloud","commit_stats":null,"previous_names":["julianprester/sncloud"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/julianprester/sncloud","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianprester%2Fsncloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianprester%2Fsncloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianprester%2Fsncloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianprester%2Fsncloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/julianprester","download_url":"https://codeload.github.com/julianprester/sncloud/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianprester%2Fsncloud/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28846983,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T15:15:36.453Z","status":"ssl_error","status_checked_at":"2026-01-28T15:15:13.020Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-01T03:01:25.488Z","updated_at":"2026-01-28T16:16:52.702Z","avatar_url":"https://github.com/julianprester.png","language":"Python","funding_links":[],"categories":["Resources"],"sub_categories":["Tools"],"readme":"# Supernote Cloud API Client for Python\n\nUnofficial Python API client that allows you to access your Supernote files through the Supernote Cloud.\n\n`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.\n\nSo 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.\n\n## Core Features\n\n- 🔑 **Login** to the Supernote Cloud\n- 🔍 **List** the files and folders for a parent directory\n- 💾 **Get** a file and save it locally\n- 📄 **Get** a note file and convert it to PDF\n- 🖼 **Get** a note file and convert it to PNG\n- 🔼 **Put** a file and upload it to the cloud\n- 📂 **Make a directory** on the cloud\n\n## Installation\n\n`pip install sncloud`\n\n## Usage\n\n### Python API\n\n```python\nfrom sncloud import SNClient\n\nclient = SNClient()\nclient.login(\"test@example.com\", \"1234\") # login with email and password\nfiles = client.ls() # returns a list of the files/directories on the Supernote\nprint(files)\nclient.get(\"/Note/notes.note\") # downloads the file with the given path\n```\n\n### Command Line Interface\n\nThe package also provides a command line interface:\n\n```bash\n# Login to your Supernote Cloud account\nsncloud login\n\n# List files in the root directory\nsncloud ls\n\n# List files in a specific directory\nsncloud ls /Notes\n\n# Download a file\nsncloud get /Notes/document.note\n\n# Download a note as PDF\nsncloud get /Notes/document.note --pdf\n\n# Download a note as PNG\nsncloud get /Notes/document.note --png\n\n# Download specific pages (works with both PDF and PNG)\nsncloud get /Notes/document.note --pdf --pages \"1,3,5\"\n\n# Set output directory\nsncloud get /Notes/document.note --output /path/to/directory\n\n# Create a new folder\nsncloud mkdir NewFolder --parent /Notes\n\n# Upload a file\nsncloud put /path/to/file.txt --parent /Notes\n```\n\nThe CLI will store your access token in `~/.config/sncloud/config.json` and automatically refresh it when needed.\n\n## Roadmap\n\n- [x] CLI/SHELL script\n- [ ] Example scripts\n- [ ] Advanced API calls\n- [ ] Get Supernote Cloud API complete\n- [ ] Docker container\n\n## Want to contribute?\n\nPRs are welcome. But please open an issue first to see if the proposed feature fits with the direction of this library.\n\n## Acknowledgements\n\n- General idea for a Supernote Cloud library taken from the amazing [rmapi](https://github.com/juruen/rmapi) project for the reMarkable cloud\n- Help to identify API endpoints from [NYT crossword puzzle to Supernote script](https://github.com/bwhitman/supernote-cloud-python)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulianprester%2Fsncloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjulianprester%2Fsncloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulianprester%2Fsncloud/lists"}