A UI-compatible clone of AtariWriter, built with Textual
Reason this release was yanked:
Broken on Windows 3.14
Project description
safari_writer
A retro word processor plus a family of keyboard-first companion tools.
Main goals
- Better notepad
- Can post to Mastodon with spellcheck
- Can be used to read long documents
- Supports feature set of AtariWriter and adjacent applications, including database, image viewer, file browser
- 1980 Retro UI, Retro scripting languages
- Modern features, modern keybindings
Installation
pipx install safari-writer
Usage
You can run the main editor or the companion tools directly:
safari-writer
safari-dos browse C:\work --show-hidden --sort date --descending
safari-dos ls C:\work --sort type
safari-chat
safari-chat docs\index.md
safari-fed --folder Mentions
safari-base address_book.db
safari-reader --library C:\books
safari-repl demo.bas
safari-slides docs\safari_suite_tools.slides.md
safari-view open images\frog.png --mode st --no-dithering
safari-view render images\frog.png --mode 2600 --width 160 --height 192 --output out\frog-2600.png
Most people start with safari-writer and open the other tools from the Main Menu.
Features
- Safari Writer: The core word processor.
- Keybindings mostly modern, but somewhat influenced by original Atari.
- Search and replace, word count, and alphabetize.
- Style codes/printer codes for formatting.
- Print/export to markdown, ANSI preview, postscript, or PDF.
- Proofreader: A built-in spell checker.
- Mailmerge: Database-driven form letters with a dedicated record editor.
- Safari DOS: A menu-driven way to do file browsing and manipulation, featuring a classic two-pane layout and a "Garbage" bin for file recovery.
- Safari Chat: A "Clippy" style helper based on ELIZA. It answers your questions using the help docs and offers emotional support—no LLMs involved.
- Safari Base: A dBASE-style shell for browsing and updating SQLite-backed address-book style data.
- Safari Fed: A calm, keyboard-driven Mastodon client styled after Pine and retro BBS readers. Queue-based reading, folder metaphors, thread view, and a direct handoff to Safari Writer.
- Safari Reader: A keyboard-first library, catalog, and long-form reading app.
- Safari REPL: A small Atari BASIC REPL and
.BASfile runner with Writer handoff for loaded files. - Safari Slides: A SlideMD presentation viewer with notes and fragment support.
- Safari View: A retro image viewer and renderer with Textual, Tk, and batch render entry points.
- Safari BASIC: The shared Atari BASIC-compatible macro engine used by Safari Writer and Safari Fed.
Current Limitations
- Doesn't support original binary AtariWriter files
- Keybindings still evolving.
Trademarks and stuff
I have no relationship to Atari. This is Safari Writer and has no relationship to Atari.
License is MIT.
Dual licensed with a Shareware license. Dual meaning, you pick which of the two you want to govern our relationship.
Languages / Internationalization
Safari Writer automatically uses your operating system's locale. If you want to run the app in a different language, set the SAFARI_LOCALE environment variable before launching.
| Code | Language |
|---|---|
en |
English |
eo |
Esperanto |
es |
Spanish |
fr |
French |
is |
Icelandic |
ru |
Russian |
Linux / macOS:
SAFARI_LOCALE=eo safari-writer
Windows (PowerShell):
$env:SAFARI_LOCALE="eo"; safari-writer
Windows (Command Prompt):
set SAFARI_LOCALE=eo && safari-writer
You can use a bare language code (eo) or a full IETF tag (eo_EO). If no catalog exists for the full tag, the bare code is tried automatically. If neither is found, the app falls back to English.
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 safari_writer-0.1.4.tar.gz.
File metadata
- Download URL: safari_writer-0.1.4.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebbaa889e3b2c42d86beb340642f353827227eba03ebf42cdf23c9b4817e79a3
|
|
| MD5 |
4c6d11f09fe748f5c985cde84a7263fa
|
|
| BLAKE2b-256 |
3eaf8b05b5e29c4ea767922d1b43f6e3db8105ac5d9dc404425aa59e83a105c1
|
Provenance
The following attestation bundles were made for safari_writer-0.1.4.tar.gz:
Publisher:
publish.yml on matthewdeanmartin/safari_writer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
safari_writer-0.1.4.tar.gz -
Subject digest:
ebbaa889e3b2c42d86beb340642f353827227eba03ebf42cdf23c9b4817e79a3 - Sigstore transparency entry: 1102430024
- Sigstore integration time:
-
Permalink:
matthewdeanmartin/safari_writer@d1b0e1657812a72a3aef0779c42069018141b73f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/matthewdeanmartin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d1b0e1657812a72a3aef0779c42069018141b73f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file safari_writer-0.1.4-py3-none-any.whl.
File metadata
- Download URL: safari_writer-0.1.4-py3-none-any.whl
- Upload date:
- Size: 742.7 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 |
08d039f0a625c41559447bf8a109a59eac6d390bce06adac18cc32e0c90b19e5
|
|
| MD5 |
b49e9ddb50ed5b888bfc51439daf53c4
|
|
| BLAKE2b-256 |
94073aa013a0790ac770f79713e8565034cdb7ab62fbed9b8624fd2fe9702ff7
|
Provenance
The following attestation bundles were made for safari_writer-0.1.4-py3-none-any.whl:
Publisher:
publish.yml on matthewdeanmartin/safari_writer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
safari_writer-0.1.4-py3-none-any.whl -
Subject digest:
08d039f0a625c41559447bf8a109a59eac6d390bce06adac18cc32e0c90b19e5 - Sigstore transparency entry: 1102430137
- Sigstore integration time:
-
Permalink:
matthewdeanmartin/safari_writer@d1b0e1657812a72a3aef0779c42069018141b73f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/matthewdeanmartin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d1b0e1657812a72a3aef0779c42069018141b73f -
Trigger Event:
workflow_dispatch
-
Statement type: