Coder Social home page Coder Social logo

bib's Introduction

Bibliographic manager

A python script to manage a local bibliographic repository.

  • Each document is added through its DOI/ARXIV/ISBN reference number.
  • Documents obtained from LibGen, .bib entries automatically downloaded.
  • Search through entire library on text scraped from pdfs.
  • Tag documents with keywords for easier search.
Turing.webm

In the video we:

  • add this paper using its DOI code
  • tag it (-t) while adding it
  • then search for it and open it with the default pdf viewer.

Requirements

  • Python3

    • ocrmypdf
    • coloredlogs
    • pyperclip
    • bs4
    • reportlab
    • unidecode
    • json
    • filelock
  • fzf

  • bibtool

  • bc

Commands

  • add - add document to library by DOI, arxiv ref, or ISBN.
  • show - search the library (See Show Controls).
  • scan - add unreferenced documents in library folder to library.
  • fetch - scrape arxiv for new (or old) articles (See ArXiv Scraping).
  • convert - update arxiv docs to DOI if DOI available.

Show Controls

  • Press TAB to select several documents
  • Enter: open selected file(s)
  • ctrl-b: Print bibtex entries and copy them to clipboard
  • ctrl-d: Get doc
  • ctrl-h: Show hidden documents (tagged with HIDDEN)
  • ctrl-k: Toggle HIDDEN tag
  • ctrl-o: Redo OCR
  • ctrl-p: Delete from library
  • ctrl-t: Edit Tags
  • ctrl-v: Copy to home folder
  • ctrl-x: Redo text extraction from pdf

ArXiv Scraping

The config for the arxiv scraping (bib fetch) is found in arxiv_scrape.json. The entries follow the format of the example:

    {
        "queries": ["all:openai AND all:chatgpt", "ti:singularity"],
                                        // all:all, ti:title
        "categories": ["cat:cs.AI AND cat:cs.IT", "cat:cs.LG"],
                                        // list[0] OR list[1]
        "start": "10",                  // default: 0
        "max_results": "5",             // default: 15
        "sortOrder": "descending",      // default: "descending"
        "sortBy": "lastUpdatedDate",    // default: "submittedDate"
        "tags": ["THE_END_IS_NIGH"]     // default: ["SCRAPED"]
    },

Available categories are found here.

Config

By default, the library is saved in the folder specified by the $BIB environment variable.

Docs are opened with $PDF or xdg-open.

bib's People

Contributors

ivomac avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.