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

Overview

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.
    >> help(db) // ~~ ~~ | ~~ ~ \\ >>> help(conn) // ~ ~ ~~ | ~~~ ~~ \\ >>> print(LONG_SHELL_BANNER) //________.|.________\\ >>> db.stats() `----------`-'----------' Connected to bibliothecula.db, last modified 2021-06-21 00:07 >>> ">
    % 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


Owner
Manos Pitsidianakis
Electrical and Computer Engineering
Manos Pitsidianakis
Pythonic search engine based on PyLucene.

Lupyne is a search engine based on PyLucene, the Python extension for accessing Java Lucene. Lucene is a relatively low-level toolkit, and PyLucene wr

A. Coady 83 Jan 02, 2023
A fast, efficiency python package for searching and getting search results with many different search engines

search A fast, efficiency python package for searching and getting search results with many different search engines. Installation To install the pack

Neurs 0 Oct 06, 2022
Es-schema - Common Data Schemas for Elasticsearch

Common Data Schemas for Elasticsearch The Common Data Schema for Elasticsearch i

Tim Schnell 2 Jan 25, 2022
MeiliSearch FastAPI provides FastAPI routes for interacting with MeiliSearch.

MeiliSearch FastAPI MeiliSearch FastAPI provides FastAPI routes for interacting with MeiliSearch. Installation Using a virtual environmnet is recommen

Paul Sanders 29 Nov 18, 2022
A real-time tech course finder, created using Elasticsearch, Python, React+Redux, Docker, and Kubernetes.

A real-time tech course finder, created using Elasticsearch, Python, React+Redux, Docker, and Kubernetes.

Dinesh Sonachalam 130 Dec 20, 2022
An image inline search telegram bot.

Image-Search-Bot An image inline search telegram bot. Note: Use Telegram picture bot. That is better. Not recommending to deploy this bot. Made with P

Fayas Noushad 24 Oct 21, 2022
Pysolr — Python Solr client

pysolr pysolr is a lightweight Python client for Apache Solr. It provides an interface that queries the server and returns results based on the query.

Haystack Search 626 Dec 01, 2022
A Python web searcher library with different search engines

Robert A simple Python web searcher library with different search engines. Install pip install roberthelper Usage from robert import GoogleSearcher

1 Dec 23, 2021
Simple algorithm search engine like google in python using function

Mini-Search-Engine-Like-Google I have created the simple algorithm search engine like google in python using function. I am matching every word with w

Sachin Vinayak Dabhade 5 Sep 24, 2021
txtai executes machine-learning workflows to transform data and build AI-powered semantic search applications.

txtai executes machine-learning workflows to transform data and build AI-powered semantic search applications.

NeuML 3.1k Dec 31, 2022
A library for fast import of Windows NT Registry(REGF) into Elasticsearch.

A library for fast import of Windows NT Registry(REGF) into Elasticsearch.

S.Nakano 3 Apr 01, 2022
基于RSSHUB阅读器实现的获取P站排行和P站搜图,使用时需使用代理

基于RSSHUB阅读器实现的获取P站排行和P站搜图

34 Dec 05, 2022
Search emails from a domain through search engines

EmailFinder - search emails through Search Engines

Josué Encinar 155 Dec 30, 2022
Full-text multi-table search application for Django. Easy to install and use, with good performance.

django-watson django-watson is a fast multi-model full-text search plugin for Django. It is easy to install and use, and provides high quality search

Dave Hall 1.1k Jan 03, 2023
esguard provides a Python decorator that waits for processing while monitoring the load of Elasticsearch.

esguard esguard provides a Python decorator that waits for processing while monitoring the load of Elasticsearch. Quick Start You need to launch elast

po3rin 5 Dec 08, 2021
document organizer with tags and full-text-search, in a simple and clean sqlite3 schema

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

Manos Pitsidianakis 152 Oct 29, 2022
A sphinx extension for designing beautiful, screen-size responsive web components.

sphinx-design A sphinx extension for designing beautiful, view size responsive web components. Created with inspiration from Bootstrap (v5), Material

Executable Books 109 Jan 01, 2023
A sentence search engine that fetches examples from trusted news/media organisations. Great for writing better English.

A sentence search engine that fetches examples from trusted news/media websites. Great for improving writing & speaking better English.

Stephen Appiah 1 Apr 04, 2022
Jina allows you to build deep learning-powered search-as-a-service in just minutes

Cloud-native neural search framework for any kind of data

Jina AI 17k Dec 31, 2022
Reverse-ikea-image-search - A simple image of ikea search using jina.ai

IKEA Reverse Image Search This is a demo project to fetch ikea product images(IK

SOUVIK GHOSH 4 Mar 08, 2022