Python bindings for the nmhit NEML2-flavored HIT parser
Project description
neml2-hit
A standalone C++17 parser for a NEML2-flavored dialect of HIT (Hierarchical Input Text) — the hierarchical input format used by MOOSE. This library provides a self-contained, opinionated implementation tailored for use in NEML2 and related projects. It differs from the upstream MOOSE HIT parser in syntax restrictions and API design choices; it is not a general-purpose drop-in replacement. The library depends on Flex & Bison.
The public C++ namespace is nmhit ("NEML2 HIT").
HIT Format
HIT is a simple, human-readable format for hierarchical configuration. A file is a flat sequence of items — sections, key-value fields, comments, blank lines, and file includes — which together form a tree.
Syntax Reference
Comments
A # character begins a comment that extends to the end of the line. Comments are preserved in
the AST and are reproduced by render().
# This is a comment
key = value # inline comments are not supported; this text is part of the value
Note:
#is a reserved character in all value positions. It cannot appear inside an unquoted string value or an array element.
Blank lines
One or more consecutive blank lines are preserved as a single Blank node and are reproduced by
render().
Sections
A section groups related fields and nested sub-sections.
[section_name]
key = value
nested_key = 42
[]
Every section must be closed with []. There is no [../] or [./name] syntax.
Path splitting. A slash in the section header creates the corresponding nesting in the AST:
[mesh/generator]
type = CartesianMesh
[]
is equivalent to:
[mesh]
[generator]
type = CartesianMesh
[]
[]
Sections may appear at the top level or nested inside other sections. Fields and nested sections can appear in any order within a section body.
Fields
A field assigns a value to a name.
key = value
Identifier characters. A field name may contain letters, digits, and any of
. / : < > + - * ! _. Slashes in a field name trigger path splitting (see below).
Path splitting. A slash in the field name creates intermediate Section nodes in the AST:
[solver]
linear/max_iter = 100
[]
is equivalent to:
[solver]
[linear]
max_iter = 100
[]
[]
Override assignment. The operators := and :override= are both accepted. The library
implements last-override-wins semantics directly: the earlier occurrence of the field is
removed from the tree, leaving only the overriding value.
max_iter := 200
max_iter :override= 200 # identical meaning
Values
Every value is one of the following kinds.
Integer
An optional sign followed by one or more decimal digits.
n = 42
n = -7
n = +0
Floating-point number
Standard decimal notation with an optional sign and optional exponent.
x = 3.14
x = -1.0e-3
x = .5
x = 2.
x = 1e10
At least one digit must appear on one side of the decimal point, or an exponent must be present.
The value is stored verbatim as a string. At interpretation time:
param<double>()parses it as a 64-bit IEEE 754 double-precision value.param<float>()parses it asdoublefirst, then narrows to 32-bit single precision. Values outside thefloatrange become±inf; values that are representable indoublebut not exactly infloatare rounded to the nearestfloat.
Boolean
Exactly the two lowercase literals true and false. No other strings
(including yes, no, on, off, or any capitalised variant) are accepted.
flag = true
flag = false
Unquoted string
Any sequence of non-whitespace characters that does not begin a number, boolean, quoted string,
array, or brace expression, and contains none of [ # $ ' " \.
type = GeneratedMesh
label = some_label
path = /usr/local/share
Unquoted strings are single-line only — they cannot contain whitespace or newlines.
Array (1-D)
A whitespace-delimited sequence of elements enclosed in single quotes or double quotes —
both delimiters are completely equivalent. Elements may be integers, floating-point numbers, or unquoted tokens
(none of which may contain ;, #, $, ', ", or \).
vals = '1 2 3'
floats = '1.0 2.5 3.14'
tags = 'alpha beta gamma'
The two quote styles are interchangeable:
vals = '1 2 3'
vals = "1 2 3" # identical meaning
An empty array is written as '' or "".
Array contents may span multiple lines — newlines inside the quotes are treated as whitespace:
vals = '
1 2 3
4 5 6
'
Array (2-D)
Rows are separated by ;. Each row is a whitespace-delimited sequence of elements, following the
same rules as 1-D array elements.
matrix = '1 2 3; 4 5 6; 7 8 9'
The semicolons and surrounding whitespace (including newlines) are flexible:
matrix = '
1 2 3;
4 5 6;
7 8 9
'
Every row must contain at least one element. Trailing semicolons (an empty last row) are a parse error.
Accessing a 2-D array value as a 1-D type (e.g. param<std::vector<int>>) will fail because the
semicolons are stored as part of the raw value. Accessing a 1-D array as a 2-D type returns a
single-row result.
Brace expressions
A ${...} expression is expanded at value-extraction time (i.e. when param<T>() is called).
The raw token is stored in the AST as-is.
The following built-in commands are supported:
| Expression | Effect |
|---|---|
${varname} |
Look up the field at path varname from the document root and return its string value. |
${replace varname} |
Identical to ${varname}. |
${env VARNAME} |
Substitute the environment variable VARNAME. Returns an empty string when unset. |
${raw a b c} |
Concatenate all arguments literally: abc. |
Brace expressions may be nested:
prefix = /opt
lib = ${raw ${prefix} /lib} # → /opt/lib
A brace expression may appear as the sole value of a field:
dim = ${mesh/dim}
File inclusion
!include relative/or/absolute/path.i
The referenced file is parsed recursively and its top-level items are spliced into the AST at the
point of the !include directive. Relative paths are resolved against the directory of the
including file.
Complete Grammar (EBNF)
file = item* ;
item = section | field | comment | blank | include ;
section = '[' path ']' item* '[]' ;
field = ident ('=' | ':=' | ':override=') value ;
quote = "'" | '"' ;
value = integer | float | bool | unquoted_str
| brace_expr
| quote array_row (';' array_row)* quote
| quote quote ;
array_row = array_elem+ ;
array_elem = integer | float | unquoted_elem ;
include = '!include' path ;
comment = '#' <to end of line> ;
blank = <two or more consecutive newlines> ;
path = segment ('/' segment)* ;
segment = <one or more non-whitespace, non-bracket characters> ;
ident = [A-Za-z0-9_./<>+\-*!:]+ ;
integer = [+\-]? [0-9]+ ;
float = [+\-]? ( [0-9]* '.' [0-9]+ | [0-9]+ '.' [0-9]* ) ([eE] [+\-]? [0-9]+)?
| [+\-]? [0-9]+ [eE] [+\-]? [0-9]+ ;
(* stored verbatim; interpreted as double-precision (64-bit IEEE 754) by default,
narrowed to single-precision (32-bit) when read as float *)
bool = 'true' | 'false' ;
unquoted_str= [^ \t\n\r\[#$'"\\]+ ;
unquoted_elem=[^ \t\n\r;#$'"\\]+ ;
brace_expr = '${' <content, brace-depth-tracked> '}' ;
C++ API
Parsing
Two entry points are provided to avoid ambiguity when passing string literals:
#include "nmhit/nmhit.h"
// Read and parse a file from disk.
// Throws nmhit::Error if the file cannot be opened or on syntax errors.
std::unique_ptr<nmhit::Node> root = nmhit::parse_file("my_file.i");
// Parse an in-memory string.
// !include paths are resolved relative to the current working directory.
std::unique_ptr<nmhit::Node> root = nmhit::parse_text("dim = 3\n");
Both functions accept optional pre/post string vectors for injecting HIT snippets
(e.g. command-line overrides). All content is concatenated and parsed as a single
document, so := override semantics apply globally across all sources:
std::vector<std::string> cli_overrides = { "solver/max_iter := 200" };
auto root = nmhit::parse_file("input.i", /*pre=*/{}, cli_overrides);
auto root = nmhit::parse_text(input_text, /*pre=*/{}, cli_overrides);
Reading values
// Resolve a slash-separated path and return a typed value.
// Throws nmhit::Error if the path does not exist or the value cannot be converted.
int n = root->param<int>("mesh/dim");
double x = root->param<double>("solver/tol");
bool on = root->param<bool>("output/enabled");
// Return a default when the path is absent (does not throw).
int n = root->param_optional<int>("mesh/dim", 3);
Built-in scalar types: bool, int, unsigned int, int64_t, float, double,
std::string.
1-D arrays: std::vector<T> for any built-in or registered scalar T.
2-D arrays: std::vector<std::vector<T>> for any built-in or registered scalar T.
Tree navigation
// Walk direct children, optionally filtered by node type.
for (nmhit::Node * child : root->children()) { ... }
for (nmhit::Node * child : root->children(nmhit::NodeType::Field)) { ... }
// Find a node by relative path (returns nullptr when absent).
nmhit::Node * n = root->find("mesh/dim");
// Walk upward.
nmhit::Node * parent = n->parent();
nmhit::Node * docroot = n->root();
// Full slash-joined path from the root.
std::string fp = n->fullpath(); // e.g. "mesh/dim"
// Source location.
int line = n->line();
int col = n->column();
std::string file = n->filename();
Inspecting fields
auto * f = dynamic_cast<nmhit::Field *>(root->find("mesh/dim"));
if (f) {
std::string raw = f->raw_val(); // stored string, e.g. "3" or "'1 2 3'"
f->set_val("4"); // replace the stored value
}
Rendering
// Render the tree back to HIT text (preserves comments and blank lines).
std::string text = root->render();
// Custom indentation.
std::string text = root->render(0, " "); // 4-space indent
Scalar converters
The same conversions used internally by param<T>() are available as free functions for use on raw strings (e.g. from Field::raw_val()). Surrounding single or double quotes are stripped before conversion. All functions throw nmhit::Error on failure; the optional ctx node is used only to attach file/line/column information to the error.
bool nmhit::parse_bool (const std::string & s, const nmhit::Node * ctx = nullptr);
int64_t nmhit::parse_int (const std::string & s, const nmhit::Node * ctx = nullptr);
double nmhit::parse_double(const std::string & s, const nmhit::Node * ctx = nullptr);
float nmhit::parse_float (const std::string & s, const nmhit::Node * ctx = nullptr);
Custom types
Register a scalar parser once before any param<T>() call:
// Registration (e.g. in main() or a static initializer)
nmhit::TypeRegistry::register_parser<MyEnum>(
[](const std::string & s) -> MyEnum {
if (s == "linear") return MyEnum::Linear;
if (s == "quadratic") return MyEnum::Quadratic;
throw std::invalid_argument("unknown MyEnum value: " + s);
}
);
// Usage — all three arities work automatically once T is registered.
MyEnum e = root->param<MyEnum>("order");
std::vector<MyEnum> v = root->param<std::vector<MyEnum>>("orders");
std::vector<std::vector<MyEnum>> m = root->param<std::vector<std::vector<MyEnum>>>("order_matrix");
The parser receives the unquoted, brace-expanded token string. Calling param<T>() for an
unregistered type throws nmhit::Error.
Thread safety:
register_parseris not thread-safe relative to concurrentparamcalls. Register all custom types before spawning threads that callparam.
Errors
All errors throw nmhit::Error, which is a std::exception carrying a vector of
nmhit::ErrorMessage (filename, line, column, message).
try {
auto root = nmhit::parse("input.i", text);
} catch (const nmhit::Error & e) {
for (auto & msg : e.messages)
std::cerr << msg.str() << '\n'; // "file.i:10:5: unexpected '}'"
}
Python API
Installation
pip install nmhit
Wheels are published to PyPI for Linux (x86_64, aarch64) and macOS (x86_64, arm64), covering Python 3.9 and later. No Flex or Bison is required.
Quick start
import nmhit
# Parse a file or an in-memory string
root = nmhit.parse_file("input.i")
root = nmhit.parse_text("[mesh]\n dim = 3\n[]")
# Read typed values via slash-separated paths
dim = root.param_int("mesh/dim") # int
tol = root.param_float("solver/tol") # float
on = root.param_bool("output/enabled") # bool
tag = root.param_str("type") # str
# Optional — returns a default when the path is absent
n = root.param_optional_int("mesh/dim", 3)
# 1-D and 2-D arrays
vals = root.param_list_int("vals") # list[int]
matrix = root.param_list_list_float("matrix") # list[list[float]]
parse_text and parse_file accept optional pre and post keyword arguments
(lists of HIT strings) for injecting snippets or command-line overrides:
root = nmhit.parse_file("input.i", post=["solver/max_iter := 200"])
Auto-detection with param()
nmhit.param() infers the type from the raw value (bool → int → float → str)
and returns a native Python object. Pass an explicit type as the third argument
to override inference:
nmhit.param(root, "mesh/dim") # → 3 (int)
nmhit.param(root, "mesh/dim", float) # → 3.0
nmhit.param(root, "mesh/dim", str) # → "3"
Node types and tree navigation
root = nmhit.parse_text("[mesh]\n dim = 3\n[]")
node = root.find("mesh/dim") # returns Field, or None if absent
sec = root.find("mesh") # returns Section
node.type() # nmhit.NodeType.Field / .Section / .Root / ...
node.path() # "dim"
node.fullpath() # "mesh/dim"
node.line() # source line number
# Direct children, optionally filtered by type
root.children() # list[Node]
root.children(nmhit.NodeType.Section) # list[Section]
# Walk upward
node.parent() # parent Node, or None at root
node.root_node() # the Root node
Mutation
# Change a field value in-place
root.find("mesh/dim").set_val("2")
# Add / insert / remove children (cloned into the tree)
root.add_child(nmhit.Field("k", "42"))
root.insert_child(0, nmhit.Field("first", "1"))
removed = root.remove_child("mesh") # returns the detached node
# Deep copy
root2 = root.clone()
Render
text = root.render() # default 2-space indent
text = root.render(indent_text=" ")
Errors
All errors raise nmhit.Error (a subclass of RuntimeError).
The exception carries a .messages attribute — a list of ErrorMessage objects
with line, column, message, and filename fields:
try:
nmhit.parse_text("[mesh]\n dim = 3") # missing []
except nmhit.Error as e:
for m in e.messages:
print(m) # e.g. "<string>:2:9: expected '[]'"
Building
Requirements
| Tool | Minimum version | When required |
|---|---|---|
| CMake | 3.20 | Always |
| C++ compiler | C++17 | Always |
| Flex | 2.6 | Debug builds only |
| Bison | 3.7 | Debug builds only |
Pre-generated parser/lexer sources are committed to generated/ and used
automatically for non-Debug build types, so end users and CI release builds do
not need flex or bison installed.
Configure and build
Release build (no flex or bison required — uses committed generated sources):
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
Debug build (requires flex ≥ 2.6 and bison ≥ 3.7 — regenerates parser/lexer from source):
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build -j$(nproc)
After modifying src/Lexer.l or src/Parser.y, run the helper target to refresh
the committed sources in generated/ and then commit them:
cmake --build build --target update_generated
git add generated/ && git commit
Pass -DNMHIT_BUILD_TESTS=OFF to skip building the test executable.
Run tests
ctest --test-dir build --output-on-failure
Install
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/your/prefix
cmake --build build -j$(nproc)
cmake --install build
This installs:
| Path | Contents |
|---|---|
<prefix>/lib/libnmhit.a |
Static library |
<prefix>/include/nmhit/ |
Public headers |
<prefix>/lib/cmake/nmhit/ |
CMake config files |
<prefix>/lib/pkgconfig/nmhit.pc |
pkg-config file |
Use from an installed location
CMake find_package:
find_package(nmhit REQUIRED)
target_link_libraries(myapp PRIVATE nmhit::nmhit)
If the library was installed to a non-standard prefix, point CMake at it:
cmake -S . -B build -Dnmhit_DIR=/your/prefix/lib/cmake/nmhit
pkg-config:
pkg-config --cflags --libs nmhit
If the library was installed to a non-standard prefix:
PKG_CONFIG_PATH=/your/prefix/lib/pkgconfig pkg-config --cflags --libs nmhit
Use as a CMake subdirectory
Add the repository as a subdirectory of your project:
add_subdirectory(neml2-hit)
target_link_libraries(myapp PRIVATE nmhit)
The nmhit target exports include/ as a public include directory, so
#include "nmhit/nmhit.h" works without any additional configuration.
License
This project is a sub-component of NEML2 and is distributed under the same license.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nmhit-0.1.2.tar.gz.
File metadata
- Download URL: nmhit-0.1.2.tar.gz
- Upload date:
- Size: 93.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6850754634e19699ab9fdf46242fc9b680fdc8681d65ae773764004754d287c
|
|
| MD5 |
75d3b50b60199b1e54fdd6474f778eaf
|
|
| BLAKE2b-256 |
41d3cbdae17c447dd2e399a648d4f24cb45934220f8d1c76938dec3d9c65979c
|
Provenance
The following attestation bundles were made for nmhit-0.1.2.tar.gz:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2.tar.gz -
Subject digest:
e6850754634e19699ab9fdf46242fc9b680fdc8681d65ae773764004754d287c - Sigstore transparency entry: 1555062053
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nmhit-0.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: nmhit-0.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 231.7 kB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d2568d7a892d1bf826639a65d3f4750e5df419d83f7907add2370db6aefbecb3
|
|
| MD5 |
de3ef9696ec5a1e1c7b86164e1c2c332
|
|
| BLAKE2b-256 |
bb6093beb83f7c5cc02b6740b203f580e9899f887a45b20523ca72e14dff4a13
|
Provenance
The following attestation bundles were made for nmhit-0.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
d2568d7a892d1bf826639a65d3f4750e5df419d83f7907add2370db6aefbecb3 - Sigstore transparency entry: 1555062173
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nmhit-0.1.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: nmhit-0.1.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 213.7 kB
- Tags: CPython 3.12, manylinux: glibc 2.27+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
062d257b047b655e51732f777928b54590efc4570a5c2edccacb009cd7be138b
|
|
| MD5 |
836a24109cffcbb17666d51b1ff46d6b
|
|
| BLAKE2b-256 |
a2f0cf97c858f76ae64b4f3c1123bb78893e9beb6e28eebfe29c4a215971df4e
|
Provenance
The following attestation bundles were made for nmhit-0.1.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
062d257b047b655e51732f777928b54590efc4570a5c2edccacb009cd7be138b - Sigstore transparency entry: 1555062238
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nmhit-0.1.2-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: nmhit-0.1.2-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 137.1 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fd435edebe2921cc2e151f360f1eb910b38c3b751e258fa7dc4390896c56dc2
|
|
| MD5 |
d5a92f682b7acb09474e5af0c2f82c4e
|
|
| BLAKE2b-256 |
1613e5c87baf13fec441ff3d2134352091662684f199c2590f1565a30229eb54
|
Provenance
The following attestation bundles were made for nmhit-0.1.2-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
6fd435edebe2921cc2e151f360f1eb910b38c3b751e258fa7dc4390896c56dc2 - Sigstore transparency entry: 1555062287
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nmhit-0.1.2-cp312-cp312-macosx_10_15_x86_64.whl.
File metadata
- Download URL: nmhit-0.1.2-cp312-cp312-macosx_10_15_x86_64.whl
- Upload date:
- Size: 148.2 kB
- Tags: CPython 3.12, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
291597ad5c8aa27a5bc4c7292f5596518e68401a49ac51e415c9b31acc9a0c56
|
|
| MD5 |
e00c2b2982b4b91bc6df4a4b0f08b115
|
|
| BLAKE2b-256 |
c04d1d707dd65886d1e922fc783604bfe90d7ee7455d14289b550621104ca1b7
|
Provenance
The following attestation bundles were made for nmhit-0.1.2-cp312-cp312-macosx_10_15_x86_64.whl:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2-cp312-cp312-macosx_10_15_x86_64.whl -
Subject digest:
291597ad5c8aa27a5bc4c7292f5596518e68401a49ac51e415c9b31acc9a0c56 - Sigstore transparency entry: 1555062151
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nmhit-0.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: nmhit-0.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 232.3 kB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3be68a6b2b94e32c117ba62a88d11e4bb81729aafc916b07e5a67f52c26eec5b
|
|
| MD5 |
64cc655bbb447aef3687928eef35a889
|
|
| BLAKE2b-256 |
2d113d48ee54653ff0dc70fcfcd686fc70a671aa3b4d3860fa29eac2046b4d66
|
Provenance
The following attestation bundles were made for nmhit-0.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
3be68a6b2b94e32c117ba62a88d11e4bb81729aafc916b07e5a67f52c26eec5b - Sigstore transparency entry: 1555062320
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nmhit-0.1.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: nmhit-0.1.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 214.8 kB
- Tags: CPython 3.11, manylinux: glibc 2.27+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e46e991e5aef22c0b2bfce2687635b87c6d5039b47e8885d0f07c96c2f27310
|
|
| MD5 |
16380871db8c82b5a412a5acc59b1060
|
|
| BLAKE2b-256 |
a53e15c5fd1bc848fafea11d835d0223d486930f77c08bd929e3b48228926f3b
|
Provenance
The following attestation bundles were made for nmhit-0.1.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
9e46e991e5aef22c0b2bfce2687635b87c6d5039b47e8885d0f07c96c2f27310 - Sigstore transparency entry: 1555062094
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nmhit-0.1.2-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: nmhit-0.1.2-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 137.9 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
912cb2db6031bc31cfeac9ea28aae1d40d420e6d253be128762eb4cc62d0275b
|
|
| MD5 |
89a1c1e87a5964a8b763fd0307b039ff
|
|
| BLAKE2b-256 |
19ccac8060b19274ae053660fc1a5e1bb48c0923c09438d76b4efc2a723f5cab
|
Provenance
The following attestation bundles were made for nmhit-0.1.2-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
912cb2db6031bc31cfeac9ea28aae1d40d420e6d253be128762eb4cc62d0275b - Sigstore transparency entry: 1555062070
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nmhit-0.1.2-cp311-cp311-macosx_10_15_x86_64.whl.
File metadata
- Download URL: nmhit-0.1.2-cp311-cp311-macosx_10_15_x86_64.whl
- Upload date:
- Size: 148.5 kB
- Tags: CPython 3.11, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62bb1c1082cbf6e3bb6c3c9471147732b203926667ea5ee276618a7fa50eee0f
|
|
| MD5 |
6327a41167580037c667945a81bd5087
|
|
| BLAKE2b-256 |
fe10a536bfcc52e631a3c02c14ea71c1337bcff97f28e94425a1a7c65381bc6b
|
Provenance
The following attestation bundles were made for nmhit-0.1.2-cp311-cp311-macosx_10_15_x86_64.whl:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2-cp311-cp311-macosx_10_15_x86_64.whl -
Subject digest:
62bb1c1082cbf6e3bb6c3c9471147732b203926667ea5ee276618a7fa50eee0f - Sigstore transparency entry: 1555062263
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nmhit-0.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: nmhit-0.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 232.0 kB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a7cbf8decb758138441304f435e23d0415e6a2a4d8b4444b36247d0c9be9500
|
|
| MD5 |
17966e6014aeee44340fef2b891e23ec
|
|
| BLAKE2b-256 |
a3c0f208ffa7ed929dd3ad61a4bae5a51743dc5e6998ab82bcb2e9dbf0265766
|
Provenance
The following attestation bundles were made for nmhit-0.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
5a7cbf8decb758138441304f435e23d0415e6a2a4d8b4444b36247d0c9be9500 - Sigstore transparency entry: 1555062129
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nmhit-0.1.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: nmhit-0.1.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 214.6 kB
- Tags: CPython 3.10, manylinux: glibc 2.27+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5628266bc24a63f39cba2061a485d173e62e6093a5876ca4f72a448dc1444cee
|
|
| MD5 |
c14920f2755d2edb5e8d806a6a985247
|
|
| BLAKE2b-256 |
a21754acb4abe0885389ffda50b3266681800b3cca600efd61c3293413a98d09
|
Provenance
The following attestation bundles were made for nmhit-0.1.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
5628266bc24a63f39cba2061a485d173e62e6093a5876ca4f72a448dc1444cee - Sigstore transparency entry: 1555062096
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nmhit-0.1.2-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: nmhit-0.1.2-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 137.5 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d4a99cc6f38b03d608c914a815d0865a3ab81bdd73d4da0a4bfe64c8627eddc
|
|
| MD5 |
3d959a83cf560f9b6beb4b62a5002256
|
|
| BLAKE2b-256 |
6f8652319f116547944b3a11b3880304406a3e047598d77c6a7ee68483332872
|
Provenance
The following attestation bundles were made for nmhit-0.1.2-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
9d4a99cc6f38b03d608c914a815d0865a3ab81bdd73d4da0a4bfe64c8627eddc - Sigstore transparency entry: 1555062108
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nmhit-0.1.2-cp310-cp310-macosx_10_15_x86_64.whl.
File metadata
- Download URL: nmhit-0.1.2-cp310-cp310-macosx_10_15_x86_64.whl
- Upload date:
- Size: 148.2 kB
- Tags: CPython 3.10, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99dc946c17fb880af0e850d9a410cb4e8d80b49083f80419d09300bba8fb2e24
|
|
| MD5 |
8d899b3b0073154dd76db579c506f690
|
|
| BLAKE2b-256 |
0f9e7f13eae3d6bec8d0a23de09ca6739817fa13f6c0bff912685f8e9cd297e8
|
Provenance
The following attestation bundles were made for nmhit-0.1.2-cp310-cp310-macosx_10_15_x86_64.whl:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2-cp310-cp310-macosx_10_15_x86_64.whl -
Subject digest:
99dc946c17fb880af0e850d9a410cb4e8d80b49083f80419d09300bba8fb2e24 - Sigstore transparency entry: 1555062211
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nmhit-0.1.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: nmhit-0.1.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 232.3 kB
- Tags: CPython 3.9, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
babbe4acc13ba9dc4ad9e82287514fcd5cee4e3877c43b7d5adbf1b6d305b310
|
|
| MD5 |
bb71127ff4233093f2efa1a064e388ea
|
|
| BLAKE2b-256 |
e6de3b7d4cb294708d9453712c3ac199396a42d41331c3d76ff4110a3c4d53c8
|
Provenance
The following attestation bundles were made for nmhit-0.1.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
babbe4acc13ba9dc4ad9e82287514fcd5cee4e3877c43b7d5adbf1b6d305b310 - Sigstore transparency entry: 1555062084
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nmhit-0.1.2-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: nmhit-0.1.2-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 214.9 kB
- Tags: CPython 3.9, manylinux: glibc 2.27+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d73deeacec0125caac4320ad09da736c1becb479e8d9d91c1546a426a7f0d50
|
|
| MD5 |
d1a4245a2392965d9ea54dff6555e349
|
|
| BLAKE2b-256 |
3953f37b0907d62fe09eb38cd5d02a3d273fb5e4d17d8f726b79d2b85eb97317
|
Provenance
The following attestation bundles were made for nmhit-0.1.2-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
7d73deeacec0125caac4320ad09da736c1becb479e8d9d91c1546a426a7f0d50 - Sigstore transparency entry: 1555062305
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nmhit-0.1.2-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: nmhit-0.1.2-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 137.7 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
620dba01f12601a1caf1f4d62b65a8cd173f69c9b9208e27424da57b7e6121e1
|
|
| MD5 |
e3c22387e995aca4d59f6adce342a321
|
|
| BLAKE2b-256 |
f274ec98ab2435f7472fa352eb70ec781b990fa18c9c6a9fd85e9862e23b8eae
|
Provenance
The following attestation bundles were made for nmhit-0.1.2-cp39-cp39-macosx_11_0_arm64.whl:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2-cp39-cp39-macosx_11_0_arm64.whl -
Subject digest:
620dba01f12601a1caf1f4d62b65a8cd173f69c9b9208e27424da57b7e6121e1 - Sigstore transparency entry: 1555062101
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nmhit-0.1.2-cp39-cp39-macosx_10_15_x86_64.whl.
File metadata
- Download URL: nmhit-0.1.2-cp39-cp39-macosx_10_15_x86_64.whl
- Upload date:
- Size: 148.4 kB
- Tags: CPython 3.9, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a7d2ba61745673520093b2785de53bde6a8272f531c4f337361c47fbd5dc2a6
|
|
| MD5 |
52501892170b577f8af72a628a0f3d89
|
|
| BLAKE2b-256 |
7aeee677fd84b894c2bd788772dae8ef8e47c55f1eff9d5d3464766881261575
|
Provenance
The following attestation bundles were made for nmhit-0.1.2-cp39-cp39-macosx_10_15_x86_64.whl:
Publisher:
release.yml on applied-material-modeling/neml2-hit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmhit-0.1.2-cp39-cp39-macosx_10_15_x86_64.whl -
Subject digest:
3a7d2ba61745673520093b2785de53bde6a8272f531c4f337361c47fbd5dc2a6 - Sigstore transparency entry: 1555062102
- Sigstore integration time:
-
Permalink:
applied-material-modeling/neml2-hit@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/applied-material-modeling
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@aba0d3eb4ce245a3c944b0b361e5305e33099688 -
Trigger Event:
push
-
Statement type: