RefKit
Parse bibliography data, render citations and bibliographies, and edit raw BibTeX from Python. RefKit accepts BibTeX, BibLaTeX, Hayagriva YAML, and CSL-JSON, with Citation Style Language rendering into text, HTML, and structured trees. Construct libraries from structured records or convert formats with loss reports.
BibDocument.apply_patch applies atomic entry and field edits and returns a new snapshot with byte changes and occurrence mappings. Existing handles retain their original values and spans. The raw editing guide covers patch operations and reference rewrites.
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.
Metadata
Release files for refkit 0.4.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 | Provenance | Actions |
|---|---|---|---|---|
| refkit-0.4.0.tar.gz | 172.5 kB | Without provenance | Details for refkit-0.4.0.tar.gz |
Built distributions (wheels)
| File | Actions Reset | |||
|---|---|---|---|---|
| refkit-0.4.0-cp310-abi3-win_amd64.whl | CPython 3.10 | abi3 | Windows x86-64 | Details for refkit-0.4.0-cp310-abi3-win_amd64.whl |
| refkit-0.4.0-cp310-abi3-pyemscripten_2026_0_wasm32.whl | CPython 3.10 | abi3 | PyEmscripten 2026.0+ WebAssembly | Details for refkit-0.4.0-cp310-abi3-pyemscripten_2026_0_wasm32.whl |
| refkit-0.4.0-cp310-abi3-manylinux_2_34_x86_64.whl | CPython 3.10 | abi3 | Linux glibc 2.34+ x86-64 | Details for refkit-0.4.0-cp310-abi3-manylinux_2_34_x86_64.whl |
| refkit-0.4.0-cp310-abi3-macosx_11_0_arm64.whl | CPython 3.10 | abi3 | macOS 11.0+ ARM64 | Details for refkit-0.4.0-cp310-abi3-macosx_11_0_arm64.whl |
Total release size: 12.6 MB
Release files / refkit-0.4.0.tar.gz
| Download URL | refkit-0.4.0.tar.gz |
|---|---|
| Size | 172.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
edffd632d530cb66d19485ebaf0db89fb44d889a1b284513f05b150b2767359d
|
|
BLAKE2b-256 checksum How to use checksums |
751d8a48382761d99eee410e2327b55ba130db32ac582fbb6f83c352ce91c623
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","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.4.0-cp310-abi3-win_amd64.whl
| Download URL | refkit-0.4.0-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 3.4 MB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
1435686f7a8003bd30296ea2855cdbf6ed88e9580866e129cdd4cbd5a646b481
|
|
BLAKE2b-256 checksum How to use checksums |
194d5435ede667a74fe7152c32b0c608a248229a7278edfe294852d151736359
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","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.4.0-cp310-abi3-pyemscripten_2026_0_wasm32.whl
| Download URL | refkit-0.4.0-cp310-abi3-pyemscripten_2026_0_wasm32.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.10 PyEmscripten 2026.0+ WebAssembly abi3 |
|
SHA-256 checksum How to use checksums |
ba10c6d5514c4999c70f4e4a930fbbc4b645fed197e6e76260ed8c33f70bf510
|
|
BLAKE2b-256 checksum How to use checksums |
6486b02ea05fa0c36a5085a9f26b48c8c3b0a201e593a0d29e72801deeed5854
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","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.4.0-cp310-abi3-manylinux_2_34_x86_64.whl
| Download URL | refkit-0.4.0-cp310-abi3-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 3.4 MB |
| Tags | CPython 3.10 Linux glibc 2.34+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
4a0441100034b538dea7e99e741030f8575bd6e336b0215353e85a5a6a5e8a3d
|
|
BLAKE2b-256 checksum How to use checksums |
b6bbd7bff959a2f5cacd08d3dee8b0de818ca769a5e64070cfff249f41534063
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","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.4.0-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | refkit-0.4.0-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
03ad347a74c716ee86750be25a190fee1e770291e19c5133454c6cbc19b80cc2
|
|
BLAKE2b-256 checksum How to use checksums |
0005581c9d8db4724f9c3a28b6db281ac74472ff9b0066933094deb3a2facb76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","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}
|
Security for refkit 0.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.