document organizer with tags and full-text-search, in a simple and clean sqlite3 schema
bibliothēcula f (genitive bibliothēculae); first declension (Late Latin)
- small library
- small collection of books
- document database with tags and full-text-search, in a simple and clean
sqlite3
schema
Organise documents with tags and other metadata with the option of storing multiple files per document.
See the database schema and the documentation.
This repository has three small tools for this schema:
a GTK3 UI in Rust that was written early and isn't functional.
an interactive python shell, bibl-shell.py
, with convenient types and methods for working with your database:
% ./bibl-shell.py --help
usage: bibl-shell.py [-h] [-i {ipython3,python3}] [--autocommit] [-v]
[--no-startup]
db_name
Python shell with convenient methods and objects for an sqlite3
database with the bibliothecula schema. Licensed GPL-3.0-or-later
positional arguments:
db_name sqlite3 database to use.
optional arguments:
-h, --help show this help message and exit
-i {ipython3,python3}, --interpreter {ipython3,python3}
interpreter to use.
--autocommit Autocommit on every statement. If false, you'd have to
remember to commit on your own before you close the
connection.
-v, --verbose Show SQL etc actions taken.
--no-startup When using plain Python, ignore the PYTHONSTARTUP
environment variable and ~/.pythonrc.py script.
% python3.7 bibl-shell.py bibliothecula.db
python3 3.7.3 (default, Jan 22 2021, 20:04:44) [GCC 8.3.0]
bibliothecula shell 📇 📚 🏷️ 🦇
(_ ,_, _)
/ `'--) (--'` \ exported objects:
/ _,-'\_/'-,_ \ - conn : sqlite3.Connection
/.-' " '-.\ - db : Database (see NAMESPACE dict
______ ______ for every import)
_/ Y \_ >>> help(db)
// ~~ ~~ | ~~ ~ \\ >>> help(conn)
// ~ ~ ~~ | ~~~ ~~ \\ >>> print(LONG_SHELL_BANNER)
//________.|.________\\ >>> db.stats()
`----------`-'----------'
Connected to bibliothecula.db, last modified 2021-06-21 00:07
>>>