--- id: citeproc-py version: "0.10.7" license: BSD-2-Clause-Views license_treatment: permissive maintenance: active --- # citeproc-py — Citations and bibliography formatter License: permissive · Maintenance: active · Downloads: 131.4K/mo ## What it is and what it does citeproc-py is a Python implementation of the Citation Style Language (CSL) 1.0.2 specification. It takes structured reference metadata and a CSL style definition, then outputs formatted citations and bibliographies in multiple formats. The package parses CSL style and locale files using lxml, applies citation rules, and renders results as plain text, reStructuredText, or HTML—with support for input from JSON (citeproc-js format) or BibTeX files. The project is actively maintained and passes approximately 60% of the CSL test suite, though some advanced features remain unimplemented (disambiguation/year-suffix, et-al rules, collapsing, and others). It is still in alpha (major version 0), meaning the API could change, but the maintainers note that major API shifts are not expected soon. The package targets researchers, academics, and documentation systems that need programmatic citation formatting. Use it for: - Generate formatted bibliographies in academic papers or theses from a BibTeX or JSON reference database - Embed citation rendering in documentation generators or content management systems that need multiple output formats - Convert reference metadata to styled citations for web pages or reStructuredText-based documentation - Build citation tools or reference managers that support CSL styles without reimplementing the processor - Automate citation formatting in publishing workflows that require compliance with specific journal or style guidelines ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. citeproc-py processes Citation Style Language (CSL) stylesheets to generate formatted citations and bibliographies in plain text, reStructuredText, and HTML from structured reference data. Yes, if your citation needs align with CSL's implemented features. The package is actively maintained, has low install friction, and is permissively licensed. However, check the list of unimplemented CSL features (disambiguation, et-al rules, collapsing) against your requirements—if you need those features, you may hit limitations. The alpha status is not a blocker given the stable release history since 2013, but expect the API to remain subject to change. ## Install pip install citeproc-py uv add citeproc-py poetry add citeproc-py ## Installing citeproc-py Before you install: Low install friction with a single runtime dependency (lxml). Active maintenance with recent releases; the project is in alpha (major version 0) but has been stable since its early releases in 2013, with regular bug fixes and CSL specification updates. License in practice: BSD-2-Clause-Views is a permissive license, allowing commercial and private use with minimal restrictions—suitable for most projects that can include a license notice. Quickstart: pip install citeproc-py from citeproc_py import CiteprocPy # Load CSL style and reference data, then generate formatted citations Requires Python 3.9 or later; lxml is installed automatically as a dependency. Verify before relying: - Whether the ~60% CSL test-suite pass rate is sufficient for your citation requirements, given known unimplemented features (disambiguation, et-al rules, collapsing, etc.) - Exact API stability guarantees beyond the semantic versioning note that major version is still 0 ## Package facts - License: BSD-2-Clause-Views (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 131.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags CSL citation processor, bibliography formatter, citation style language, generate formatted citations, bibtex to styled output, reference formatting, csl processor python, citation-formatting, csl-processor, academic-publishing [View on SkillFed](https://skillfed.io/packages/citeproc-py) · [View on PyPI](https://pypi.org/project/citeproc-py/)