Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bibdec-0.0.1.tar.gz (34.9 kB view details)

Uploaded Source

Built Distribution

bibdec-0.0.1-py2.py3-none-any.whl (5.7 kB view details)

Uploaded Python 2 Python 3

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

Hashes for bibdec-0.0.1.tar.gz
Algorithm Hash digest
SHA256 9baf491a91caa46ea13778b3f39ba633d710b8a76149e71071fa84f200ccdc15
MD5 8ca2005f6dcf5c7ee098c6d8fb23f1a6
BLAKE2b-256 99af02af0230e3c6e05230f84025ea7c88ef0de7ea9ac1ffbc5f523f728b72cd

See more details on using hashes here.

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

Hashes for bibdec-0.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b15a37dacd4d97a77cd950e8c7ec85a0b9d1958611c77cfa8071e46f24fbccbd
MD5 dd8af50347198c6a22830de2e78df043
BLAKE2b-256 a504308926559aa08e33ac8e41bbae20a651da70a9c88b6f02a2fafea6da1968

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page