All-in-one toolkit for Supernote devices: parse notebooks, self-host services, access services
Project description
supernote
Personal Knowledge Management Hub for Supernote: parse notebooks, self-host services, and unlock AI insights.
This content is shared between the documentation and github repository at github.com/allenporter/supernote-lite.
Features
- Notebook Parsing: Convert
.notefiles to PDF, PNG, SVG, or text - AI-Powered Insights: OCR, automated summarization, and key metadata extraction via Gemini API
- Supernote Private Server: Self-hosted Supernote Private Cloud with robust background processing
- Developer API: Interact with Supernote Cloud and local data through a modern async Python client
- System Maintenance: Background polling, auto-recovery for stalled tasks, and storage quota management
AI & Automation
Supernote-Lite transforms your handwritten notes into structured knowledge. When configured with a Gemini API key, the server automatically:
- OCR: Transcribes handwriting with high accuracy.
- Summarization: Generates concise summaries of your note journals.
- Entity Extraction: Identifies dates, tasks, and key themes.
- Retrieval Support: Chunks and indexes notes for efficient search (Experimental).
Installation
# Install specific components
pip install supernote # Notebook parsing only
pip install supernote[server] # + Private server & AI features
pip install supernote[client] # + API Client
# Full installation (recommended for server users)
pip install supernote[all]
Local Development Setup
To set up the project for development, please refer to the Contributing Guide.
Quick Start
Start the AI-Powered Server
-
Bootstrap with Gemini:
export SUPERNOTE_GEMINI_API_KEY="your-api-key" supernote serve
-
Register & Login:
# Add your first user (System Admin) supernote admin --url http://localhost:8080 user add email@example.com # Login via CLI supernote cloud login email@example.com --url http://localhost:8080 supernote cloud ls
See the Bootstrap Guide for detailed deployment and security instructions.
Parse a Notebook
from supernote.notebook import parse_notebook
notebook = parse_notebook("mynote.note")
notebook.to_pdf("output.pdf")
The notebook parser is a fork and slightly lighter dependency version of supernote-tool. All credit goes to the original authors for providing an amazing low-level utility.
Run with Docker
# Build & Run server
docker build -t supernote .
docker run -d -p 8080:8080 -v $(pwd)/storage:/storage supernote serve
See Server Documentation for details.
Developer API
Integrate Supernote into your own Python applications:
from supernote.client import Supernote
# See library docstrings for usage examples
CLI Usage
# Server & Admin
supernote serve
supernote admin user list
# Notebook operations
supernote notebook convert input.note output.pdf
supernote notebook analyze input.note
# Cloud operations
supernote cloud login --url http://localhost:8080 email@example.com
supernote cloud ls
Contributing
We welcome contributions! Please see our Contributing Guide for details on:
- Local development setup
- Project architecture
- Using Ephemeral Mode for fast testing
- AI Skills for agentic interaction
Acknowledgments
This project is in support of the amazing Ratta Supernote product and community. It aims to be a complementary, unofficial offering that is compatible with the Private Cloud feature.
Comparison with Official Private Cloud
| Feature | Official Private Cloud | Supernote-Lite (This Project) |
|---|---|---|
| Core AI | No (Basic Sync) | Yes (OCR, Summaries, Insights) |
| System | Java / Spring | Python (Asyncio) |
| Source | Closed Source | Open Source |
| Flexibility | Set-and-forget | High (Developer-friendly, CLI) |
| Hardware | Docker Required | Python 3.13+ (Low resource) |
| Status | Stable Product | Community Innovation |
Use the Official Private Cloud if:
- You want a supported, "set-and-forget" solution.
- You prefer using Docker containers.
Use Supernote-Lite if:
- You want AI insights and OCR for your notes.
- You want to integrate Supernote data into your local scripts or knowledge workflows.
- You want to run on low-power hardware without Docker overhead.
- You want full control over how your data is processed.
Community Projects
- jya-dev/supernote-tool - Original parser foundation.
- awesome-supernote - Curated resource list.
- sn2md - Supernote to text/image converter.
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 supernote-0.13.4.tar.gz.
File metadata
- Download URL: supernote-0.13.4.tar.gz
- Upload date:
- Size: 164.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a281511e67c2da6da11ba4a88149830c95f15ba6467c1a0b4e5acf29c554624a
|
|
| MD5 |
fc879ecf50eb09802778f76332b57d67
|
|
| BLAKE2b-256 |
16e3533ad139e97413bb70c2627b9863f4ceb180f3d872e57ef7dd46fe546c6a
|
Provenance
The following attestation bundles were made for supernote-0.13.4.tar.gz:
Publisher:
publish.yaml on allenporter/supernote-lite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
supernote-0.13.4.tar.gz -
Subject digest:
a281511e67c2da6da11ba4a88149830c95f15ba6467c1a0b4e5acf29c554624a - Sigstore transparency entry: 850024177
- Sigstore integration time:
-
Permalink:
allenporter/supernote-lite@eaa409ededa1a1d4a8e9c730fb756897451b572c -
Branch / Tag:
refs/tags/0.13.4 - Owner: https://github.com/allenporter
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@eaa409ededa1a1d4a8e9c730fb756897451b572c -
Trigger Event:
release
-
Statement type:
File details
Details for the file supernote-0.13.4-py3-none-any.whl.
File metadata
- Download URL: supernote-0.13.4-py3-none-any.whl
- Upload date:
- Size: 216.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81a64ee0fac306df70112ec0d35c61ced29858b7ed4b4594a2d910eb9c42c551
|
|
| MD5 |
0d7d1fbd9504dab8da3988d036c1f4eb
|
|
| BLAKE2b-256 |
ad59e2137aa7a7e92ac7726e94bc56270288f3e832774d9d1d581de7df7c266a
|
Provenance
The following attestation bundles were made for supernote-0.13.4-py3-none-any.whl:
Publisher:
publish.yaml on allenporter/supernote-lite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
supernote-0.13.4-py3-none-any.whl -
Subject digest:
81a64ee0fac306df70112ec0d35c61ced29858b7ed4b4594a2d910eb9c42c551 - Sigstore transparency entry: 850024183
- Sigstore integration time:
-
Permalink:
allenporter/supernote-lite@eaa409ededa1a1d4a8e9c730fb756897451b572c -
Branch / Tag:
refs/tags/0.13.4 - Owner: https://github.com/allenporter
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@eaa409ededa1a1d4a8e9c730fb756897451b572c -
Trigger Event:
release
-
Statement type: