Allows to specify hatch metadata from codemeta.json file. To only have a single source of trust.
Find a file
2025-11-25 18:10:02 +01:00
data Add readme 2025-11-19 17:36:55 +01:00
docs Update codemetadata.json to codemeta 2025-11-18 17:39:40 +01:00
src/codemeta Update plugin name 2025-11-25 18:10:02 +01:00
tests Rename package name 2025-11-19 17:49:36 +01:00
.editorconfig
mise.toml
pyproject.toml Update plugin name 2025-11-25 18:10:02 +01:00
README.md Fix typo in package name 2025-11-25 16:24:53 +01:00
uv.lock Bump version number and Update package name 2025-11-18 17:40:33 +01:00

Hatch CodeMeta

CodeMeta schema is a standard metadata syntax to describe "Scientific software and code". This syntax depends of a codemeta.json file in the root folder of your project, which act as a single source of trust.

Hatch is a python project manager which is also linked to a build system named Hatchling. This build system also manage the pyproject.toml file, that contains metadata information about the given project, authors, description and such.

These information are also specified in codemeta.json file. This project allows to specify all such metadata only in codemeta.json and fill pyproject.toml information dynamically from this file.

Getting Started

Include it as a plugin to your pyproject.toml

[build-system]
requires = ["hatchling", "hatch-codemeta"]
build-backend = "hatchling.build"

Make the fields you want to import as dynamic

[project]
...
dynamic = ["version", "description", "authors"]

And then, make sure Hatchling uses it

[tool.hatch.metadata.hooks.codemeta]

Documentation

The documentation is available as markdown files.