A decorator used to automatically generate citations from Python code
Project description
The goal of this project is to provide an easy-to-use tool that autogenerates a bibliography. Specifically, the code provides a decorator that allows you to add citations to your functions. Then, if one of the decorated functions is called, their relevant citation keys are added to a dictionary together with the function signature that generated those citation keys. Once the program is finished running, you can request a list of used citation keys to see which cites you used where. Also, you can export the bibliography as a bibtex file containing only the references that are used at least once.
Installation
The library is available on PyPI, so you can install it with pip:
pip install bibdec
Simple example
Below is a minimal example demonstrating with only one key. However, you can also decorate a function with multiple keys, or even have conditional citations based on the function signature. More complex examples are available in the example section of the documentation.
from bibdec import Bibliography
bibtex = """
@article{key1,
author = {Some Author},
title = {Some paper},
journal = {Some Journal},
year = {1999},
volume = {42},
number = {100 -- 150}
}
"""
bibliography = Bibliography(bibtex)
@bibliography.register_cites("key1")
def f(a):
return a + 2
print("Before calling the function:")
print(bibliography.citations)
print(bibliography.active_bibliography)
f(0)
print("After calling the function:")
print(bibliography.citations)
print(bibliography.active_bibliography)
Output:
Before calling the function:
{}
After calling the function:
{'__main__.f()': {'key1'}}
@article{key1,
author = {Some Author},
journal = {Some Journal},
number = {100 -- 150},
title = {Some paper},
volume = {42},
year = {1999}
}
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 bibdec-0.0.1.tar.gz.
File metadata
- Download URL: bibdec-0.0.1.tar.gz
- Upload date:
- Size: 34.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.1.post20201107 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9baf491a91caa46ea13778b3f39ba633d710b8a76149e71071fa84f200ccdc15
|
|
| MD5 |
8ca2005f6dcf5c7ee098c6d8fb23f1a6
|
|
| BLAKE2b-256 |
99af02af0230e3c6e05230f84025ea7c88ef0de7ea9ac1ffbc5f523f728b72cd
|
File details
Details for the file bibdec-0.0.1-py2.py3-none-any.whl.
File metadata
- Download URL: bibdec-0.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.1.post20201107 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b15a37dacd4d97a77cd950e8c7ec85a0b9d1958611c77cfa8071e46f24fbccbd
|
|
| MD5 |
dd8af50347198c6a22830de2e78df043
|
|
| BLAKE2b-256 |
a504308926559aa08e33ac8e41bbae20a651da70a9c88b6f02a2fafea6da1968
|