Automates citation collection for scientific software, methods, and datasets used in Python analyses.
Duecredit is a Python framework that automates the collection and reporting of citations for scientific software, methods, and datasets used in computational analyses. It solves the problem of inadequate credit given to foundational tools in research by embedding references in code and presenting only the citations relevant to the executed functionality.
Scientific software developers, researchers, and data scientists who use Python for computational analyses and want to ensure proper attribution for the software and methods they rely on.
Developers choose Duecredit because it seamlessly integrates into existing workflows as an optional dependency, provides automated and precise citation tracking, and helps promote a culture of proper credit in scientific software, which can incentivize maintenance and collaboration on core projects.
Automated collection and reporting of citations for used software/methods/datasets
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Collects citations only for actually used functionality, as shown in the example output where specific scipy functions are cited while others are omitted.
Code functions normally without Duecredit installed; citations are only collected when explicitly enabled via environment variables or command-line, preventing breakage.
Supports adding citations for third-party modules via injection files (e.g., under duecredit/injections/), allowing credit for libraries without native support.
Exports citations in human-readable summaries or BibTeX format, as demonstrated with the 'duecredit summary --format=bibtex' command for easy paper integration.
Enables tagging citations (e.g., implementation, dataset, funding) for detailed reporting, with examples like DUECREDIT_REPORT_TAGS=* to show all tags.
The README states it's 'at the moment for Python only,' limiting its use in multi-language scientific workflows or projects using R, Julia, etc.
For unsupported libraries, users must create custom injection files, which adds setup effort and relies on community contributions, as admitted in the 'Add injections' section.
Many scientific libraries lack native Duecredit support, so citations may be incomplete without injections, reducing out-of-the-box utility.
Decorators and citation collection introduce runtime overhead when Duecredit is active, which could impact large-scale or time-sensitive analyses.