Skip to main content

A Python tool for fetching citations from multiple sources.

Project description

get-bibtex

A Python tool for fetching citations from multiple sources.

PyPI version Python Version License: MIT

中文文档

Features

  • Multiple data sources (CrossRef, DBLP, Google Scholar)
  • Smart workflow and fallback mechanism
  • Batch processing
  • Detailed error handling and logging

Quick Start

Installation

pip install get-bibtex

Basic Usage

from apiModels import CrossRefBibTeX

# Using CrossRef
fetcher = CrossRefBibTeX(email="your.email@example.com")
bibtex = fetcher.get_bibtex("10.3390/s22197244")  # FedMSA paper
print(bibtex)

Using Workflow

from apiModels import WorkflowBuilder, CrossRefBibTeX, DBLPBibTeX

# Create workflow
workflow = WorkflowBuilder()
workflow.add_fetcher(CrossRefBibTeX(email="your.email@example.com"))
workflow.add_fetcher(DBLPBibTeX())

# Batch processing
queries = [
    "ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks",
    "CBAM: Convolutional Block Attention Module"
]
results = workflow.get_multiple_bibtex(queries)

Using Google Scholar

Getting SerpAPI Key

  1. Visit SerpAPI and sign up
  2. Get API key from Dashboard
  3. Initialize Google Scholar fetcher with API key
from apiModels import GoogleScholarBibTeX

fetcher = GoogleScholarBibTeX(api_key="your-serpapi-key")
bibtex = fetcher.get_bibtex("Attention Is All You Need")
print(bibtex)

Notes

  • Free plan limited to 100 searches per month
  • Use environment variables for API key
  • Prefer CrossRef and DBLP when possible

Examples

Fetching Attention Mechanism Papers

from apiModels import CrossRefBibTeX

fetcher = CrossRefBibTeX(email="your.email@example.com")

# Get ECA-Net paper citation
bibtex = fetcher.get_bibtex("10.1109/cvpr42600.2020.01155")
print(bibtex)

File Processing

from apiModels import WorkflowBuilder

workflow = WorkflowBuilder()
workflow.add_fetcher(CrossRefBibTeX(email="your.email@example.com"))
workflow.add_fetcher(DBLPBibTeX())

# Read queries from file and save results
workflow.process_file("papers.txt", "references.bib")

Documentation

For detailed documentation, see blog_cn.md

Contributing

Pull requests and issues are welcome!

License

MIT

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

get_bibtex-2.0.1.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

get_bibtex-2.0.1-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file get_bibtex-2.0.1.tar.gz.

File metadata

  • Download URL: get_bibtex-2.0.1.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.14

File hashes

Hashes for get_bibtex-2.0.1.tar.gz
Algorithm Hash digest
SHA256 2e9bfce29555e7418cb12a8abb7ac25968367a3edf686672249489531d4a8b4d
MD5 4038645744bd8064df6d7ee233ae4e57
BLAKE2b-256 733c1c9aabf2917f43ed9cdaba91ad1258ba036681931a761480b64091e30359

See more details on using hashes here.

File details

Details for the file get_bibtex-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: get_bibtex-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.14

File hashes

Hashes for get_bibtex-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 97f65853ca5ed8c6689d772c5a1a4f11392db5dd3d3e92c8c87ea791618a94ed
MD5 cf1d06a421fc5d902e401e0b2c5c8f4a
BLAKE2b-256 9dd51d5baaf9517da6b58c51d48c0d113da6c8d25e09c3cc1480838e3eecc464

See more details on using hashes here.

Supported by

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