https://github.com/piyueh/totero
A TUI client for Zotero
https://github.com/piyueh/totero
terminal tui urwid zotero
Last synced: about 1 month 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 4 years ago)
- Default Branch: main
- Last Pushed: 2021-07-21T19:02:39.000Z (almost 4 years ago)
- Last Synced: 2025-03-22T08:23:06.141Z (about 2 months 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.