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 Lucene - A simplified python impelementaiton of Apache Lucene

A simplified python impelementaiton of Apache Lucene, mabye helps to understand how an enterprise search engine really works.

Mahdi Sadeghzadeh Ghamsary 2 Sep 12, 2022
Whoosh indexing capabilities for Flask-SQLAlchemy, Python 3 compatibility fork.

Flask-WhooshAlchemy3 Whoosh indexing capabilities for Flask-SQLAlchemy, Python 3 compatibility fork. Performance improvements and suggestions are read

Blake VandeMerwe 27 Mar 10, 2022
High level Python client for Elasticsearch

Elasticsearch DSL Elasticsearch DSL is a high-level library whose aim is to help with writing and running queries against Elasticsearch. It is built o

elastic 3.6k Dec 30, 2022
A search engine to query social media insights with political theme

social-insights Social insights is an open source big data project that generates insights about various interesting topics happening every day. Curre

UMass GDSC 10 Feb 28, 2022
ElasticSearch ODM (Object Document Mapper) for Python - pip install esengine

esengine - The Elasticsearch Object Document Mapper esengine is an ODM (Object Document Mapper) it maps Python classes in to Elasticsearch index/doc_t

SEEK International AI 109 Nov 22, 2022
solrpy is a Python client for Solr

solrpy solrpy is a Python client for Solr, an enterprise search server built on top of Lucene. solrpy allows you to add documents to a Solr instance,

Jiho Persy Lee 37 Jul 22, 2021
Eland is a Python Elasticsearch client for exploring and analyzing data in Elasticsearch with a familiar Pandas-compatible API.

Python Client and Toolkit for DataFrames, Big Data, Machine Learning and ETL in Elasticsearch

elastic 463 Dec 30, 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
A library for fast parse & import of Windows Prefetch into Elasticsearch.

prefetch2es Fast import of Windows Prefetch(.pf) into Elasticsearch. prefetch2es uses C library libscca. Usage When using from the commandline interfa

S.Nakano 5 Nov 24, 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
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
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
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
ForFinder is a search tool for folder and files

ForFinder is a search tool for folder and files. You can use that when you Source Code Analysis at your project's local files or other projects that you are download. Enter a root path and keyword to

Çağrı Aliş 7 Oct 25, 2022
Full text search for flask.

flask-msearch Installation To install flask-msearch: pip install flask-msearch # when MSEARCH_BACKEND = "whoosh" pip install whoosh blinker # when MSE

honmaple 197 Dec 29, 2022
Searches for MAC addresses in a text file of a Cisco "show IP arp" in any address format

show-ip-arp-mac-lookup Searches for MAC addresses in a text file of a Cisco "show IP arp" in any address format What it does: Takes a text file with t

Stew Alexander 0 Dec 24, 2022
a Telegram bot writen in Python for searching files in Drive. Based on SearchX-bot

Drive Search Bot This is a Telegram bot writen in Python for searching files in Drive. Based on SearchX-bot How to deploy? Clone this repo: git clone

Hafitz Setya 25 Dec 09, 2022
Super Simple Similarities Service

Super Simple Similarities Service

vincent d warmerdam 95 Dec 25, 2022
GitScanner is a script to make it easy to search for Exposed Git through an advanced Google search.

GitScanner Legal disclaimer Usage of GitScanner for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to

Kaio Gomes 3 Oct 28, 2022