Utility library for academic work — converts RIS and NBIB reference files to BibTeX
Project description
univtil
A Python utility library for academic work, focused on processing bibliographic reference files.
Features
- Parse RIS (Research Information Systems) files and convert them to BibTeX
- Parse NBIB (PubMed/NLM) files and convert them to BibTeX
- Handles multiple entries per file
- Automatic BibTeX entry-type mapping (article, book, inproceedings, etc.)
- Auto-generated citation keys from author name and year
Installation
Clone the repository and add it to your Python path:
python -m pip install univtil
Usage
RIS → BibTeX
from univtil.bib.ris import RIS, rislist
# Single entry
with open("paper.ris") as f:
text = f.read()
ref = RIS(text)
print(ref.tobib())
# Multiple entries in one file
refs = rislist(text)
for ref in refs:
print(ref.tobib())
print()
NBIB (PubMed) → BibTeX
from univtil.bib.nbib import NBib, nbiblist
with open("results.nbib") as f:
text = f.read()
# Single entry
ref = NBib(text)
print(ref.tobib())
# Multiple entries
refs = nbiblist(text)
for ref in refs:
print(ref.tobib())
print()
Supported entry types
| Source type | BibTeX entry |
|---|---|
| Journal article / Review | @article |
| Book | @book |
| Book chapter | @inbook |
| Conference paper | @inproceedings |
| Thesis | @phdthesis |
| Technical report | @techreport |
| Other | @misc |
License
MIT License — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file univtil-1.0.0.tar.gz.
File metadata
- Download URL: univtil-1.0.0.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30c2eb6375fd094baca20b8923b27c6fb32a902be62a69794414550e2174197c
|
|
| MD5 |
f4e6341c137573696f44c23ba727c599
|
|
| BLAKE2b-256 |
d37cc02ce91960020525dccb375c55b649e623ce348e8da961a4c94b028a76ec
|
Provenance
The following attestation bundles were made for univtil-1.0.0.tar.gz:
Publisher:
publish.yml on qnilix/univtil
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
univtil-1.0.0.tar.gz -
Subject digest:
30c2eb6375fd094baca20b8923b27c6fb32a902be62a69794414550e2174197c - Sigstore transparency entry: 1938065209
- Sigstore integration time:
-
Permalink:
qnilix/univtil@56c8eb01c8d969d0662c8ccb58c76930dc0e82ad -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/qnilix
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@56c8eb01c8d969d0662c8ccb58c76930dc0e82ad -
Trigger Event:
push
-
Statement type:
File details
Details for the file univtil-1.0.0-py3-none-any.whl.
File metadata
- Download URL: univtil-1.0.0-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08022c6653dd1a6d223b1acfd3a7b405d9965778d49736d1d9869f9a10a052a4
|
|
| MD5 |
c8373d576961e4e997c2f48f2f687f49
|
|
| BLAKE2b-256 |
f4da1b8dedb97ef887118f6da8caea07da4888fec90e87d43575d53038e5d0f7
|
Provenance
The following attestation bundles were made for univtil-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on qnilix/univtil
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
univtil-1.0.0-py3-none-any.whl -
Subject digest:
08022c6653dd1a6d223b1acfd3a7b405d9965778d49736d1d9869f9a10a052a4 - Sigstore transparency entry: 1938065354
- Sigstore integration time:
-
Permalink:
qnilix/univtil@56c8eb01c8d969d0662c8ccb58c76930dc0e82ad -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/qnilix
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@56c8eb01c8d969d0662c8ccb58c76930dc0e82ad -
Trigger Event:
push
-
Statement type: