updatecitation

Automatically update citation files (CITATION.cff) in a GitHub repository from `pyproject.toml`, GitHub releases, and PyPI releases.

https://github.com/hunterhogan/updatecitation

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.8%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Automatically update citation files (CITATION.cff) in a GitHub repository from `pyproject.toml`, GitHub releases, and PyPI releases.

Basic Info
  • Host: GitHub
  • Owner: hunterhogan
  • License: other
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 165 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 12
Created about 1 year ago · Last pushed 7 months ago
Metadata Files
Readme Funding License Citation

README.md

updateCitation

updateCitation is a Python tool that automates the maintenance of citation metadata in software projects. It helps researchers and developers ensure their work is properly citeable while maintaining consistent metadata across different platforms.

Key Features

  • Automatic generation and updates of CITATION.cff files
  • Seamless integration with Python package metadata from pyproject.toml
  • Synchronization with GitHub release information
  • Integration with PyPI package metadata
  • Validation of citation metadata format
  • GitHub Actions support for automated updates

Installation

bash pip install updateCitation

Usage

The simplest way to use updateCitation is to run it from your repository root:

python import updateCitation updateCitation.here()

For custom pyproject.toml locations:

python updateCitation.here("path/to/pyproject.toml")

GitHub Actions Integration

updateCitation provides a GitHub Action that automatically updates your citation metadata on each push. To enable this:

  1. Create .github/workflows/updateCitation.yml in your repository
  2. Copy the provided workflow configuration
  3. Commit and push to activate automated citation updates

Configuration

updateCitation primarily uses your project's pyproject.toml file for configuration. Essential fields include:

Required Fields

  • name: Package name
  • version: Current version
  • authors: List of authors with names and emails

Recommended Fields

  • description: Project description
  • keywords: Search keywords
  • license: License information
  • urls: Project URLs (homepage, repository, etc.)

Optional Tool Settings

You can customize updateCitation's behavior in the [tool.updateCitation] section of pyproject.toml.

Documentation

For detailed documentation, examples, and best practices, visit our GitHub repository.

Contributing

Contributions are welcome! Please feel free to submit pull requests.

My recovery

Static Badge YouTube Channel Subscribers

How to code

Coding One Step at a Time:

  1. WRITE CODE.
  2. Don't write stupid code that's hard to revise.
  3. Write good code.
  4. When revising, write better code.

CC-BY-NC-4.0

Owner

  • Name: Hunter Hogan
  • Login: hunterhogan
  • Kind: user

Citation (CITATION.cff)

abstract: updateCitation is a Python tool that automates the maintenance of 
  citation metadata in software projects. It seamlessly integrates with Python 
  package ecosystems by extracting metadata from pyproject.toml files, 
  synchronizing with GitHub releases, and incorporating PyPI package information
  to generate and update CITATION.cff files. This tool helps researchers and 
  developers ensure their software is properly citeable while maintaining 
  consistent metadata across different platforms.
authors:
- given-names: Hunter
  family-names: Hogan
  email: HunterHogan@pm.me
cff-version: 1.2.0
commit: bea76fde9905f8e751c820b07b0638700e5177e0
date-released: '2025-07-12'
identifiers:
- type: url
  value: https://github.com/hunterhogan/updateCitation/releases/tag/0.0.11
  description: The URL for updateCitation 0.0.11.
keywords:
- academic-software
- automation
- cff
- citation
- citation-files
- doi
- github
- metadata
- publishing
- references
- research-software
- scholarly-communication
- software-citation
- zenodo
license: CC-BY-NC-4.0
message: Cite this software with the metadata in this file.
repository: https://github.com/hunterhogan/updateCitation.git
repository-artifact: https://pypi.org/project/updatecitation/0.0.11/
repository-code: 
  https://github.com/hunterhogan/updateCitation/releases/tag/0.0.11
title: updateCitation
type: software
url: https://github.com/hunterhogan/updateCitation
version: 0.0.11

GitHub Events

Total
  • Release event: 12
  • Watch event: 1
  • Push event: 63
  • Create event: 13
Last Year
  • Release event: 12
  • Watch event: 1
  • Push event: 63
  • Create event: 13

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 196 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 11
  • Total maintainers: 1
pypi.org: updatecitation

Automatically update citation files (CITATION.cff) in a GitHub repository from `pyproject.toml`, GitHub releases, and PyPI releases.

  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 196 Last month
Rankings
Dependent packages count: 9.6%
Average: 32.0%
Dependent repos count: 54.3%
Maintainers (1)
Last synced: 6 months ago

Dependencies

pyproject.toml pypi
  • attrs *
  • cffconvert *
  • httpx *
  • packaging *
  • pygithub *
  • ruamel.yaml *
  • tomli *
.github/workflows/githubRelease.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • softprops/action-gh-release c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda composite
.github/workflows/pypiRelease.yml actions
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
  • actions/setup-python v5 composite
  • actions/upload-artifact v4 composite
  • pypa/gh-action-pypi-publish 76f52bc884231f62b9a034ebfe128415bbaabdfc composite
.github/workflows/pythonTests.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
.github/workflows/updateCitation.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
tests/dataSamples/pyproject.toml pypi
  • attrs *
  • cffconvert *
  • httpx *
  • packaging *
  • pygithub *
  • ruamel.yaml *
  • tomli *