pyzet


Namepyzet JSON
Version 0.10.0 PyPI version JSON
download
home_pagehttps://github.com/tpwo/pyzet
SummarySimple note-taking with CLI & Git integration.
upload_time2024-01-16 23:13:38
maintainer
docs_urlNone
authorTomasz Wojdat
requires_python>=3.8
licenseApache-2.0
keywords cli git markdown notes zettelkasten
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pyzet

[![Tests](https://github.com/tpwo/pyzet/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/tpwo/pyzet/actions/workflows/tests.yml)

> "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.8+
* 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](https://github.com/tpwo/pyzet/blob/main/docs/tutorial.md).

## Configuration

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

```yaml
repo: ~/zet
editor: /usr/bin/vim
editor_args: []
```

* `repo`: the location of the ZK Git repo

* `editor` (default: `/usr/bin/vim`): path to the editor used to add and
  edit zettels

* `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](https://github.com/tpwo/pyzet/blob/main/docs/supported-editors.md).

## Writing parsable zettels

See [docs](https://github.com/tpwo/pyzet/blob/main/docs/zettel-formatting.md).

## Development installation

Development dependencies are stored in `requirements-dev.txt`. To
install the package in editable mode with the dev dependencies run the
following after cloning the repo:

    pip install -e .
    pip install -r requirements-dev.txt

For running tests more easily, you might also want to install `tox`:

    pip install tox

Then you can easily run:

    tox -e coverage    # pytest with test coverage
    tox -e pre-commit  # run pre-commit checks on all files

## Building

    tox                  # runs all tox envs making sure tests pass
    pyproject-build      # builds both the wheel and source dist
    twine check dist/*   # checks if the build isn't completely broken
    twine upload dist/*  # asks for username and password

It's best to use token (`__token__` as username) for the last command.

## Inspiration and further reading

[`@rwxrob`](https://github.com/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](https://youtu.be/26X2onaKGc0).

See also:

* Two essays by the creator of Zettelkasten, Niklas Luhmann\
  <https://luhmann.surge.sh/>

* Even simpler approach to Zettelkasten\
  <https://gsilvapt.me/posts/poor-man-zettel/>

* *Simple, Non-Commercial, Open Source Notes*, a great video about tools
  to do note-taking\
  <https://youtu.be/XRpHIa-2XCE>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/tpwo/pyzet",
    "name": "pyzet",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "cli,git,markdown,notes,zettelkasten",
    "author": "Tomasz Wojdat",
    "author_email": "tpwojdat@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ae/3d/ef9517e080b16fd3088b51e00b3f24ba9b896f99539a3bbdfb230659f8df/pyzet-0.10.0.tar.gz",
    "platform": null,
    "description": "# pyzet\n\n[![Tests](https://github.com/tpwo/pyzet/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/tpwo/pyzet/actions/workflows/tests.yml)\n\n> \"I, of course, do not think everything by myself. It happens mainly\n> within the Zettelkasten\".\n\n`pyzet` is a CLI tool targeted at note-taking and personal knowledge\nmanagement loosely inspired by the Zettelkasten approach, hence the\nname. The whole workflow is centered around Git repos where notes are\nstored.\n\n## Installation\n\nPrerequisites:\n\n* Python 3.8+\n* Git 2.25+ (but older also should be fine)\n\nUnix and Windows are supported. You can install pyzet with pip:\n\n    pip install pyzet\n\n## Tutorial\n\nFor the quick setup for the either platform (make sure to create missing\nfolders):\n\n    pyzet sample-config unix > ~/.config/pyzet/pyzet.yaml\n    pyzet sample-config windows | Set-Content ~/.config/pyzet/pyzet.yaml\n\nRun `pyzet init` to create Git repo.\n\nYou can read the more detailed tutorial in\n[docs](https://github.com/tpwo/pyzet/blob/main/docs/tutorial.md).\n\n## Configuration\n\nA config file should be placed inside `~/.config/pyzet/pyzet.yaml`, and\nlooks like this:\n\n```yaml\nrepo: ~/zet\neditor: /usr/bin/vim\neditor_args: []\n```\n\n* `repo`: the location of the ZK Git repo\n\n* `editor` (default: `/usr/bin/vim`): path to the editor used to add and\n  edit zettels\n\n* `editor_args` (default: empty): optional list of CLI arguments which\n  should be passed to the editor\n\n### Support for multiple ZK repos\n\nYou can have multiple repos, and only a single config file, because\nthere is `--repo` flag that you can always set to point to a custom repo\n(and possibly, create an alias that includes it). If `--repo` flag is\nused, the value from YAML is ignored.\n\n## Supported editors\n\nSee [docs](https://github.com/tpwo/pyzet/blob/main/docs/supported-editors.md).\n\n## Writing parsable zettels\n\nSee [docs](https://github.com/tpwo/pyzet/blob/main/docs/zettel-formatting.md).\n\n## Development installation\n\nDevelopment dependencies are stored in `requirements-dev.txt`. To\ninstall the package in editable mode with the dev dependencies run the\nfollowing after cloning the repo:\n\n    pip install -e .\n    pip install -r requirements-dev.txt\n\nFor running tests more easily, you might also want to install `tox`:\n\n    pip install tox\n\nThen you can easily run:\n\n    tox -e coverage    # pytest with test coverage\n    tox -e pre-commit  # run pre-commit checks on all files\n\n## Building\n\n    tox                  # runs all tox envs making sure tests pass\n    pyproject-build      # builds both the wheel and source dist\n    twine check dist/*   # checks if the build isn't completely broken\n    twine upload dist/*  # asks for username and password\n\nIt's best to use token (`__token__` as username) for the last command.\n\n## Inspiration and further reading\n\n[`@rwxrob`](https://github.com/rwxrob) inspired me to write a\nstand-alone tool for note taking rather than use a ready solution. He\nposted a good summary in [this video](https://youtu.be/26X2onaKGc0).\n\nSee also:\n\n* Two essays by the creator of Zettelkasten, Niklas Luhmann\\\n  <https://luhmann.surge.sh/>\n\n* Even simpler approach to Zettelkasten\\\n  <https://gsilvapt.me/posts/poor-man-zettel/>\n\n* *Simple, Non-Commercial, Open Source Notes*, a great video about tools\n  to do note-taking\\\n  <https://youtu.be/XRpHIa-2XCE>\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Simple note-taking with CLI & Git integration.",
    "version": "0.10.0",
    "project_urls": {
        "Homepage": "https://github.com/tpwo/pyzet"
    },
    "split_keywords": [
        "cli",
        "git",
        "markdown",
        "notes",
        "zettelkasten"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9bec310c6f1b73b80bad5e090a911b63f021db103e48985883d94557ed27c8c1",
                "md5": "217591212ebface2bc178335a24fc0de",
                "sha256": "35021c108188bbf3e9e8515a5159fed9b32e9a84a7c198505eff647eba33f1f5"
            },
            "downloads": -1,
            "filename": "pyzet-0.10.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "217591212ebface2bc178335a24fc0de",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 22686,
            "upload_time": "2024-01-16T23:13:36",
            "upload_time_iso_8601": "2024-01-16T23:13:36.607973Z",
            "url": "https://files.pythonhosted.org/packages/9b/ec/310c6f1b73b80bad5e090a911b63f021db103e48985883d94557ed27c8c1/pyzet-0.10.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ae3def9517e080b16fd3088b51e00b3f24ba9b896f99539a3bbdfb230659f8df",
                "md5": "4e1444af15b99b8ad58bb0d06167128d",
                "sha256": "5da50d2d0d04f2330d0cc9c7c7e9038f52e4e343bf2c922d756af9b01403d31a"
            },
            "downloads": -1,
            "filename": "pyzet-0.10.0.tar.gz",
            "has_sig": false,
            "md5_digest": "4e1444af15b99b8ad58bb0d06167128d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 20206,
            "upload_time": "2024-01-16T23:13:38",
            "upload_time_iso_8601": "2024-01-16T23:13:38.457914Z",
            "url": "https://files.pythonhosted.org/packages/ae/3d/ef9517e080b16fd3088b51e00b3f24ba9b896f99539a3bbdfb230659f8df/pyzet-0.10.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-16 23:13:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "tpwo",
    "github_project": "pyzet",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "pyzet"
}
        
Elapsed time: 3.76281s