Skip to main content

Minimalistic, markdown-based reference manager for computer science research

Project description

bibim

PyPI version

bibim is a command-line tool that simplifies bibliography management for computer science research. It allows you to manage references directly within Markdown files, automatically fetch and update citation data, and generate BibTeX files.

Features

  • Markdown-based management: Seamlessly integrate your bibliography within your research notes.
  • Automatic BibTeX generation: No need to maintain separate .bib files; ensures consistent formatting across references.
  • Up-to-date references: Automatically keep paper attributes current without manual tracking from preprints to published versions.

Installation

Requires Python 3.8 or higher.

$ pip install bibim

Usage

1. Initialize a New Repository

Convert a folder into a bibim repository:

$ bibim init

This creates an index.md file and a .bibim directory for preferences.

Multiple Tables

You can have multiple tables in index.md, each representing a different category (e.g., System, AI). Add a Markdown header above each table:

# System

# AI

Customizing Markdown Formatting

Modify formatting options in .bibim/settings.json. For example, to change the default column order:

{
  "columns": [
    "title",
    "authors_concise",
    "venue",
    "year",
    "num_citations",
    "reference"
  ]
}

2. Add a Reference

Add a reference by providing the paper title or author names:

$ bibim add "attention is all you need vaswani"

This creates a new file in ./references/{author}{year}{firstwordoftitle}.md with full metadata and updates index.md with concise metadata (abbreviated author names, title, venue, year, citation count, and a link to the full reference).

  • Automated metadata retrieval: Searches Google Scholar and DBLPto fill in authors, venue, and year.
  • Citation counts: Retrieves current citation counts from Google Scholar.
  • arXiv links: Includes direct links if available.

Specify a Target Table

Add a reference to a specific table:

$ bibim add "few shot learners" --table "ai"

Table titles are case-insensitive. If not specified, the reference is added to the first table in index.md.

3. Update References

Update all reference metadata, keeping any user-added columns or notes intact:

$ bibim update

You can also update a specific table:

$ bibim update --table "ai"

4. Generate a BibTeX File

Generate a BibTeX file from your bibliography:

$ bibim bibtex

Entry IDs are formatted as [author][year][firstwordoftitle] in lowercase.

5. Formatting Markdown

To beautify the index.md, run:

$ bibim format

Contributing

We welcome pull requests. For major changes, please open an issue to discuss your ideas.

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bibim-0.2.0.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

bibim-0.2.0-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file bibim-0.2.0.tar.gz.

File metadata

  • Download URL: bibim-0.2.0.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for bibim-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6311b86c1d5fd3c87d035a2fb25c4734ae8a1340cdbb11ed97b5683f4547f90a
MD5 38ea52c2029c359b6b4264e07df2cadb
BLAKE2b-256 9f540e5eeac05affa04e8b9b2a81d1539fea01a19193a9a9eecca1eba51917c6

See more details on using hashes here.

File details

Details for the file bibim-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: bibim-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 3.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for bibim-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e6ee1ee4c0882ca46d4a4ba9fd6f8a16beaa47a285bafd5df4d913eee666acb7
MD5 058e9e5a718748aa2fd5c18906e46277
BLAKE2b-256 955f1c94863ca62fc5d1adc98f7d30836ca0fc525e91a48bcf6d73d00348b4ca

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page