RefKit
Parse bibliography data, render citations and bibliographies, and edit raw BibTeX from Python. RefKit accepts BibTeX, BibLaTeX, and Hayagriva YAML, with Citation Style Language rendering into text, HTML, and structured trees.
Documentation · Python reference · Polars
Render a citation
Install in Python 3.10 through 3.14:
python -m pip install refkit
import refkit as rk
library = rk.Library.parse_bibtex("""
@article{doe2024,
author = {Doe, Jane},
title = {Fast Citations},
journal = {Journal of Citation Tests},
year = {2024}
}
""")
document = rk.Document(library, rk.Style.load("apa"), locale="en-US")
result = document.render([rk.Citation("intro", "doe2024")])
print(result["intro"].text)
print(result.bibliography.text)
(Doe, 2024)
Doe, J. (2024). Fast Citations. Journal of Citation Tests.
Pass related citations in one ordered render call so numbering and disambiguation share the same context. Continue with the Python quickstart.
Use with agents
The refkit package includes an Agent Plugin
with version-matched task guidance. An agent that can execute Python can
discover the installed workflow:
import refkit.agent
help(refkit.agent)
Agent integration covers discovery and packaged resources.
Choose a workflow
- Parse and recover normalized entries and structured diagnostics.
- Edit BibTeX by source occurrence while preserving surrounding text.
- Format BibTeX with key generation, duplicate handling, and rename reports.
- Render structured output with source identity and bibliography layout.
- Run in Pyodide with the tested WebAssembly runtime.
RefKit is alpha software. Public APIs may change before 1.0.
Release files for refkit 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| refkit-0.2.0.tar.gz | 92.1 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| refkit-0.2.0-cp310-abi3-win_amd64.whl | CPython 3.10 | abi3 | Windows x86-64 | Details |
| refkit-0.2.0-cp310-abi3-pyemscripten_2026_0_wasm32.whl | CPython 3.10 | abi3 | PyEmscripten 2026.0+ WebAssembly | Details |
| refkit-0.2.0-cp310-abi3-manylinux_2_34_x86_64.whl | CPython 3.10 | abi3 | Linux glibc 2.34+ x86-64 | Details |
| refkit-0.2.0-cp310-abi3-macosx_11_0_arm64.whl | CPython 3.10 | abi3 | macOS 11.0+ ARM64 | Details |
Total release size: 10.2 MB
Release files / refkit-0.2.0.tar.gz
| Download URL | refkit-0.2.0.tar.gz |
|---|---|
| Size | 92.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bec0a83078ffd6a737f78b49b811d7ff4cac2b7c2a1c1549de1aa7e5f0e4e88a
|
|
BLAKE2b-256 checksum How to use checksums |
0339c265dd4186a147ad70e4fc9e66d61cea05898dc28bf312ef3523b331f03f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / refkit-0.2.0-cp310-abi3-win_amd64.whl
| Download URL | refkit-0.2.0-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 2.8 MB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
a20923ce39987acd79b270de1436eede60f59f86cae2c6b04896f8fa2944f957
|
|
BLAKE2b-256 checksum How to use checksums |
a332fd5cc8c854624e276cf17a484305da456cf0cf2535c4c79429529f69aeef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / refkit-0.2.0-cp310-abi3-pyemscripten_2026_0_wasm32.whl
| Download URL | refkit-0.2.0-cp310-abi3-pyemscripten_2026_0_wasm32.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.10 PyEmscripten 2026.0+ WebAssembly abi3 |
|
SHA-256 checksum How to use checksums |
7cb542f3f30c02bd0840a27b85f3b67560de439bbc8beddff1478c46c2b8cc24
|
|
BLAKE2b-256 checksum How to use checksums |
558f8e88f01545cc76a810d4c325b0dc1f9167e351256b8d8ba50dd9e656c823
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / refkit-0.2.0-cp310-abi3-manylinux_2_34_x86_64.whl
| Download URL | refkit-0.2.0-cp310-abi3-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 2.8 MB |
| Tags | CPython 3.10 Linux glibc 2.34+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
4cc8df6c07b2c6700eb92c3edbbd8559a64248d4768bd1a5c98015e24e01642f
|
|
BLAKE2b-256 checksum How to use checksums |
3cfc82e8b5d4a6abd29d3ddf3087c174a02b91e905ed3076ec92faae8da019d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / refkit-0.2.0-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | refkit-0.2.0-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d5b09cd46a9213561032fe0ada68bf1681b4ef54c6cea1401a1f23c28c0a0a74
|
|
BLAKE2b-256 checksum How to use checksums |
4f982c6ae5b9c705333586f0bfa4913e40f87feebbc172b298fbc4a954c184c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|