{ "info": { "author": "Alexandre Chabot-Leclerc", "author_email": "github@alexchabot.net", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# zkviz: Visualize Link Network Between Zettels (Notes)\n\n![Version](https://img.shields.io/github/tag/Zettelkasten-Method/zkviz.svg?style=flat)\n![License](https://img.shields.io/github/license/Zettelkasten-Method/zkviz.svg?style=flat)\n\nProduce an interactive overview of all your notes and their connections.\n\n![](assets/screenshot.png)\n\n## Installing\n\nI recommend using Python 3 and an environment specifically for zkviz.\n\nAssuming that you're using macOS or Linux, to create the environment, open\na Terminal window and type the following to create the standalone environment\nand activate it.\n\n```sh\npython3 -m venv ~/envs/zkviz\nsource ~/envs/zkviz/bin/activate\n```\n\nThen install zkviz with:\n\n```sh\npip install zkviz\n```\n\nIf [Graphviz](https://graphviz.org/download/) is installed on your computer,\nzkviz can use it to draw the network. It is not a Python package so it needs to\nbe installed independently. If you're on a Mac and have\n[Homebrew](https://brew.sh) installed, you can install Graphviz from a Terminal\nwith:\n\n```sh\nbrew install graphviz\n```\n\n## Usage\n\nTo execute zkviz from the Terminal, you either need to add the zkviz\nenvironment path to your `PATH` environment variable or specify the path to the\nzkviz executable directly. Below, I use the explicit path.\n\nExecuting zkviz without any argument will build the visualization based on all\nthe `*.md` files found in the current directory.\n\n\n```sh\n~/envs/zkviz/bin/zkviz\n```\n\nYou can also point zkviz to the folder containing your notes. For example:\n\n```sh\n~/envs/zkviz/bin/zkviz --notes-dir ~/Notes\n```\n\nBy default zkviz will look for files with the `.md` extension, but you can override\nthe default with the `--pattern` option:\n\n```sh\n~/envs/zkviz/bin/zkviz --pattern '*.mkdown'\n```\n\nYou can also specify multiple patterns separately. With the following, zkviz\nwill find all txt and md files. I recommend wrapping the pattern in quotes.\n\n```sh\n~/envs/zkviz/bin/zkviz --pattern '*.md' --pattern '*.txt'\n```\nYou can also pass a list of files to zkviz:\n\n```sh\n~/envs/zkviz/bin/zkviz \"~/Notes/201906021303 the state of affairs.md\" \"~/Notes/201901021232 Journey to the center of the earth.md\"\n```\n\nTo use Graphviz to generate the visualization, add the `--use-graphviz` option:\n\n```sh\n~/envs/zkviz/bin/zkviz --notes-dir ~/Notes --use-graphviz\n```\n\nBy default, zkviz will draw a node for every reference found in the files\nprovided, even if the referenced zettel does not exist, and even if a zettel\nrefers to itself. You can change that behavior in two ways. The `--only-list`\noption tells zkviz to draw links only to zettels that have been provided to it.\nIn the example below, only links between the two zettels will be shown:\n\n```sh\n~/envs/zkviz/bin/zkviz --only-list \"20190810190224 Note 1.md\" \"20190810190230 Note 2.md\"\n```\n\nThe other way to change the behavior is to disable self-reference links using\nthe `--no-self-ref` option.\n\n## Using zkviz with Keyboard Maestro\n\nThe `keyboard-maestro` folder includes a [Keyboard Maestro](https://www.keyboardmaestro.com)\nmacro to automatically create a visualization based on the list of files\ncurrently selected in [The Archive](https://zettelkasten.de/the-archive/). To\nuse this macro, download it and import it into Keyboard Maestro. The follow the\nREADME comment within the macro to set the necessary variables.\n\n## Making a Release\n\n1. Bump the version in `zkviz/__init__.py`\n2. Update the changelog, link the versions.\n3. Commit and tag with version number\n4. Build a source dist with `python setup.py clean && rm dist/* && python setup.py sdist`\n5. Test upload to PyPI test with `twine upload --repository-url https://test.pypi.org/legacy/ dist/*`\n6. Create a temporary environment `mktmpenv` and test install with `pip install --index-url https://test.pypi.org/simple/ zkviz`\n7. If everything looks good, upload for real with `twine upload dist/*`", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Zettelkasten-Method/zkviz", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "zkviz", "package_url": "https://pypi.org/project/zkviz/", "platform": "", "project_url": "https://pypi.org/project/zkviz/", "project_urls": { "Homepage": "https://github.com/Zettelkasten-Method/zkviz" }, "release_url": "https://pypi.org/project/zkviz/1.3.0/", "requires_dist": null, "requires_python": "", "summary": "Zettel Network Visualizer", "version": "1.3.0" }, "last_serial": 5660611, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "e703b0202d9f0f95faca4758eb96092c", "sha256": "9c375e93556496e1120348086a2892b388960ec73d7ab8bb184aebcd53ebf431" }, "downloads": -1, "filename": "zkviz-1.0.0.tar.gz", "has_sig": false, "md5_digest": "e703b0202d9f0f95faca4758eb96092c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4774, "upload_time": "2019-06-18T03:19:29", "url": "https://files.pythonhosted.org/packages/d8/62/6dc25b43852f66d098f73e6fbf79104c1881ebcfa79595cd4fc2afff7860/zkviz-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "adfd162e88c373505b597f63abb26ea7", "sha256": "48cf339dbba4ef6179ab17a69415b6381062b1f7f37087cbd2dd05d771d1734e" }, "downloads": -1, "filename": "zkviz-1.1.0.tar.gz", "has_sig": false, "md5_digest": "adfd162e88c373505b597f63abb26ea7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5628, "upload_time": "2019-07-02T02:34:36", "url": "https://files.pythonhosted.org/packages/fe/1d/9bbb3f91f8427a4c2011464c8e6751d8d2629470f598e7a9dfacf5568898/zkviz-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "ab634669ff8dd69938ca63b8994ba0eb", "sha256": "8c1fe258b38790d1b11be05ab0fe3584e40aa26917a40ef7d8aa9cba14d3ca88" }, "downloads": -1, "filename": "zkviz-1.2.0.tar.gz", "has_sig": false, "md5_digest": "ab634669ff8dd69938ca63b8994ba0eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7023, "upload_time": "2019-08-07T02:58:22", "url": "https://files.pythonhosted.org/packages/26/87/4340a870076b16ae8a953e462bf7d3417dc753f82661fa17b5de746a8501/zkviz-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "c64405cd091663a4673a36e4afefc225", "sha256": "13cdc88eac4822b7c4f346a4279908ddf316d4d204176db2a0d52f1a551353f6" }, "downloads": -1, "filename": "zkviz-1.3.0.tar.gz", "has_sig": false, "md5_digest": "c64405cd091663a4673a36e4afefc225", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8267, "upload_time": "2019-08-11T00:23:56", "url": "https://files.pythonhosted.org/packages/9f/b0/8d3ff9062bff09a2dda5afc8186b90088eeb6872e66bf1011027af410572/zkviz-1.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c64405cd091663a4673a36e4afefc225", "sha256": "13cdc88eac4822b7c4f346a4279908ddf316d4d204176db2a0d52f1a551353f6" }, "downloads": -1, "filename": "zkviz-1.3.0.tar.gz", "has_sig": false, "md5_digest": "c64405cd091663a4673a36e4afefc225", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8267, "upload_time": "2019-08-11T00:23:56", "url": "https://files.pythonhosted.org/packages/9f/b0/8d3ff9062bff09a2dda5afc8186b90088eeb6872e66bf1011027af410572/zkviz-1.3.0.tar.gz" } ] }