Skip to main content

Terminal-only cross-platform text expander with global shortcut expansion.

Project description

Terminal Text Expander

A terminal-only, local-first text expander for macOS, Windows, and Linux.

Define snippets from the command line, run the daemon in the background, and type triggers anywhere on your system. When a trigger is followed by Space, Enter, or Tab, it is replaced with the saved text.

pipx install text-expander
text-expander install
text-expander add

Example:

;l<space>

expands to:

https://linkedin.com/in/yourprofile

Install

Recommended:

pipx install text-expander
text-expander install

With pip:

python -m pip install text-expander
text-expander install

From this repository:

python3 -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip setuptools wheel
pip install -e .

On Linux, global keyboard capture may require additional system permissions depending on your desktop session. On macOS, grant Accessibility permissions to the terminal app that starts the daemon.

Commands

text-expander add
text-expander list
text-expander edit ;l
text-expander delete ;l
text-expander search linkedin
text-expander install
text-expander uninstall
text-expander start
text-expander stop
text-expander status
text-expander doctor
text-expander run
text-expander startup install
text-expander startup uninstall
text-expander export snippets.json
text-expander import snippets.json
text-expander backup

Storage

Snippets and runtime files are stored locally:

  • macOS: ~/Library/Application Support/text-expander
  • Windows: %APPDATA%\text-expander
  • Linux: ~/.config/text-expander

Set TEXT_EXPANDER_HOME=/path/to/dir to use a custom data directory.

No cloud services are used.

Notes

  • Expansions are suppressed while the app is simulating replacement text to prevent recursive triggering.
  • The daemon uses clipboard paste as the primary expansion path because it is faster and more reliable for long replacements. It restores the previous clipboard contents when possible.
  • Startup registration uses LaunchAgents on macOS, the user Startup folder on Windows, and systemd user services on Linux.
  • pip install only installs the CLI. Run text-expander install explicitly to register and start the background daemon.

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

text_expander-0.1.0.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

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

text_expander-0.1.0-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file text_expander-0.1.0.tar.gz.

File metadata

  • Download URL: text_expander-0.1.0.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for text_expander-0.1.0.tar.gz
Algorithm Hash digest
SHA256 01ee866e6896ddb3c979404061bf4ce87e5f227c4789d0e7037f41394712a8ab
MD5 2f13a2eeb0c6f65f555a0584467eee84
BLAKE2b-256 37f8fc12f518346d6ce61ddc5ca9ad3004075c5d194f4d5f2495dfb63be91180

See more details on using hashes here.

Provenance

The following attestation bundles were made for text_expander-0.1.0.tar.gz:

Publisher: publish.yml on MadhuSaini22/text-expander

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file text_expander-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: text_expander-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for text_expander-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7a33b25980745c44e4fca600e92779a0335946c7f613a54cd262c15aa9c6fca1
MD5 4a944ff9c1862b0522a8fe072fed1f86
BLAKE2b-256 3cfb15e39733375bfb0317d3a750bfc52512dc5fd2ca8b32ae0d27fbfd348e9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for text_expander-0.1.0-py3-none-any.whl:

Publisher: publish.yml on MadhuSaini22/text-expander

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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