{"id":37075939,"url":"https://github.com/delb-xml/cff-from-621","last_synced_at":"2026-01-14T08:56:05.352Z","repository":{"id":62221852,"uuid":"538241951","full_name":"delb-xml/cff-from-621","owner":"delb-xml","description":"Derive a CITATION.cff from a pyproject.toml file's contents.","archived":false,"fork":false,"pushed_at":"2026-01-01T13:12:59.000Z","size":31,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-06T14:30:12.552Z","etag":null,"topics":["citation-file-format","metadata","research-software-engineering"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/delb-xml.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-09-18T21:09:50.000Z","updated_at":"2026-01-01T13:12:55.000Z","dependencies_parsed_at":"2025-10-01T18:07:50.465Z","dependency_job_id":"0057021c-437b-4c89-a838-c9402b021692","html_url":"https://github.com/delb-xml/cff-from-621","commit_stats":{"total_commits":13,"total_committers":2,"mean_commits":6.5,"dds":"0.23076923076923073","last_synced_commit":"1fd6dcd1077fed0eac91fc427a1ca76bb48bebcd"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/delb-xml/cff-from-621","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delb-xml%2Fcff-from-621","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delb-xml%2Fcff-from-621/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delb-xml%2Fcff-from-621/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delb-xml%2Fcff-from-621/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/delb-xml","download_url":"https://codeload.github.com/delb-xml/cff-from-621/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delb-xml%2Fcff-from-621/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28414714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T08:38:59.149Z","status":"ssl_error","status_checked_at":"2026-01-14T08:38:43.588Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["citation-file-format","metadata","research-software-engineering"],"created_at":"2026-01-14T08:56:04.707Z","updated_at":"2026-01-14T08:56:05.334Z","avatar_url":"https://github.com/delb-xml.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cff-from-621\n\nThis tool derives a [`CITATION.cff`](https://citation-file-format.github.io/)\nfile from a Python project's `pyproject.toml` contents that provide\n[PEP-621](https://peps.python.org/pep-0621/) compliant package metadata.\n\n## Features\n\n- Additional and overriding values can be provided statically or via Python\n  string templates.\n- Order of the resulting fields can be defined, has a non-arbitrary default.\n- Dynamic fields are resolved for the `setuptools` build backend.\n\n## Example\n\nGiven a `pyproject.toml` that includes these contents:\n\n```toml\n[build-system]\nrequires = [\"setuptools\"]\nbuild-backend = \"setuptools.build_meta\"\n\n[project]\nname = \"cff-from-621\"\ndescription = \"Generates metadata in the Citation File Format for Python projects from their PEP-621 compliant package definition. Includes a CLI.\"\nkeywords = [\"PEP-621\", \"CFF\", \"conversion\"]\nauthors = [\n    {name = \"Frank Sachsenheim\"}\n]\ndynamic = [\"version\"]\n\n[tool.cff-from-621]\norder = [\"message\", \"cff-version\", \"title\", \"abstract\", \"version\", \"date-released\", \"authors\", \"keywords\"]\n\n[tool.cff-from-621.static]\ndate-released = \"2022-09-18\"\nmessage = \"🔥🌍🔥\"\n\n[tool.setuptools.dynamic]\nversion = {attr = \"cff_from_621.version.VERSION\"}\n```\n\n`cff-from-621` would derive this `CITATION.cff`:\n\n```yaml\n---\nmessage: 🔥🌍🔥\ncff-version: 1.2.0\ntitle: cff-from-621\nabstract: Generates metadata in the Citation File Format for Python projects from\n  their PEP-621 compliant package definition. Includes a CLI.\nversion: 0.0.1\ndate-released: '2022-09-18'\nauthors:\n- name: Frank Sachsenheim\nkeywords:\n- PEP-621\n- CFF\n- conversion\ntype: software\n...\n```\n\n## Installation\n\nAdd `cff-from-621` with your environment management or install it globally\nwith [pipx](https://pypa.github.io/pipx/):\n\n    $ pipx install cff-from-621\n\n## Usage\n\nChange into your project's root folder and jump right in with:\n\n    $ cff-from-621\n\nThe usage details can be explored with:\n\n    $ cff-from-621 --help\n\n### Caveats\n\n1. Authors / maintainers are represented as [entity type](https://github.com/citation-file-format/citation-file-format/blob/main/schema-guide.md#definitionsentity)\n   because their PEP-621 representation can't be parsed into the atomicity of the\n   [person type](https://github.com/citation-file-format/citation-file-format/blob/main/schema-guide.md#definitionsperson).\n\n## Development\n\nThis tool isn't supposed to cover each and every corner case that may exist.\nIts implementation shall be kept simple and may be used as library for custom\nextensions and alterations.\nAll contributions within that frame are welcome.\n\nIn a virtual environment that you set up for development, install this package\nfrom source in editable mode and required development tools:\n\n    $ pip install .[development]\n\nMake use of or refer to the accompanying [`justfile`](https://just.systems/) to\nrun common development tasks.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelb-xml%2Fcff-from-621","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdelb-xml%2Fcff-from-621","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelb-xml%2Fcff-from-621/lists"}