SSAPy-Data stores reusable data resources for SSAPy and SSAPy Toolkit. The repository is packaged as the llnl-ssapy-data Python distribution and exposes the ssapy_data import package. Data files live under src/ssapy_data/data so users can receive required data through normal pip installation without Git LFS, git submodules, or runtime GitHub downloads.
The initial package intentionally does not duplicate data already packaged by base SSAPy. New SSAPy Toolkit datasets should be added here when they are needed by toolkit functions and are not already available from the base llnl-ssapy wheel.
Installation
Install from a local clone in editable mode:
pip install -e .
Build the wheel and source distribution:
python -m build
ls -lh dist/
Using packaged data
Access packaged data with importlib.resources helpers exposed by ssapy_data:
from ssapy_data import data_path, read_text
gravity_header = read_text("egm84.egm")
with data_path("Earth_graphics/ne_50m_ocean.shp") as path:
print(path)
data_path yields a real filesystem path for libraries that require paths. Use the path only inside the context manager because zipped wheels may extract resources to temporary locations.
Adding data
Add new reusable data below src/ssapy_data/data. Preserve source filenames when possible, and use subdirectories when a dataset has multiple sidecar files. Do not add files already packaged by base SSAPy unless a later migration explicitly moves that dependency here. After adding, replacing, or removing data, regenerate the manifest:
python scripts/update_manifest.py
python -m pytest
python -m build
The manifest records each packaged file path, byte count, and SHA-256 digest in src/ssapy_data/manifest.json. Pull requests that change data should also update the source/provenance notes in this README when the dataset source or license differs from the existing entries.
Size guidance
The initial wheel contains only the package helpers and a data-directory README. Before adding large datasets, estimate the built wheel size with:
python -m build --wheel
ls -lh dist/*.whl
If a future dataset pushes the wheel above PyPI limits, split the data into a separate companion package rather than using Git LFS in SSAPy Toolkit.
Publishing
The repository publishes llnl-ssapy-data to PyPI through GitHub Actions and PyPI trusted publishing. Configure PyPI before creating the first release:
Create a PyPI trusted publisher, or pending publisher, for project llnl-ssapy-data.
Set the owner to llnl and repository to SSAPy-Data.
Set the workflow filename to publish.yml.
Set the GitHub environment to pypi.
After PyPI trust is configured, publish by creating a GitHub release whose tag matches the version in pyproject.toml, for example v0.1.0. The Publish to PyPI workflow builds a clean wheel and source distribution, runs tests, checks the manifest, and uploads through OpenID Connect (OIDC). No PyPI API token is required.
Data provenance
Each data pull request should document the source URL, license, retrieval date, and any preprocessing steps for new packaged datasets. Candidate sources include:
Earth gravity fields: ICGEM time-variable gravity fields
Other celestial bodies: ICGEM celestial gravity fields
Code of Conduct
Please note that SSAPy-Data has a Code of Conduct. By participating in the SSAPy-Data community, you agree to abide by its rules.
License
SSAPy-Data is distributed under the terms of the MIT license. All new contributions must be made under the MIT license.
See the license and NOTICE for details.
SPDX-License-Identifier: MIT
LLNL-CODE-862420
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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 llnl_ssapy_data-0.1.0.tar.gz.
File metadata
- Download URL: llnl_ssapy_data-0.1.0.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
237f906e7a733319409cdd9e276191f01361e7d2a30444af84fc3613cafcc5a5
|
|
| MD5 |
aa96980bdb6894e65737a9d76d2765ca
|
|
| BLAKE2b-256 |
c091f5898697804155ce67e914db017961ab1f91415e8d4164c7f583b774f81e
|
Provenance
The following attestation bundles were made for llnl_ssapy_data-0.1.0.tar.gz:
Publisher:
publish.yml on llnl/SSAPy-Data
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
llnl_ssapy_data-0.1.0.tar.gz -
Subject digest:
237f906e7a733319409cdd9e276191f01361e7d2a30444af84fc3613cafcc5a5 - Sigstore transparency entry: 2403717372
- Sigstore integration time:
-
Permalink:
llnl/SSAPy-Data@7687c1af0cb7aca38a788794d4ec40cc1345e6b3 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/llnl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7687c1af0cb7aca38a788794d4ec40cc1345e6b3 -
Trigger Event:
release
-
Statement type:
File details
Details for the file llnl_ssapy_data-0.1.0-py3-none-any.whl.
File metadata
- Download URL: llnl_ssapy_data-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e075fa886da88904cbfc8e8d69bf5f496f965ec88b0a00065cadea3b62f5f516
|
|
| MD5 |
fae44d5b5017d6936dc69e17bcff45a9
|
|
| BLAKE2b-256 |
c4f7666a79e19f3da57bbeaae9a394ff2db9ca0efa7ec57a304e78c5315325ef
|
Provenance
The following attestation bundles were made for llnl_ssapy_data-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on llnl/SSAPy-Data
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
llnl_ssapy_data-0.1.0-py3-none-any.whl -
Subject digest:
e075fa886da88904cbfc8e8d69bf5f496f965ec88b0a00065cadea3b62f5f516 - Sigstore transparency entry: 2403717584
- Sigstore integration time:
-
Permalink:
llnl/SSAPy-Data@7687c1af0cb7aca38a788794d4ec40cc1345e6b3 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/llnl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7687c1af0cb7aca38a788794d4ec40cc1345e6b3 -
Trigger Event:
release
-
Statement type: