Metadata-Version: 2.4
Name: hatch-codemeta
Version: 0.3.1
Summary: Import metadata to pyproject.toml for hatchling's project
Author-email: linarphy <linarphy@linarphy.net>
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Hatch
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Classifier: Typing :: Typed
Requires-Python: >3.11
Requires-Dist: hatch
Provides-Extra: dev
Requires-Dist: basedpyright; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Description-Content-Type: text/markdown

# Hatch CodeMeta

[CodeMeta](https://codemeta.github.io) 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](https://hatch.pypa.io) 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`

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

Make the fields you want to import as dynamic

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

And then, make sure Hatchling uses it

```toml
[tool.hatch.metadata.hooks.codemeta]
```

## Documentation

The documentation is available as [markdown files](doc/index.md).
