• Stars
    star
    163
  • Rank 231,141 (Top 5 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created over 4 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

document organizer with tags and full-text-search, in a simple and clean sqlite3 schema

bibliothecula

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.

Uses

  • Organise journal articles for bibliographies
  • Organise e-books
  • Store plain text notes with automatic full-text search and back-reference indexing (i.e. a Zettelkasten)

Tooling

This repository has three small tools for this schema:

  • a virtual FUSE filesystem written in Rust.

  • an HTTP GUI written in python3 using django.

  • 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
    >>>

Logo


More Repositories

1

gerb

Graphical font editor (GTK + Rust)
Rust
324
star
2

bb

simple toy process viewer in rust https://crates.io/crates/bb
Rust
223
star
3

rsqlite3

sqlite3 Rewritten in RiiR Rust ๐Ÿฆ€๐Ÿฆ€๐Ÿฆ€ /s
Rust
157
star
4

rlr

interactive pixel screen ruler and protractor
Rust
59
star
5

nntpserver.py

No-dependency, single file NNTP server library for developing modern, rfc3977-compliant (bridge) NNTP servers.
Python
51
star
6

bitmappers-companion

zine/book about bitmap drawing algorithms and math with code examples in Rust
Rust
46
star
7

vfsstat.rs

Example sqlite3 Dynamic Loadable Extension in Rust - vfs and vtab modules - port of vfsstat.c
Rust
33
star
8

buke

full text search manpages
Rust
29
star
9

tade

tade is a discussion/forum/link aggregator application. It provides three interfaces: a regular web page, a mailing list bridge and an NNTP server
Python
24
star
10

kitkat

Kit-kat clock utility rewritten in Rust using minifb
Rust
19
star
11

sic

link aggregator community organised by tags (with no javascript)
Python
17
star
12

ocaml-prolog

prolog interpreter in ocaml
OCaml
7
star
13

sqlite-carelink

An sqlite3 schema for glucose sensor readings from Medtronic Minimed Carelink
Python
4
star
14

ChaucerFont

A font based on William Morris' Chaucer typeface from the Kelmscott Chaucer edition
TeX
4
star
15

anatomy-of-melancholy-latex

The 17th century book "The Anatomy Of Melancholy" by Robert Burton typeset with XeLaTeX.
TeX
3
star
16

libssg

static site generation library - make your own static site generator
Rust
2
star
17

iconbar

mirror of http://iconbar.sourceforge.net/
C
1
star
18

fantastic-rust-gtk-adventure

Rust
1
star
19

tony

Rust
1
star
20

qemu-virtio-snd

C
1
star
21

libarmv8

Rust
1
star
22

scrcpy-input.py

scrcpy doesn't support non-ascii (unicode) key input. This tool copies your input to system clipboard and then synchronises it with android's clipboard and pastes it with Alt-v command. Obviously this will overwrite your clipboard contents. Make sure you focus on the text input on the scrcpy window before you attempt to paste. (see README for demo pics)
Python
1
star