Skip to main content

Notolog Editor

Notolog Markdown Editor

PyPI - Version Conda Version PyPI - Python Version GitHub License GitHub Actions Workflow Status PyPI - Downloads Conda Downloads

Notolog is an open-source Markdown editor built with Python and PySide6, featuring AI-powered assistance and local-first privacy.

📖 Documentation | 🪲 Report Issues | 💡 Request Features | 💬 Discussions


Quick Install

pip install notolog
notolog  # Launch the app
Other installation methods

With llama.cpp support:

pip install "notolog[llama]"

With Text-to-Speech audio support:

pip install "notolog[tts]"

Via Conda:

conda install notolog -c conda-forge

Ubuntu/Debian: Download from notolog-debian releases

From source:

git clone https://github.com/notolog/notolog-editor.git
cd notolog-editor
python3 -m venv notolog_env && source notolog_env/bin/activate
pip install .
python -m notolog.app

Notolog - Python Markdown Editor - UI Example

Features

  • Markdown Editor - Real-time syntax highlighting in edit mode (implemented specifically for Notolog), live preview, adaptive line numbers, code blocks
  • AI Assistant - Supports: OpenAI API, ONNX Runtime GenAI (local), and llama.cpp (local, GGUF models)
  • Text-to-Speech - Read documents or selections aloud locally with NeMo-Speech.cpp and MagpieTTS
  • File Encryption - PBKDF2HMAC key derivation with Fernet (AES-128 CBC mode) for optional file encryption
  • Multi-Language - 19 languages supported
  • Customizable - 6 built-in themes
  • Cross-Platform - Windows, macOS, Linux

See the User Guide for complete feature documentation.

Requirements

  • Python 3.10–3.14 (python.org)
  • 4 GB RAM minimum (8+ GB for local AI models)

Installation

Using a virtual environment is recommended:

python3 -m venv notolog_env
source notolog_env/bin/activate  # Linux/macOS
notolog_env\Scripts\activate     # Windows
pip install notolog

For detailed instructions including conda and Debian packages, see Getting Started.

AI Assistant

Notolog supports three AI backends:

  • OpenAI API - Cloud-based inference via OpenAI-compatible endpoints
  • On-Device LLM - Local inference using ONNX Runtime GenAI (e.g. Phi-3, Llama)
  • Module llama.cpp - Local inference with GGUF quantized models (e.g. Llama, Mistral, Qwen)

See the AI Assistant Guide for setup instructions.

Text-to-Speech

The built-in Text-to-Speech module reads Markdown documents, selected text, or text from the cursor aloud locally, with play, pause, and stop controls. It supports spoken heading announcements and separate options to replace inline and multiline code with short labels.

The context-length slider controls the maximum characters in each speech request. Its far-right position uses the whole document between heading breaks. Larger contexts increase startup time and memory use; the runtime's limits still apply. Speech text and generated audio travel through local pipes and memory, without temporary text or audio files. Operating-system swap, crash dumps, and external recording are outside this protection.

Install the audio dependencies with pip install "notolog[tts]" (sounddevice/PortAudio). Linux pip users also need their system PortAudio library, such as libportaudio2 on Debian/Ubuntu, plus curl and CA certificates for model downloads. In Settings → Text-to-Speech, enable the module and use Get runtime to find the compatible NeMo-Speech.cpp release. Extract the complete archive, select bin/nemo-speech (bin/nemo-speech.exe on Windows), choose a model folder, and download the models. The runtime and models are installed separately; they are not bundled with Notolog.

Choose the document language in the module settings. English is the default; Spanish, German, French, Italian, Vietnamese, and Hindi are also supported. Mandarin and Japanese require a runtime built with support for those languages. Language detection is not automatic, and heading/code labels use English.

See the Text-to-Speech Guide for setup, supported models, and troubleshooting. See Text-to-Speech third-party notices for runtime, model, and audio library licenses. Notolog is not affiliated with or endorsed by NVIDIA.

Development

git clone https://github.com/notolog/notolog-editor.git
cd notolog-editor
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
python -m notolog.app

Run tests:

python dev_install.py test
python -m pytest

See CONTRIBUTING.md for guidelines.

License

Notolog is open-source software licensed under the MIT License.

This project uses third-party libraries, each subject to its own license. See ThirdPartyNotices.md for details.

Security

Notolog prioritizes data protection and user privacy:

  • Encryption: File encryption (optional) uses PBKDF2HMAC key derivation with Fernet (AES-128 CBC mode).
  • Auto-Save: Changes are saved automatically to prevent data loss.
  • Privacy: No telemetry or tracking. Local-only AI inference options available.

For vulnerability reporting, see SECURITY.md.

Disclaimers

Third-Party AI Services and Libraries

This project integrates third-party AI services and libraries:

  • OpenAI API: Users are required to supply their own API keys and adhere to OpenAI's applicable terms, policies, and API documentation.
  • ONNX Runtime GenAI: Used for local ONNX model inference. More info: onnxruntime-genai
  • llama.cpp: Used for local GGUF model inference via llama-cpp-python.

Notolog is developed independently and is not affiliated with these organizations or projects.

Legal

  • Compliance: Users are responsible for ensuring their use complies with applicable laws and regulations.
  • Liability: The developers disclaim liability for misuse or non-compliance with legal or regulatory requirements.
  • Trademarks: All trademarks and brand names are the property of their respective owners and are used for identification purposes only.

⭐ If you find Notolog useful, please consider giving it a star on GitHub!


This README.md file has been crafted and edited using Notolog Editor.

Metadata

Release files for notolog 1.2.3

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

Source distribution (sdist)

Source distribution for notolog 1.2.3
File Size Uploaded
notolog-1.2.3.tar.gz 6.0 MB Details

Built distribution (wheel)

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

Total release size: 7.3 MB

Release files / notolog-1.2.3.tar.gz

Download URL notolog-1.2.3.tar.gz
Size 6.0 MB
Tags Source
SHA-256 checksum
How to use checksums
f33258d65e17af39dbb4754339f38c5b230f98d14a8b35a9f42c4d4cd6e3799c
BLAKE2b-256 checksum
How to use checksums
8ce7575ddb44a6436005a92929d6db43514e0d7fd1ebd448c500554a4ae613ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release files / notolog-1.2.3-py3-none-any.whl

Download URL notolog-1.2.3-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
6380e8c1c4ca07ee3e8faa5727bb978ee7d6cd98afce9bccc2a9fecac9310e9c
BLAKE2b-256 checksum
How to use checksums
a421e4c475edf4a2ebf5bc1096a4a67ae2e2b346071fc4a7ed657e197f7f5305
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

1.2.3 This release

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

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