Metadata-Version: 2.5
Name: provenance-core
Version: 0.3.1
Summary: Primitives shared by the reproducible-science tools: content digests and git references
Project-URL: Changelog, https://github.com/elliottower/reproducible-science/blob/main/CHANGELOG.md
Project-URL: Homepage, https://github.com/elliottower/reproducible-science
Project-URL: Issues, https://github.com/elliottower/reproducible-science/issues
Project-URL: Source, https://github.com/elliottower/reproducible-science/tree/main/packages/provenance-core
Author-email: Elliot Tower <elliot@elliottower.ai>
License-Expression: MIT
Keywords: digest,git,provenance,reproducibility,sha256
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.11
Description-Content-Type: text/markdown

# provenance-core

[![pypi](https://img.shields.io/pypi/v/provenance-core)](https://pypi.org/project/provenance-core/)
[![python](https://img.shields.io/pypi/pyversions/provenance-core)](https://pypi.org/project/provenance-core/)
[![license](https://img.shields.io/pypi/l/provenance-core)](https://github.com/elliottower/reproducible-science/blob/main/LICENSE)
[![docs](https://img.shields.io/badge/docs-live-blue)](https://elliottower.github.io/reproducible-science/)

Content digests and git references, shared by the reproducible-science tools.

Internal to [reproducible-science](https://github.com/elliottower/reproducible-science). Nothing installs it directly; the tools that need it depend on it.

Two things lived in four copies each before this package existed: hashing a file or a string,
and asking git a question. The copies had drifted — one hashed in 64 KB blocks and another in
1 MB, one encoded a string implicitly and the others explicitly, and one reported a missing
`git` binary as success.

```python
from provenance_core import sha256_of_file, sha256_of_text
from provenance_core.gitref import commit, is_dirty, try_run
```

MIT licensed.
