{ "info": { "author": "Daniel Moch", "author_email": "daniel@danielmoch.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console :: Curses", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3 :: Only" ], "description": "nncli is a Python application that gives you access to your NextCloud\nNotes account via the command line. It's a \"hard\" fork of\nsncli_. You can access your notes via\na customizable console GUI that implements vi-like keybinds or via a\nsimple command line interface that you can script.\n\nNotes can be viewed/created/edited in *both an* **online** *and*\n**offline** *mode*. All changes are saved to a local cache on disk and\nautomatically sync'ed when nncli is brought online.\n\nMore detailed documentation can be found at the homepage_.\n\nRequirements\n------------\n\n- `Python 3`_\n\n- Urwid_ Python 3 module\n\n- Requests_ Python 3 module\n\n- A love for the command line!\n\nInstallation\n------------\n\n- Via pip (latest release):\n\n - ``pip3 install nncli``\n\n- Manually:\n\n - If you don't already have it, install Flit_: ``pip3 install flit``\n\n - Clone this repository to your hard disk: ``git clone\n https://git.danielmoch.com/nncli.git``\n\n - Install nncli: ``flit install --deps production``\n\n- Development:\n\n - Clone the repo\n\n - Install Pipenv: ``pip3 install pipenv``\n\n - Stand up development virtualenv: ``pipenv install --dev``\n\nFeatures\n--------\n\n- Console GUI\n\n - full two-way sync with NextCloud Notes performed dynamically in the\n background\n\n - all actions logged and easily reviewed\n\n - list note titles (configurable format w/ title, date, flags, category,\n keys, etc)\n\n - sort notes by date, alpha by title, category, favorite on top\n\n - search for notes using a Google style search pattern or Regular\n Expression\n\n - view note contents and meta data\n\n - pipe note contents to external command\n\n - create and edit notes (using your editor)\n\n - edit note category\n\n - delete notes\n\n - favorite/unfavorite notes\n\n - vi-like keybinds (fully configurable)\n\n - Colors! (fully configurable)\n\n- Command Line (scripting)\n\n - force a full two-way sync with NextCloud Notes\n\n - all actions logged and easily reviewed\n\n - list note titles and keys\n\n - search for notes using a Google style search pattern or Regular\n Expression\n\n - dump note contents\n\n - create a new note (via stdin or editor)\n\n - import a note with raw json data (stdin or editor)\n\n - edit a note (via editor)\n\n - delete a note\n\n - favorite/unfavorite a note\n\n - view and edit note category\n\nContributing\n------------\n\nPull requests are welcome, preferably via emailed output of ``git\nrequest-pull`` sent to the maintainer (see here_ for more information).\nBug reports should also be directed to the maintainer via email_.\n\nIf you aren't hosting a fork anywhere online, you can also send patches\nusing ``git format-patch`` (again, see `the official documentation`_ ).\n\nReleases\n--------\n\nRelease tags will always be signed with the maintainer's `PGP key`_\n(also available on any public keyserver_). PGP-signed versions of\nrelease tarballs and pre-built wheel_ packages are available on PyPI_,\nwith the signature files living alongside the corresponding artifact\n(simply append an ``.asc`` extension). Because the maintainers of PyPI\ndo not consider PGP signatures to be a user-facing feature, the\nextension must be added manually in your browser's URL bar in order to\ndownload the signature files.\n\nAcknowledgements\n----------------\n\nnncli is a fork of sncli_ by Eric Davis. This application further pulls\nin and uses modified versions of the simplenote.py_ module by Daniel\nSchauenberg and the notes_db.py module from nvpy_ by Charl P. Botha.\n\n.. _homepage: https://nncli.org\n.. _sncli: https://github.com/insanum/sncli\n.. _Python 3: http://python.org\n.. _Urwid: http://urwid.org\n.. _Requests: https://requests.readthedocs.org/en/master\n.. _simplenote.py: https://github.com/mrtazz/simplenote.py\n.. _nvpy: https://github.com/cpbotha/nvpy\n.. _Flit: https://flit.readthedocs.io\n.. _here: https://www.git-scm.com/docs/git-request-pull\n.. _PGP key: https://www.danielmoch.com/static/gpg.asc\n.. _wheel: https://pythonwheels.com/\n.. _PyPI: https://pypi.org/project/nncli/\n.. _keyserver: https://pgp.mit.edu/pks/lookup?op=get&search=0x323C9F1784BDDD43\n.. _email: daniel@danielmoch.com\n.. _the official documentation: https://www.git-scm.com/docs/git-format-patch\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://nncli.org", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "nncli", "package_url": "https://pypi.org/project/nncli/", "platform": "", "project_url": "https://pypi.org/project/nncli/", "project_urls": { "Homepage": "https://nncli.org", "Source Code": "https://git.danielmoch.com" }, "release_url": "https://pypi.org/project/nncli/0.3.4/", "requires_dist": [ "urwid", "requests", "appdirs", "click", "pipenv; extra == \"dev\"", "sphinx; extra == \"doc\"" ], "requires_python": ">=3", "summary": "NextCloud Notes Command Line Interface", "version": "0.3.4" }, "last_serial": 4916438, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "9426f92417e1329924db811df9544ec8", "sha256": "4e747b543cd7622906d13d358974c878d3461eb9db8ca8fe432d58343cadb925" }, "downloads": -1, "filename": "nncli-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9426f92417e1329924db811df9544ec8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33871, "upload_time": "2018-07-31T09:28:44", "url": "https://files.pythonhosted.org/packages/8f/75/53f42d53c16ad279af35ff59dff3763efb32bc8cab5c2be166b09f77782f/nncli-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "87c6c2d45c5c0f5041797c8a03393fc6", "sha256": "ecf341cd143f8b8147e6970715503f3ccb8386ee8a2a2b15c37a68078e280acc" }, "downloads": -1, "filename": "nncli-0.1.0.tar.gz", "has_sig": false, "md5_digest": "87c6c2d45c5c0f5041797c8a03393fc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30927, "upload_time": "2018-07-31T09:28:45", "url": "https://files.pythonhosted.org/packages/0c/65/9460a35a3e53c960fe0114658f1bccb9b7539a78ae1a46be05d3362173f8/nncli-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "3aeebe1db8be127c30b3bd9990eacf0d", "sha256": "ffe46cdd48cb68046bbddbfd86afa8f8541d40a522cd7c936a4e8861f4c85b26" }, "downloads": -1, "filename": "nncli-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3aeebe1db8be127c30b3bd9990eacf0d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 37822, "upload_time": "2018-08-07T10:27:51", "url": "https://files.pythonhosted.org/packages/f6/9f/4f4c731ed1597f9822961c289dec918f2bb59e4a3e591328290ef56afa16/nncli-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "36c5e0885a9f211810d21252d22e78f0", "sha256": "8e266545a499d5b8ea6d57f86ead10b07ea4166a844babbf11cebc00991f4a96" }, "downloads": -1, "filename": "nncli-0.1.1.tar.gz", "has_sig": false, "md5_digest": "36c5e0885a9f211810d21252d22e78f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33523, "upload_time": "2018-08-07T10:27:52", "url": "https://files.pythonhosted.org/packages/22/a6/106430252b73d8dac8ca8f8aaef2404ecbff6312f53ecc1c3ebb3650c283/nncli-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "8259eafb2acff457c58c665a4fb6c39f", "sha256": "d1325a80942f947a62c89f85545c8da5c0c22b16b64f6229080b9098a7f0ca6a" }, "downloads": -1, "filename": "nncli-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "8259eafb2acff457c58c665a4fb6c39f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 38424, "upload_time": "2018-08-30T10:49:12", "url": "https://files.pythonhosted.org/packages/c1/ee/cd50ea74eaef20852cabc2b1cc75d367bc9753537afb29e748d99e8c3e72/nncli-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c866bd7a9a198331feaf6e0707c3af5", "sha256": "6bec77deb14b2c09c73d30b500e7e0ed9f1bf4d28fd6bfb5386eda2a6499da97" }, "downloads": -1, "filename": "nncli-0.1.2.tar.gz", "has_sig": false, "md5_digest": "4c866bd7a9a198331feaf6e0707c3af5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43598, "upload_time": "2018-08-30T10:48:39", "url": "https://files.pythonhosted.org/packages/68/c4/cdda74eb7b2e9670c328b1280ae5c41f287b6387dc7dc2b93664287280ec/nncli-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "266932d23e0e0bf48c6d1e959bb9349b", "sha256": "e8f07c22f1d8870e23e76c082a113eea2d0bc3e003525c25ac2e0bba1688606a" }, "downloads": -1, "filename": "nncli-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "266932d23e0e0bf48c6d1e959bb9349b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 135126, "upload_time": "2018-09-03T12:58:46", "url": "https://files.pythonhosted.org/packages/67/9f/da702861f4ce5540d16b6d119ce9a3187078f9d92c27a59269666a57dfbb/nncli-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "42618dedb18c4e622d948a3d0fa232b0", "sha256": "f6264b49937eeaf8861829dd8b071c73923066b5ecff9cfb29f3784ed9524667" }, "downloads": -1, "filename": "nncli-0.2.0.tar.gz", "has_sig": false, "md5_digest": "42618dedb18c4e622d948a3d0fa232b0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 57437, "upload_time": "2018-09-03T12:58:48", "url": "https://files.pythonhosted.org/packages/3e/a0/63a44da5e21fadd24b46d067c385862d3f3bf329aa00b54834bb6ff2d5e2/nncli-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "2ea38eebb129ea9a439f6356ce1f62d0", "sha256": "0dd7fce2705ef2a8e02369ea7213a2d7d07ea7300c4f6aeac62afe301e876747" }, "downloads": -1, "filename": "nncli-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2ea38eebb129ea9a439f6356ce1f62d0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 131409, "upload_time": "2018-09-07T21:10:17", "url": "https://files.pythonhosted.org/packages/37/fc/9c9800cf83138cbbf1acef52a761905abac6a6e931aa0ab66f27359a64f8/nncli-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1da0862d4999c1edcf0b22064f334087", "sha256": "78d2130395c34877fbae5cf133d588bfaa0b4d03f56935253ea950f1f9aa1190" }, "downloads": -1, "filename": "nncli-0.3.0.tar.gz", "has_sig": false, "md5_digest": "1da0862d4999c1edcf0b22064f334087", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 55888, "upload_time": "2018-09-07T21:10:18", "url": "https://files.pythonhosted.org/packages/2b/e2/f201d59fbe3b8b4865af4224e48d453d7243f1aa98bed189357f18dae0d3/nncli-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "fa302ae7ca9bf970ad06540f029a48fb", "sha256": "abb635e6bd528beb6918606d273f77827a400e0f335b86d69674c026d35779c7" }, "downloads": -1, "filename": "nncli-0.3.1-py3-none-any.whl", "has_sig": true, "md5_digest": "fa302ae7ca9bf970ad06540f029a48fb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 158420, "upload_time": "2018-10-31T01:07:14", "url": "https://files.pythonhosted.org/packages/a8/2f/b75c2043264185ea1ed2736e6aad23c8a410809726218dffbb80ba3a2b60/nncli-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d988c9e144eb1ad91b5fbbb94d2e1b4b", "sha256": "df2f6a857f86fe69da0d59d4c8dc40a5457ffd81ab7496dbbd06f106b9a431d3" }, "downloads": -1, "filename": "nncli-0.3.1.tar.gz", "has_sig": true, "md5_digest": "d988c9e144eb1ad91b5fbbb94d2e1b4b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 59796, "upload_time": "2018-10-31T01:07:19", "url": "https://files.pythonhosted.org/packages/5e/5d/7c388e02fc401b750c9e0926f7c7689651d301273d68a72f7987d0373be5/nncli-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "e27b7288d6219346fbe1e3ce459d570b", "sha256": "0cdd8b562421c42a8e794b3cc257943daeb9652756e68e28390556c4457a10f0" }, "downloads": -1, "filename": "nncli-0.3.2-py3-none-any.whl", "has_sig": true, "md5_digest": "e27b7288d6219346fbe1e3ce459d570b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 158930, "upload_time": "2018-12-02T03:24:32", "url": "https://files.pythonhosted.org/packages/78/0d/1640b5350fdec89e9c5b7bc1d303d6623fee31342afb1e1128c72a078463/nncli-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ec1ce0248b41ec2dbc0044fa43310f97", "sha256": "d8ffc69501401119c4c8c088466a56dd46a85d4724dc05d60e521d3c99ec6d4c" }, "downloads": -1, "filename": "nncli-0.3.2.tar.gz", "has_sig": true, "md5_digest": "ec1ce0248b41ec2dbc0044fa43310f97", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 62311, "upload_time": "2018-12-02T03:24:37", "url": "https://files.pythonhosted.org/packages/9f/48/259fe75ed098ac586eebbd7993fc4bbd6bfb950b5ff5569deba68607b28c/nncli-0.3.2.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "d73ec5c47ed028253c2a1f9f89fb25bb", "sha256": "a3d05e62067bcd8c1987e412112e877c9cc204d8d932199e6455376ff848326f" }, "downloads": -1, "filename": "nncli-0.3.4-py3-none-any.whl", "has_sig": true, "md5_digest": "d73ec5c47ed028253c2a1f9f89fb25bb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 158958, "upload_time": "2019-03-08T17:32:43", "url": "https://files.pythonhosted.org/packages/6d/6e/ec359e34dc3fdc1922a87a9c5402a2fef2f1b80832d2159fe86c6bc61439/nncli-0.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a380cb27a5f8fbc59e3f20871e1d4d05", "sha256": "250dbbdfaa0e12bdfac02c079bdb487bf05b8a2d56a43f502701fbcb1e9007b6" }, "downloads": -1, "filename": "nncli-0.3.4.tar.gz", "has_sig": true, "md5_digest": "a380cb27a5f8fbc59e3f20871e1d4d05", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 52708, "upload_time": "2019-03-08T17:32:48", "url": "https://files.pythonhosted.org/packages/56/e8/d0ca2f9f99999df596536ad839ff6726b2bc689abf3558a19f4fcdd3d873/nncli-0.3.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d73ec5c47ed028253c2a1f9f89fb25bb", "sha256": "a3d05e62067bcd8c1987e412112e877c9cc204d8d932199e6455376ff848326f" }, "downloads": -1, "filename": "nncli-0.3.4-py3-none-any.whl", "has_sig": true, "md5_digest": "d73ec5c47ed028253c2a1f9f89fb25bb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 158958, "upload_time": "2019-03-08T17:32:43", "url": "https://files.pythonhosted.org/packages/6d/6e/ec359e34dc3fdc1922a87a9c5402a2fef2f1b80832d2159fe86c6bc61439/nncli-0.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a380cb27a5f8fbc59e3f20871e1d4d05", "sha256": "250dbbdfaa0e12bdfac02c079bdb487bf05b8a2d56a43f502701fbcb1e9007b6" }, "downloads": -1, "filename": "nncli-0.3.4.tar.gz", "has_sig": true, "md5_digest": "a380cb27a5f8fbc59e3f20871e1d4d05", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 52708, "upload_time": "2019-03-08T17:32:48", "url": "https://files.pythonhosted.org/packages/56/e8/d0ca2f9f99999df596536ad839ff6726b2bc689abf3558a19f4fcdd3d873/nncli-0.3.4.tar.gz" } ] }