Personal note-taking system with structured storage and optional encryption.
2026-04-18 00:01:46 +03:00
debian hisa: v0.6.0 2026-04-17 23:59:02 +03:00
hisa hisa: v0.6.0 2026-04-17 23:59:02 +03:00
hisa-ashell release 0.5.0 2026-04-17 04:43:06 +03:00
man hisa: v0.6.0 2026-04-17 23:59:02 +03:00
.gitignore hisa: v0.6.0 2026-04-17 23:59:02 +03:00
LICENSE Initial Commit 2026-04-13 19:38:45 +03:00
pyproject.toml hisa: v0.6.0 2026-04-17 23:59:02 +03:00
README.md hisa: v0.6.0 2026-04-17 23:59:02 +03:00

hisa

License

Personal note-taking system with structured storage and optional encryption.


Model

One note per day:


YYYY/MM/YYYY-MM-DD.dn

Properties:

  • plain UTF-8 text
  • filesystem is the index
  • no database, no hidden state
  • atomic writes

Encrypted note:


YYYY/MM/YYYY-MM-DD.dn.gpg

via the GNU Privacy Guard.


Scope

Fits:

  • terminal-based workflows
  • grep-based retrieval
  • long-lived plain text notes
  • optional encryption

Not a fit:

  • sync system
  • GUI / rich text editor
  • query engine or database

Variants

hisa

  • system gpg
  • no dependencies
  • Unix-like systems

hisa_ashell

  • iOS a-Shell mini
  • PGPy (pure Python)
  • no external binaries
  • .asc key handling (no keyring)
  • compatible encrypted format

Install

Debian

cd ~/Downloads && \
curl -L -o hisa-latest.deb https://codeberg.org/duras/hisa/releases/download/v0.6.0/hisa_0.6.0_all.deb && \
sudo dpkg -i hisa-latest.deb

Python

curl -L -o hisa.tar.gz https://codeberg.org/duras/hisa/archive/main.tar.gz && \
tar -xzf hisa.tar.gz && \
cd hisa-main && \
pip install .

Usage

hisa
hisa append "note"
hisa search term

Commands

open

hisa open
hisa open -1
hisa open 2026-04-17
hisa open -- +7

append

hisa append "text"
hisa append -d -1 "yesterday"
cat file | hisa append -

- = stdin


Encryption

hisa -c open
hisa -c append "secret"
hisa -c show

Notes:

  • uses system gpg
  • append is memory-only
  • editor uses temp file

Search / tags

hisa search error
hisa search todo -i
hisa tags
  • literal match (not regex)
  • encrypted notes excluded

Listing

hisa list
hisa list -n 0
hisa stats

Order: filename (date), not mtime.


Export

hisa export ~/backup
hisa export ~/backup --encrypt

Creates archive; optional encryption avoids plaintext export.


Dates

YYYY-MM-DD  absolute
0           today
-1          yesterday
+7          future

Future dates are rejected.


Environment

var meaning
HISA_DIR notes dir (default: ~/Documents/Notes)
EDITOR editor fallback: nano / vi / ed
HISA_GPG_KEY encryption recipient

Behavior

  • one file per day
  • plain + encrypted may coexist
  • atomic writes
  • no index layer

Exit codes

code meaning
0 ok
1 error
2 not found
3 invalid input
4 external failure

Limits

  • encrypted notes not searchable
  • depends on gpg

Docs


License

ISC