Skip to content

Installing the Tools

George K. Thiruvathukal edited this page May 2, 2021 · 8 revisions

Installation

ZettelGeist is a Python application and library. It can be installed from PyPI. But we encourage anyone with a bit of Python savviness to consider installing from source. We're in an active development period. A major release is planned for early summer 2021.

Prerequisites for All Installations

We support Unix/Linux platforms only. This includes, but is not limited to:

We require Python 3. We do not support Python 2 and have no plans to do so. (Sorry.)

We encourage--and assume in this page--that you use a virtual environment for installing anything Python related. Owing to the variety of platforms we support, we generally avoid package managers. This allows you to avoid using root (administrative) privileges, except to set up key dependencies. In most cases, you'll never need root permission.

You must therefore have Python venv support enabled. See Creation of virtual environmetns.

For ZettelGeist to fulfill its mission, you must have sqlite3 with full-text search. Most built-in versions of sqlite3 have this in our testing, including the version distributed with OS X Homebrew.

Please note that ZettelGeist is a command line application built for people who prefer working with the command line, plaintext, and text editors. If this is not you, you will probably not like ZettelGeist. Although we are building web and desktop versions, the command-line tool will always be with us, because we do almost all of our writing in plaintext.

Installation for General Users

  1. Create a virtual environment for running ZettelGeist:

    $ python3 -m venv ~/zenv

    You may install your environment wherever you like. We will assume ~/zenv.

  2. Source the virtual environment

    $ . ~/zenv/bin/activate

    The prompt will now be prefixed by (zenv), the environment created in (1). The command deactivate returns you to the system environment.

  3. Confirm that you are picking up the right python and pip.

    (zenv) $ which pip
    /path/to/zenv/bin/pip
    (zenv) $ which python
    /path/to/zenv/bin/python

    In place of path/to/ you should see the absolute path to the environment created in (1).

  4. Install ZettelGeist

    (zenv) $ pip install zettelgeist
    Collecting zettelgeist
      Downloading zettelgeist-0.12.2-py3-none-any.whl
    Collecting tatsu (from zettelgeist)
      Using cached TatSu-4.2.5-py2.py3-none-any.whl
    Collecting PyYAML (from zettelgeist)
    Installing collected packages: tatsu, PyYAML, zettelgeist
    Successfully installed PyYAML-3.12 tatsu-4.2.5 zettelgeist-0.12.2

    If you see zettelgeist-<version> in the output, you should have a successful install.

  5. Verify the installation

    (zenv) $ which zcreate
    /path/to/zenv/bin/zcreate
    (zenv) $ which zimport
    /path/to/zenv/bin/zimport
    (zenv) $ which zfind
    /path/to/zenv/bin/zfind
    (zenv) $ which zfilter
    /path/to/zenv/bin/zfilter
    (zenv) $ which zettel
    /path/to/zenv/bin/zettel

    You may now proceed to the User's Guide.

Installation for Developer-Users

  1. Create a virtual environment for running ZettelGeist:

    $ python3 -m venv ~/zenv

    You may install your environment wherever you like. We will assume ~/zenv.

  2. Source the virtual environment

    $ . ~/zenv/bin/activate

    The prompt will now be prefixed by (zenv), the environment created in (1). The command deactivate returns you to the system environment.

  3. Confirm that you are picking up the right python and pip.

    (zenv) $ which pip
    /path/to/zenv/bin/pip
    (zenv) $ which python
    /path/to/zenv/bin/python

    In place of path/to/ you should see the absolute path to the environment created in (1).

  4. Clone the Repository

$ git clone https://github.com/ZettelGeist/zettelgeist
  1. Install ZettelGeist. You will see a good amount of output, which varies by platform. (This is omitted to keep the docs looking beautiful.)
$ python setup.py build install
  1. Verify the installation

    (zenv) $ which zcreate
    /path/to/zenv/bin/zcreate
    (zenv) $ which zimport
    /path/to/zenv/bin/zimport
    (zenv) $ which zfind
    /path/to/zenv/bin/zfind
    (zenv) $ which zfilter
    /path/to/zenv/bin/zfilter
    (zenv) $ which zettel
    /path/to/zenv/bin/zettel

    You may now proceed to the User's Guide.

Clone this wiki locally