No project description provided
Project description
Palmoni
A developer productivity tool that delivers instant code snippets and text expansions anywhere you type. Built with DuckDB for lightning-fast performance and powered by a curated snippet database.
Why Palmoni?
Stop context-switching to look up syntax. Type py::class and instantly get a Python class template. Type git::cm and get git commit -m. Works everywhere - terminal, browser, IDE, anywhere you type.
Performance-first architecture: DuckDB backend loads all snippets into memory at startup for O(1) expansion times. No file I/O during text expansion means zero latency.
Installation
pip install palmoni
Quick Start
# Initialize configuration
palmoni config --init
# List available snippets
palmoni list
# Start the text expander (runs in background)
palmoni start
Now type any trigger followed by a space, tab, or enter:
pip::r→pip install -r requirements.txtpy::main→ Complete Python main functiongit::st→git status::ty→Thank you
Features
- 40+ Built-in Snippets - Python, Git, SQL, Docker, communication shortcuts
- Works Everywhere - Terminal, browser, any text field
- Zero Configuration - Ships with curated snippet database
- Smart Expansion - Triggers on word boundaries (space, tab, enter)
- Cross-platform - macOS, Linux, Windows support
Architecture
Palmoni uses DuckDB to store and manage snippets efficiently:
- Startup: All snippets loaded from database into memory hash table
- Runtime: O(1) snippet lookups with no database queries during expansion
- Database: Read-only DuckDB file ships with the package
- Memory: Optimized for thousands of snippets without performance degradation
Snippet Categories
Python & Development
py::main- Main function templatepy::class- Class templatepip::r- Install requirementsdoc::run- Docker run command
Git Shortcuts
git::st- Statusgit::add- Add all filesgit::cm- Commit with message
Communication
::ty- Thank you::lmk- Let me knowemail::meeting- Meeting follow-up template
And many more... Run palmoni list to see all snippets.
Usage
Initialize Configuration
palmoni config --init
Sets up configuration directory and verifies database access.
Start the Expander
palmoni start
Runs in the background, listening for snippet triggers. Loads all snippets into memory for instant access.
List All Snippets
palmoni list
Shows all available snippets and their expansions from the DuckDB database.
Show Configuration
palmoni config --show
Displays current configuration including database path and performance settings.
Stop the Expander
Press Ctrl+C in the terminal where it's running.
How It Works
- Database Loading: At startup, all snippets are loaded from DuckDB into a memory hash table
- Keystroke Monitoring: Background process monitors all keystrokes across applications
- Pattern Matching: When you type a trigger (like
pip::r), it's recognized instantly - Smart Expansion: On word boundary (space, tab, enter), trigger is replaced with expansion
- Zero Latency: All lookups happen in memory - no file or database I/O during expansion
Performance
- Startup time: <100ms to load entire snippet database thanks to DuckDB's efficient columnar storage
- Expansion time: <1ms lookup and replacement
- Memory usage: ~10MB for thousands of snippets
- Scalability: Tested with 10,000+ snippets without performance impact
Requirements
- Python 3.11+
- DuckDB (automatically installed)
- Works on macOS, Linux, Windows
Database Technology
Palmoni leverages DuckDB for optimal performance:
- Fast startup: Columnar storage enables rapid full-table scans
- Memory efficiency: Only active data loaded into Python memory
- Reliability: ACID transactions prevent data corruption
- Portability: Single file database ships with package
Coming Soon
- Custom snippet management via CLI
- Team snippet sharing capabilities
- Premium snippet packs for specialized domains
- Performance analytics and usage tracking
- More programming languages and frameworks
License
MIT License - see LICENSE file for details.
Support
Having issues? Open an issue or email daniel@developyr.com
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 palmoni-0.1.3.tar.gz.
File metadata
- Download URL: palmoni-0.1.3.tar.gz
- Upload date:
- Size: 35.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3252beee5aad7a52123c8959f2150d578d2dfbc58dfb6d8dfa39b0cd1c6cc025
|
|
| MD5 |
aa008c26d8e3bd3d305fdeb38605d9db
|
|
| BLAKE2b-256 |
84c9d43285013a01434158c738ccc4437f4e2babb48bdd405a913d93774d38db
|
Provenance
The following attestation bundles were made for palmoni-0.1.3.tar.gz:
Publisher:
publish.yml on developyrs/palmoni
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
palmoni-0.1.3.tar.gz -
Subject digest:
3252beee5aad7a52123c8959f2150d578d2dfbc58dfb6d8dfa39b0cd1c6cc025 - Sigstore transparency entry: 445326544
- Sigstore integration time:
-
Permalink:
developyrs/palmoni@f2146b121c5d30f84e8f99b8a403a5b19c4616ca -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/developyrs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f2146b121c5d30f84e8f99b8a403a5b19c4616ca -
Trigger Event:
release
-
Statement type:
File details
Details for the file palmoni-0.1.3-py3-none-any.whl.
File metadata
- Download URL: palmoni-0.1.3-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afc49f3067ebe139198cc26ef20f886857d84a625e3e8dfca6999a84e234a235
|
|
| MD5 |
e735e78d8385243b5fe9d8f0ba163034
|
|
| BLAKE2b-256 |
47bb9e37852fb50fc0b12c16258ede523f06721ab0fbfce1d56bebc859164ca9
|
Provenance
The following attestation bundles were made for palmoni-0.1.3-py3-none-any.whl:
Publisher:
publish.yml on developyrs/palmoni
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
palmoni-0.1.3-py3-none-any.whl -
Subject digest:
afc49f3067ebe139198cc26ef20f886857d84a625e3e8dfca6999a84e234a235 - Sigstore transparency entry: 445326582
- Sigstore integration time:
-
Permalink:
developyrs/palmoni@f2146b121c5d30f84e8f99b8a403a5b19c4616ca -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/developyrs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f2146b121c5d30f84e8f99b8a403a5b19c4616ca -
Trigger Event:
release
-
Statement type: