niess
Table of Contents
Installation
pip install niess
License
niess is distributed under the terms of the BSD-3-Clause license.
Motivation
This package is intended to hold information about the Neutron Insruments of the European Spallation Source for use in defining Monte Carlo ray-tracing simulations, file-layout information for use by the ESS file-writers, and other yet-undefined uses; in a use-agnostic approach.
The information required about an instrument for McStas and NeXusStructure is
similar but not identical -- the latter attempts to hold all information needed to
produce a valid NeXus file, which requires geometry information inspired by the
McCode implementation used by McStas.
The two uses each have their own vocabulary, and the vocabulary used here is more
closely in line with that of McCode. The basic building block of the two uses
is the Comp in McCode and the NXclass in NeXus; here the term 'component' is
used to refer to such a building block.
Since there are sometimes slight differences between the 'same' Comp and NXclass
in how equivalent information is stored, niess is intended to be component-aware as
a single translation between the two is not possible globally.
Rather than attempting to store one implementation or the other, niess components
are an independent low-level representation of the properties of a component.
This representation can be written as a dictionary with pre-defined keys, and
it is intended that serializing to and deserializing from such a representation can be
used to provide calibrated instrument information to McStas and NeXusStructure.
Use
niess describes an instrument once, as calibration data, and emits it as a McStas
instrument, ESS NeXus Structure JSON, or CAD geometry:
from niess.bifrost import Primary, Tank
from niess.bifrost.parameters import primary_parameters, tank_parameters
from niess.instrument import Instrument, Mount
from niess.nexus import to_nexus_structure
from niess.nexus.bifrost import BIFROST_REGISTRY
bifrost = Instrument(name='bifrost', origin='sample_origin', parts=(
Mount(name='primary', content=Primary.from_calibration(primary_parameters())),
Mount(name='tank', content=Tank.from_calibration(tank_parameters()),
relative_to='sample_origin'),
))
structure = to_nexus_structure(bifrost, registry=BIFROST_REGISTRY)
Full documentation, including how to translate an existing McStas .instr into a
niess submodule and how to write your own NeXus translators, is at
https://mcdotstar.github.io/niess/.
Metadata
Release files for niess 0.10.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| niess-0.10.1.tar.gz | 833.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| niess-0.10.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / niess-0.10.1.tar.gz
| Download URL | niess-0.10.1.tar.gz |
|---|---|
| Size | 833.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
004a2464a3d73e8ba0415e17e34c344ff28341c61b9b08537dfe7cea1bbc226b
|
|
BLAKE2b-256 checksum How to use checksums |
9db89de525fad163d9897a4e426c5c8d29dd4291162b64751cfce60f2b6dfa75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / niess-0.10.1-py3-none-any.whl
| Download URL | niess-0.10.1-py3-none-any.whl |
|---|---|
| Size | 255.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b05655c63d3c6508eb7631845aa8832795c9fab8cd96bfd76e86ca01d7000cac
|
|
BLAKE2b-256 checksum How to use checksums |
bfa4f42eee81ddf86c86856b62f4e1ba0bcef94136e78c90082b9b69c382804c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency log