# 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](https://github.com/hunterhogan/updateCitation).
## Contributing
Contributions are welcome! Please feel free to submit pull requests.
## License
This project is licensed under CC-BY-NC-4.0. See the LICENSE file for details.
[](https://creativecommons.org/licenses/by-nc/4.0/)
Raw data
{
"_id": null,
"home_page": null,
"name": "updateCitation",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "academic-software, automation, cff, citation-files, citation, doi, github, metadata, publishing, references, research-software, scholarly-communication, software-citation, zenodo",
"author": null,
"author_email": "Hunter Hogan <HunterHogan@pm.me>",
"download_url": "https://files.pythonhosted.org/packages/fc/5e/2b92c178040a89e62cb865d2a4f91ff463774550fe765c4268bdda93f43f/updatecitation-0.0.8.tar.gz",
"platform": null,
"description": "# updateCitation\n\nupdateCitation 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.\n\n## Key Features\n\n- Automatic generation and updates of CITATION.cff files\n- Seamless integration with Python package metadata from pyproject.toml\n- Synchronization with GitHub release information\n- Integration with PyPI package metadata\n- Validation of citation metadata format\n- GitHub Actions support for automated updates\n\n## Installation\n\n```bash\npip install updateCitation\n```\n\n## Usage\n\nThe simplest way to use updateCitation is to run it from your repository root:\n\n```python\nimport updateCitation\nupdateCitation.here()\n```\n\nFor custom pyproject.toml locations:\n\n```python\nupdateCitation.here(\"path/to/pyproject.toml\")\n```\n\n## GitHub Actions Integration\n\nupdateCitation provides a GitHub Action that automatically updates your citation metadata on each push. To enable this:\n\n1. Create `.github/workflows/updateCitation.yml` in your repository\n2. Copy the provided workflow configuration\n3. Commit and push to activate automated citation updates\n\n## Configuration\n\nupdateCitation primarily uses your project's `pyproject.toml` file for configuration. Essential fields include:\n\n### Required Fields\n\n- `name`: Package name\n- `version`: Current version\n- `authors`: List of authors with names and emails\n\n### Recommended Fields\n\n- `description`: Project description\n- `keywords`: Search keywords\n- `license`: License information\n- `urls`: Project URLs (homepage, repository, etc.)\n\n### Optional Tool Settings\n\nYou can customize updateCitation's behavior in the `[tool.updateCitation]` section of pyproject.toml.\n\n## Documentation\n\nFor detailed documentation, examples, and best practices, visit our [GitHub repository](https://github.com/hunterhogan/updateCitation).\n\n## Contributing\n\nContributions are welcome! Please feel free to submit pull requests.\n\n## License\n\nThis project is licensed under CC-BY-NC-4.0. See the LICENSE file for details.\n\n[](https://creativecommons.org/licenses/by-nc/4.0/)\n",
"bugtrack_url": null,
"license": "CC-BY-NC-4.0",
"summary": "Automatically update citation files (CITATION.cff) in a GitHub repository from `pyproject.toml`, GitHub releases, and PyPI releases.",
"version": "0.0.8",
"project_urls": {
"Donate": "https://www.patreon.com/integrated",
"Homepage": "https://github.com/hunterhogan/updateCitation",
"Repository": "https://github.com/hunterhogan/updateCitation.git"
},
"split_keywords": [
"academic-software",
" automation",
" cff",
" citation-files",
" citation",
" doi",
" github",
" metadata",
" publishing",
" references",
" research-software",
" scholarly-communication",
" software-citation",
" zenodo"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "cd62660c9d699abc6512f91ad96ef96daf4733396f37860f096e660f9df838cf",
"md5": "83c332ee5b8645994246ecf837beca00",
"sha256": "a1f16479fead25e84c7d16dadaaaebde294408007b62987a84acfe25908338f7"
},
"downloads": -1,
"filename": "updatecitation-0.0.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "83c332ee5b8645994246ecf837beca00",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 25986,
"upload_time": "2025-03-07T13:42:24",
"upload_time_iso_8601": "2025-03-07T13:42:24.461232Z",
"url": "https://files.pythonhosted.org/packages/cd/62/660c9d699abc6512f91ad96ef96daf4733396f37860f096e660f9df838cf/updatecitation-0.0.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fc5e2b92c178040a89e62cb865d2a4f91ff463774550fe765c4268bdda93f43f",
"md5": "6b41de8135f4deedc07d1f7adef84b4c",
"sha256": "319650ae6b2019ffb0c74a15f40f65598d208a4f438c1a2813a5664d213b84d0"
},
"downloads": -1,
"filename": "updatecitation-0.0.8.tar.gz",
"has_sig": false,
"md5_digest": "6b41de8135f4deedc07d1f7adef84b4c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 22637,
"upload_time": "2025-03-07T13:42:26",
"upload_time_iso_8601": "2025-03-07T13:42:26.548680Z",
"url": "https://files.pythonhosted.org/packages/fc/5e/2b92c178040a89e62cb865d2a4f91ff463774550fe765c4268bdda93f43f/updatecitation-0.0.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-03-07 13:42:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hunterhogan",
"github_project": "updateCitation",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "updatecitation"
}