tomato·bazeldocs v0 · latest
Docs/Reference/Modules/rules_bibtex

rules_bibtex

Bazel-idiomatic BibTeX citations (arxiv/DOI/manual) + cite-lint + research-graph aspect

Latest0.0.6
Versions6
CategoryBazel rules
MaintainersMatt Marshall
Registryhttps://registry.tbzl.dev/modules/rules_bibtex/
Sourcegithub.com/tomato-bazel/rules_bibtex
MODULE.bazelstarlark
bazel_dep(name = "rules_bibtex", version = "0.0.6")

View source & releases on GitHub ↗

Bazel-idiomatic BibTeX citations (arxiv/DOI/manual) + cite-lint aspect + research-graph aspect; collects (paper, cites, paper) edges as RDF

Status: v0.0.1 — scaffold

No public surface yet. See CHANGELOG.md for what has shipped.

Install

.bazelrc:

common --registry=https://registry.fastverk.com/
common --registry=https://bcr.bazel.build/

MODULE.bazel:

bazel_dep(name = "rules_bibtex", version = "0.0.1")

Usage#

Real usage, taken from the module’s examples/.

examples/citations_only/BUILD.bazel

load(
    "@rules_bibtex//bib:defs.bzl",
    "arxiv_paper",
    "doi_paper",
    "manual_citation",
    "research_graph",
)

# Three citations covering the three source kinds + a transitive
# edge for the research-graph demo.

arxiv_paper(
    name = "vaswani2017attention",
    arxiv_id = "1706.03762v7",
    doi = "10.5555/3295222.3295349",
    bibtex = """@inproceedings{vaswani2017attention,
  title = {Attention Is All You Need},
  author = {Vaswani, Ashish and Shazeer, Noam and Parmar, Niki and Uszkoreit, Jakob and Jones, Llion and Gomez, Aidan N. and Kaiser, Lukasz and Polosukhin, Illia},
  booktitle = {NeurIPS},
  year = {2017},
  eprint = {1706.03762},
  archivePrefix = {arXiv},
}""",
)

arxiv_paper(
    name = "lewis2020rag",
    arxiv_id = "2005.11401v4",
    doi = "10.5555/3495724.3496517",
    bibtex = """@inproceedings{lewis2020rag,
  title = {Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks},
  author = {Lewis, Patrick and Perez, Ethan and Piktus, Aleksandra and Petroni, Fabio and Karpukhin, Vladimir and Goyal, Naman and K{\\"u}ttler, Heinrich and Lewis, Mike and Yih, Wen-tau and Rockt{\\"a}schel, Tim and Riedel, Sebastian and Kiela, Douwe},
  booktitle = {NeurIPS},
  year = {2020},
  eprint = {2005.11401},
  archivePrefix = {arXiv},
}""",
    # lewis2020rag references attention-is-all-you-need; the research
    # graph picks this up.
    cites = [":vaswani2017attention"],
)

doi_paper(
    name = "banarescu2013amr",
    doi = "10.18653/v1/W13-2322",
    bibtex = """@inproceedings{banarescu2013amr,
  title = {Abstract Meaning Representation for Sembanking},
  author = {Banarescu, Laura and Bonial, Claire and Cai, Shu and Georgescu, Madalina and Griffitt, Kira and Hermjakob, Ulf and Knight, Kevin and Koehn, Philipp and Palmer, Martha and Schneider, Nathan},
  booktitle = {Proceedings of the 7th Linguistic Annotation Workshop at ACL},
  year = {2013},
}""",
)

manual_citation(
    name = "mcp2024",
    snapshot_url = "https://modelcontextprotocol.io/specification/2024-11-05",
    bibtex = """@misc{mcp2024,
  title = {Model Context Protocol},
  author = {{Anthropic}},
  year = {2024},
  url = {https://modelcontextprotocol.io/specification/2024-11-05},
  note = {Specification},
}""",
)

# Research graph over the four citations + the cites-edge between
# lewis2020rag and vaswani2017attention.
research_graph(
    name = "demo_closure",
    roots = [
        ":lewis2020rag",
        ":banarescu2013amr",
        ":mcp2024",
    ],
)

Conformance#

No gate findings. 8 contested atoms. See how gating works or the full report.

Contested atoms

Third-party modules where this module resolves a different version than others do. Not a violation of anything this module did — it is the actionable form of a registry-level convergence finding, and the sentence a maintainer can act on.

AtomResolved hereElsewhere
apple_support 1.24.2 2.2.0 ×1
bazel_skylib 1.8.2 1.9.0 ×2
nlohmann_json 3.6.1 3.12.0.bcr.1 ×1
protobuf 33.4 34.0.bcr.1 ×2
rules_jvm_external 6.7 6.8 ×4
rules_python 1.7.0 2.0.1 ×1
rules_swift 3.1.2 3.6.1 ×1
upb 0.0.0-20220923-a547704 0.0.0-20230516-61a97ef ×1

Dependencies#

rules_bibtex in the registry graph — what it depends on (left) and what depends on it (right).

Depends on

platforms1.0.0bazel_skylib1.8.2rules_tectonic0.2.0rules_python1.7.0rules_shell0.6.1devstardoc0.7.2dev

Versions#

6 published versions, newest first. Each resolves to an immutable, integrity-checked archive.

VersionIntegrity (sha256)Source archive
0.0.6 latest W0qzPBTyYLMmaq5g… tag archive ↗
0.0.5 0D80ekkQlEHM3QYQ… tag archive ↗
0.0.4 XSX48BNzpf1C+ztR… tag archive ↗
0.0.3 nSktyxBjY02Oeq2q… tag archive ↗
0.0.2 IE3km7EcoHfI95f3… tag archive ↗
0.0.1 /1qNkQvllocmySbI… tag archive ↗

Changelog#

All notable changes to rules_bibtex. The format is loosely Keep a Changelog — version headers mirror the published bazel-registry entries.

0.0.1 — scaffold

  • Initial scaffold via rels scaffold. No public API yet.

← All modules