nncli

NextCloud Notes Command Line Interface
git clone git://git.danielmoch.com/nncli.git
Log | Files | Refs | LICENSE

README.rst (4165B)


      1 nncli is a Python application that gives you access to your NextCloud
      2 Notes account via the command line. It's a "hard" fork of
      3 sncli_. You can access your notes via
      4 a customizable console GUI that implements vi-like keybinds or via a
      5 simple command line interface that you can script.
      6 
      7 Notes can be viewed/created/edited in *both an* **online** *and*
      8 **offline** *mode*. All changes are saved to a local cache on disk and
      9 automatically sync'ed when nncli is brought online.
     10 
     11 More detailed documentation can be found at the homepage_.
     12 
     13 Requirements
     14 ------------
     15 
     16 - `Python 3`_
     17 
     18 - Urwid_ Python 3 module
     19 
     20 - Requests_ Python 3 module
     21 
     22 - A love for the command line!
     23 
     24 Installation
     25 ------------
     26 
     27 - Via pip (latest release):
     28 
     29   - ``pip3 install nncli``
     30 
     31 - Manually:
     32 
     33   - If you don't already have it, install Flit_: ``pip3 install flit``
     34 
     35   - Clone this repository to your hard disk: ``git clone
     36     https://git.danielmoch.com/nncli.git``
     37 
     38   - Install nncli: ``flit install --deps production``
     39 
     40 - Development:
     41 
     42   - Clone the repo
     43 
     44   - Install Pipenv: ``pip3 install pipenv``
     45 
     46   - Stand up development virtualenv: ``pipenv install --dev``
     47 
     48 Features
     49 --------
     50 
     51 - Console GUI
     52 
     53   - full two-way sync with NextCloud Notes performed dynamically in the
     54     background
     55 
     56   - all actions logged and easily reviewed
     57 
     58   - list note titles (configurable format w/ title, date, flags, category,
     59     keys, etc)
     60 
     61   - sort notes by date, alpha by title, category, favorite on top
     62 
     63   - search for notes using a Google style search pattern or Regular
     64     Expression
     65 
     66   - view note contents and meta data
     67 
     68   - pipe note contents to external command
     69 
     70   - create and edit notes (using your editor)
     71 
     72   - edit note category
     73 
     74   - delete notes
     75 
     76   - favorite/unfavorite notes
     77 
     78   - vi-like keybinds (fully configurable)
     79 
     80   - Colors! (fully configurable)
     81 
     82 - Command Line (scripting)
     83 
     84   - force a full two-way sync with NextCloud Notes
     85 
     86   - all actions logged and easily reviewed
     87 
     88   - list note titles and keys
     89 
     90   - search for notes using a Google style search pattern or Regular
     91     Expression
     92 
     93   - dump note contents
     94 
     95   - create a new note (via stdin or editor)
     96 
     97   - import a note with raw json data (stdin or editor)
     98 
     99   - edit a note (via editor)
    100 
    101   - delete a note
    102 
    103   - favorite/unfavorite a note
    104 
    105   - view and edit note category
    106 
    107 Contributing
    108 ------------
    109 
    110 Pull requests are welcome, preferably via emailed output of ``git
    111 request-pull`` sent to the maintainer (see here_ for more information).
    112 Bug reports should also be directed to the maintainer via email_.
    113 
    114 If you aren't hosting a fork anywhere online, you can also send patches
    115 using ``git format-patch`` (again, see `the official documentation`_ ).
    116 
    117 Releases
    118 --------
    119 
    120 Release tags will always be signed with the maintainer's `PGP key`_
    121 (also available on any public keyserver_).  PGP-signed versions of
    122 release tarballs and pre-built wheel_ packages are available on PyPI_,
    123 with the signature files living alongside the corresponding artifact
    124 (simply append an ``.asc`` extension). Because the maintainers of PyPI
    125 do not consider PGP signatures to be a user-facing feature, the
    126 extension must be added manually in your browser's URL bar in order to
    127 download the signature files.
    128 
    129 Acknowledgements
    130 ----------------
    131 
    132 nncli is a fork of sncli_ by Eric Davis. This application further pulls
    133 in and uses modified versions of the simplenote.py_ module by Daniel
    134 Schauenberg and the notes_db.py module from nvpy_ by Charl P. Botha.
    135 
    136 .. _homepage: https://nncli.org
    137 .. _sncli: https://github.com/insanum/sncli
    138 .. _Python 3: http://python.org
    139 .. _Urwid: http://urwid.org
    140 .. _Requests: https://requests.readthedocs.org/en/master
    141 .. _simplenote.py: https://github.com/mrtazz/simplenote.py
    142 .. _nvpy: https://github.com/cpbotha/nvpy
    143 .. _Flit: https://flit.readthedocs.io
    144 .. _here: https://www.git-scm.com/docs/git-request-pull
    145 .. _PGP key: https://www.danielmoch.com/static/gpg.asc
    146 .. _wheel: https://pythonwheels.com/
    147 .. _PyPI: https://pypi.org/project/nncli/
    148 .. _keyserver: https://pgp.mit.edu/pks/lookup?op=get&search=0x323C9F1784BDDD43
    149 .. _email: daniel@danielmoch.com
    150 .. _the official documentation: https://www.git-scm.com/docs/git-format-patch