https://github.com/piyueh/totero
A TUI client for Zotero
https://github.com/piyueh/totero
terminal tui urwid zotero
Last synced: 10 months ago
JSON representation
A TUI client for Zotero
- Host: GitHub
- URL: https://github.com/piyueh/totero
- Owner: piyueh
- License: bsd-3-clause
- Created: 2020-11-10T22:04:29.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-07-21T19:02:39.000Z (almost 5 years ago)
- Last Synced: 2025-04-06T22:38:38.056Z (about 1 year ago)
- Topics: terminal, tui, urwid, zotero
- Language: Python
- Homepage:
- Size: 31.3 KB
- Stars: 15
- Watchers: 6
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
totero -- a TUI client for Zotero
=================================
-----------------------------------------------------------------------------
**Note**:
I don't have enough time to work on this, though I haven't completely given
this project up. Any contribution or/and collaboration are welcome!
-----------------------------------------------------------------------------
***totero*** is a TUI (text/terminal-based user interfaces) client for Zotero
that relies only on local database (i.e., no need for a cloud Zotero account).
The official Zotero GUI client is bundled with an old-version FireFox, which
does not support Wayland. Under a Wayland environment, the official Zotero
client must rely on XWayland and does not look nice, especially with 4K and
HiDPI monitors. So I decided to make my own client.
TUI clients usually looks nice because most modern terminal emulators support
256 colors or even 24-bit true colors. Here's a showcase of this
client in Sway WM:

## Installation
---------------
This is a WIP. No `pip` or `conda` packages.
Dependencies:
* `python` >= 3.7
* `zoteroutils`: https://github.com/piyueh/zoteroutils
* `pandas`
* `sqlalchemy `(required by `zoteroutils`)
* `urwid`
`pandas`, `sqlalchemy` and `urwid` can be installed through whatever package
managers preferred. `zoteroutils` is a companion package of `totero`, so it's
also a WIP and has to be downloaded manually:
```
$ git clone https://github.com/piyueh/zoteroutils
```
Let `python` know where to find `zoteroutils`:
```
$ export PYTHONPATH=:${PYTHONPATH}
```
Then download this client:
```
$ git clone https://github.com/piyueh/totero
```
Finally, run the client:
```
$ python /totero.py
```
## Features
-----------
1. Pure Python -- easy to read and modified the code
2. Using `xdg-open` to open attachments by `enter`. Poping up a window to choose
an attachment if multiple files exists for the selected document.
3. Sorting with `F1` key. Poping up a window to choose which column(s) to sort.
4. Selecting displayed columns with `F2` key. Poping up a window to choose column(s).
4. Moving with `h`, `j`, `k`, and `l` keys
5. Customizable color themes and key mappings.
## TODO
-------
These features are under development:
1. Selecting a collection and showing documents in this collection
2. Poping up a window to show the detail information of a selected document
3. Searching
4. A toolbar and a status bar
5. Exporting to a bibtex file or a clipboard.
The following features are in the plan but probably won't be finished in the near
future:
1. Anything related to writing into the SQLite database. One reason is that I'm
not familiar with SQL. Another reason is that I may not have time.