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.1.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

bibim-0.2.1-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bibim-0.2.1.tar.gz
  • Upload date:
  • Size: 14.7 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.1.tar.gz
Algorithm Hash digest
SHA256 c27044061d938c28c7cdec7506d81729d2aa0d38c409087322da208418a0ee55
MD5 9ea770cdbb2b669eef27f4ecd64cedd0
BLAKE2b-256 224ae0f55d009aed6368e1c1855704d3c301aabea43ddb66dd6d76e95b17d2b0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bibim-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 14.7 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d446f467418424d185f37fa88cd00ae99e1fcb0ffbe3df7eb6bfc75fe06fd5e7
MD5 f77d30cf6a7216dc1b72e84f14934671
BLAKE2b-256 4dcad4e2e6aba7d7ca05f5eb8a06ac53e18d171867f619255000faa6b96ea856

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