Skip to main content

pyzet

Tests

"I, of course, do not think everything by myself. It happens mainly within the Zettelkasten".

pyzet is a CLI tool targeted at note-taking and personal knowledge management loosely inspired by the Zettelkasten approach, hence the name. The whole workflow is centered around Git repos where notes are stored.

Installation

Prerequisites:

  • Python 3.10+
  • Git 2.25+ (but older also should be fine)

Unix and Windows are supported. You can install pyzet with pip:

pip install pyzet

Tutorial

For the quick setup for the either platform (make sure to create missing folders):

pyzet sample-config unix > ~/.config/pyzet/pyzet.yaml
pyzet sample-config windows | Set-Content ~/.config/pyzet/pyzet.yaml

Run pyzet init to create Git repo.

You can read the more detailed tutorial in docs.

Shell completion

pyzet supports tab completion. To enable it in your shell, add the following to your .bashrc, .zshrc, or equivalent shell configuration file:

eval "$(register-python-argcomplete pyzet)"

Configuration

A config file should be placed inside ~/.config/pyzet/pyzet.yaml, and looks like this:

repo: ~/zet
editor: /usr/bin/vim
editor_args: []
  • repo: the location of the ZK Git repo

  • editor: use it to overwrite the default editor (by default we refer to EDITOR and VISUAL env variables)

  • editor_args (default: empty): optional list of CLI arguments which should be passed to the editor

Support for multiple ZK repos

You can have multiple repos, and only a single config file, because there is --repo flag that you can always set to point to a custom repo (and possibly, create an alias that includes it). If --repo flag is used, the value from YAML is ignored.

Supported editors

See docs.

Writing parsable zettels

See docs.

Development

Prerequisites:

  • uv installed and on PATH
  • just installed and on PATH

Installation and testing

Development dependencies are stored in requirements-dev.txt. tox is used to specify test envs and how to install dependencies.

To install package in the editable mode with dev deps:

just venv

To run pre-commit checks:

just pre-commit

To run tests against all supported Python versions:

just test

To measure code coverage:

just coverage

To run all the above tests & checks:

just all

Building and releasing

To build a new version and verify it with twine:

just build

To run all checks, build the package, and release it

just release

Inspiration and further reading

@rwxrob inspired me to write a stand-alone tool for note taking rather than use a ready solution. He posted a good summary in this video.

See also:

Metadata

Release files for pyzet 0.14.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyzet 0.14.0
File Size Uploaded
pyzet-0.14.0.tar.gz 22.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyzet 0.14.0
File Interpreter ABI Platform
pyzet-0.14.0-py3-none-any.whl Python 3 none any Details

Total release size: 47.6 kB

Release files / pyzet-0.14.0.tar.gz

Download URL pyzet-0.14.0.tar.gz
Size 22.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b9dae050bd441a4e216fd404a6735acbf04ab1a9786d8ba44fc8376907b586a2
BLAKE2b-256 checksum
How to use checksums
68192f09d12b6d225d2a312dcc8f2914002edb0b4f585a71b32c8406370dad79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release files / pyzet-0.14.0-py3-none-any.whl

Download URL pyzet-0.14.0-py3-none-any.whl
Size 24.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
98924610a81425d45cf8224a747c11902e3142eeced5ec40e38322f60b104070
BLAKE2b-256 checksum
How to use checksums
b106a644a4293374fc0bc8b40804ebfed3dfbdc7e8915442172bde211938343c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release history Release notifications | RSS feed

This release

0.14.0 This release

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page