halig


Namehalig JSON
Version 0.6.1 PyPI version JSON
download
home_pageNone
Summaryage-encrypted, file-based, note-taking CLI app
upload_time2024-09-10 20:54:46
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseGPL-3.0-or-later
keywords cli notes age rage encryption notebook
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # halig

[![Build status](https://git.roboces.dev/catalin/halig/badges/workflows/ci.yaml/badge.svg)](https://git.roboces.dev/catalin/halig/actions)
![PyPI](https://img.shields.io/pypi/v/halig?logo=python)
![PyPI - License](https://img.shields.io/pypi/l/halig)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/halig)
[![pdm-managed](https://img.shields.io/badge/pdm-managed-blueviolet)](https://pdm.fming.dev)

[(R)age](https://github.com/woodruffw/pyrage) encrypted note-taking CLI app.

`halig` opens, using your favorite `$EDITOR`, an in-memory copy of a file and upon save-and-exit,
it encrypts the new contents into an [age](https://github.com/FiloSottile/age) file that
you can store, _relatively_ safe, anywhere.

## Features

- Simple notebooks management with paths autocompletion
- Passphrase-less, fully-encrypted notes, compatible with existing SSH keys
- No external `age` binary needed
- Almost all `age` advantages, like having multiple keys for encryption and decryption
- Remote (HTTP) public keys import: e.g: github.com/\<username\>.keys

## Install

```shell
pipx install halig # or pip
```

## Setup TLDR

```shell
set -e
ssh-keygen -t ed25519
mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/halig"
cat << EOF > "${XDG_CONFIG_HOME:-$HOME/.config}/halig/halig.yml"
---
notebooks_root_path: ~/Documents/Notebooks
identity_paths:
  - ~/.ssh/id_ed25519
recipient_paths:
  - ~/.ssh/id_ed25519.pub
  - https://github.com/<username>.keys
  - https://gitlab.com/<username>.keys
EOF
```

## Usage TLDR

```shell
halig edit some_notebook     # edit today's note relative to <notebooks_root_path>/some_notebook
halig edit some_notebook/foo # edit  <notebooks_root_path>/some_notebook/foo.age
halig notebooks              # list current notebooks
halig git commit
halig git push
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "halig",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "cli, notes, age, rage, encryption, notebook",
    "author": null,
    "author_email": "=?utf-8?b?Y8SDdMSDbGlu?= <185504a9@duck.com>",
    "download_url": "https://files.pythonhosted.org/packages/e0/e3/2416cecd14b440f75436cd48fa4d357729eeae0cb9dce398a6371e281cea/halig-0.6.1.tar.gz",
    "platform": null,
    "description": "# halig\n\n[![Build status](https://git.roboces.dev/catalin/halig/badges/workflows/ci.yaml/badge.svg)](https://git.roboces.dev/catalin/halig/actions)\n![PyPI](https://img.shields.io/pypi/v/halig?logo=python)\n![PyPI - License](https://img.shields.io/pypi/l/halig)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/halig)\n[![pdm-managed](https://img.shields.io/badge/pdm-managed-blueviolet)](https://pdm.fming.dev)\n\n[(R)age](https://github.com/woodruffw/pyrage) encrypted note-taking CLI app.\n\n`halig` opens, using your favorite `$EDITOR`, an in-memory copy of a file and upon save-and-exit,\nit encrypts the new contents into an [age](https://github.com/FiloSottile/age) file that\nyou can store, _relatively_ safe, anywhere.\n\n## Features\n\n- Simple notebooks management with paths autocompletion\n- Passphrase-less, fully-encrypted notes, compatible with existing SSH keys\n- No external `age` binary needed\n- Almost all `age` advantages, like having multiple keys for encryption and decryption\n- Remote (HTTP) public keys import: e.g: github.com/\\<username\\>.keys\n\n## Install\n\n```shell\npipx install halig # or pip\n```\n\n## Setup TLDR\n\n```shell\nset -e\nssh-keygen -t ed25519\nmkdir -p \"${XDG_CONFIG_HOME:-$HOME/.config}/halig\"\ncat << EOF > \"${XDG_CONFIG_HOME:-$HOME/.config}/halig/halig.yml\"\n---\nnotebooks_root_path: ~/Documents/Notebooks\nidentity_paths:\n  - ~/.ssh/id_ed25519\nrecipient_paths:\n  - ~/.ssh/id_ed25519.pub\n  - https://github.com/<username>.keys\n  - https://gitlab.com/<username>.keys\nEOF\n```\n\n## Usage TLDR\n\n```shell\nhalig edit some_notebook     # edit today's note relative to <notebooks_root_path>/some_notebook\nhalig edit some_notebook/foo # edit  <notebooks_root_path>/some_notebook/foo.age\nhalig notebooks              # list current notebooks\nhalig git commit\nhalig git push\n```\n",
    "bugtrack_url": null,
    "license": "GPL-3.0-or-later",
    "summary": "age-encrypted, file-based, note-taking CLI app",
    "version": "0.6.1",
    "project_urls": {
        "Changelog": "https://git.roboces.dev/catalin/halig",
        "Documentation": "https://git.roboces.dev/catalin/halig",
        "Homepage": "https://git.roboces.dev/catalin/halig",
        "Repository": "https://git.roboces.dev/catalin/halig"
    },
    "split_keywords": [
        "cli",
        " notes",
        " age",
        " rage",
        " encryption",
        " notebook"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5b5cf90b8b90f05b5001131bb24a1031bcebf81d7ef5031706437cfe9619607b",
                "md5": "09b76187a35a99a23296c0aa36fa23ed",
                "sha256": "07f2660fa8c62489bf03b5eec0d2142978c79342f8848c8a1c33ab5907395437"
            },
            "downloads": -1,
            "filename": "halig-0.6.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "09b76187a35a99a23296c0aa36fa23ed",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 28739,
            "upload_time": "2024-09-10T20:54:44",
            "upload_time_iso_8601": "2024-09-10T20:54:44.537409Z",
            "url": "https://files.pythonhosted.org/packages/5b/5c/f90b8b90f05b5001131bb24a1031bcebf81d7ef5031706437cfe9619607b/halig-0.6.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e0e32416cecd14b440f75436cd48fa4d357729eeae0cb9dce398a6371e281cea",
                "md5": "f7d44b3e1013a382d9a2c27e6d99b16f",
                "sha256": "dba1071fc1e74b88a4ab8a7aa6cced8679eae75dd47ec56b2f36a6abcc54b403"
            },
            "downloads": -1,
            "filename": "halig-0.6.1.tar.gz",
            "has_sig": false,
            "md5_digest": "f7d44b3e1013a382d9a2c27e6d99b16f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 29663,
            "upload_time": "2024-09-10T20:54:46",
            "upload_time_iso_8601": "2024-09-10T20:54:46.058401Z",
            "url": "https://files.pythonhosted.org/packages/e0/e3/2416cecd14b440f75436cd48fa4d357729eeae0cb9dce398a6371e281cea/halig-0.6.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-10 20:54:46",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "halig"
}
        
Elapsed time: 0.80499s