Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

adam_core: ADAM Core Utilities

A Python package by the Asteroid Institute, a program of the B612 Foundation

Python 3.11-3.13 License
pip - Build, Lint, Test, and Coverage

adam_core is used by a variety of library and services at the Asteroid Institute. Sharing these common classes, types, and conversions amongst our tools ensures consistency and accuracy.

Installation

ADAM Core is available on PyPI

pip install adam_core

Astropy, Astroquery, Healpy, and plotting libraries are explicit optional providers rather than default runtime dependencies. Install only the bridge you need:

pip install "adam_core[astropy]"      # Astropy Time and UT1/IERS bridges
pip install "adam_core[legacy-sbdb]"  # Astroquery compatibility workflows
pip install "adam_core[healpix]"      # Healpy-backed public helpers
pip install "adam_core[jax]"          # Historical explicit JAX bridge
pip install "adam_core[plots]"        # Plotting and date-axis formatting

Native wheels support CPython 3.11-3.13 on manylinux 2.17+ x86-64/AArch64 and macOS Apple silicon/Intel. Windows is deferred because the required libassist-sys 1.2.1 acceptance stack depends on upstream ASSIST's POSIX memory mapping; musllinux is also unsupported. Python installs reuse kernel data from the active environment; pure-Rust consumers use override -> installed-Python -> cache -> checksummed wheel resolution, with ADAM_CORE_KERNEL_OFFLINE=1 disabling downloads.

ASSIST propagation is provided by the separate adam-assist distribution as adam_assist.ASSISTPropagator. adam-assist owns the orchestration layer and consumes libassist-sys and librebound-sys directly.

Usage

Orbits

To define an orbit:

from adam_core.coordinates import KeplerianCoordinates
from adam_core.coordinates import Origin
from adam_core.orbits import Orbits
from adam_core.time import Timestamp

keplerian_elements = KeplerianCoordinates.from_kwargs(
    time=Timestamp.from_mjd([59000.0], scale="tdb"),
    a=[1.0],
    e=[0.002],
    i=[10.],
    raan=[50.0],
    ap=[20.0],
    M=[30.0],
    origin=Origin.from_kwargs(code=["SUN"]),
    frame="ecliptic"
)
orbits = Orbits.from_kwargs(
    orbit_id=["1"],
    object_id=["Test Orbit"],
    coordinates=keplerian_elements.to_cartesian(),
)

Note that internally, all orbits are stored in Cartesian coordinates. Cartesian coordinates do not have any singularities and are thus more robust for numerical integration. Any orbital element conversions to Cartesian can be done on demand by calling to_cartesian() on the coordinates object.

The underlying orbits class is 2 dimensional and can store elements and covariances for multiple orbits.

from adam_core.coordinates import KeplerianCoordinates
from adam_core.coordinates import Origin
from adam_core.orbits import Orbits
from adam_core.time import Timestamp

keplerian_elements = KeplerianCoordinates.from_kwargs(
    time=Timestamp.from_mjd([59000.0, 60000.0], scale="tdb"),
    a=[1.0, 3.0],
    e=[0.002, 0.0],
    i=[10., 30.],
    raan=[50.0, 32.0],
    ap=[20.0, 94.0],
    M=[30.0, 159.0],
    origin=Origin.from_kwargs(code=["SUN", "SUN"]),
    frame="ecliptic"
)
orbits = Orbits.from_kwargs(
    orbit_id=["1", "2"],
    object_id=["Test Orbit 1", "Test Orbit 2"],
    coordinates=keplerian_elements.to_cartesian(),
)

Orbits can be easily converted to a pandas DataFrame:

orbits.to_dataframe()  
  orbit_id     object_id  coordinates.x  coordinates.y  coordinates.z  coordinates.vx  coordinates.vy  coordinates.vz  coordinates.time.days  coordinates.time.nanos                      coordinates.covariance.values coordinates.origin.code  
0        1  Test Orbit 1      -0.166403       0.975273       0.133015       -0.016838       -0.003117        0.001921                  59000                       0  [nan, nan, nan, nan, nan, nan, nan, nan, nan, ...                     SUN  
1        2  Test Orbit 2       0.572777      -2.571820      -1.434457        0.009387        0.002900       -0.001452                  60000                       0  [nan, nan, nan, nan, nan, nan, nan, nan, nan, ...                     SUN

Orbits can also be defined with uncertainties.

import numpy as np
from adam_core.coordinates import KeplerianCoordinates
from adam_core.coordinates import Origin
from adam_core.coordinates import CoordinateCovariances
from adam_core.orbits import Orbits
from adam_core.time import Timestamp

keplerian_elements = KeplerianCoordinates.from_kwargs(
    time=Timestamp.from_mjd([59000.0], scale="tdb"),
    a=[1.0],
    e=[0.002],
    i=[10.],
    raan=[50.0],
    ap=[20.0],
    M=[30.0],
    covariance=CoordinateCovariances.from_sigmas(
        np.array([[0.002, 0.001, 0.01, 0.01, 0.1, 0.1]])
    ),
    origin=Origin.from_kwargs(code=["SUN"]),
    frame="ecliptic"
)

orbits = Orbits.from_kwargs(
    orbit_id=["1"],
    object_id=["Test Orbit with Uncertainties"],
    coordinates=keplerian_elements.to_cartesian(),
)
orbits.to_dataframe()  
  orbit_id                      object_id  coordinates.x  coordinates.y  coordinates.z  coordinates.vx  coordinates.vy  coordinates.vz  coordinates.time.days  coordinates.time.nanos                      coordinates.covariance.values coordinates.origin.code  
0        1  Test Orbit with Uncertainties      -0.166403       0.975273       0.133015       -0.016838       -0.003117        0.001921                  59000                       0  [6.654136535278775e-06, 1.2935845684776213e-06...                     SUN

The covariance matrices can be extracted in matrix form by using the .to_matrix() method:

orbits.coordinates.covariance.to_matrix()

Similarly, if you just want to access the orbital elements you can do the following:

orbits.coordinates.values

To query orbits from JPL Horizons:

from adam_core.orbits.query import query_horizons
from adam_core.time import Timestamp

times = Timestamp.from_mjd([60000.0], scale="tdb")
object_ids = ["Duende", "Eros", "Ceres"]
orbits = query_horizons(object_ids, times)

To query orbits from JPL SBDB:

from adam_core.orbits.query import query_sbdb

object_ids = ["Duende", "Eros", "Ceres"]
orbits = query_sbdb(object_ids)

Orbital Element Conversions

Orbital elements can be accessed via the corresponding attribute. All conversions, including covariances, are done on demand and stored.

# Cartesian Elements
orbits.coordinates

# To convert to other representations
cometary_elements = orbits.coordinates.to_cometary()
keplerian_elements = orbits.coordinates.to_keplerian()
spherical_elements = orbits.coordinates.to_spherical()

Propagator

The propagator class in adam_core provides a generalized interface to the supported orbit integrators and ephemeris generators. The propagator class is designed to be used with the Orbits class and can handle multiple orbits and times.

You will need to install either adam-assist, or another compatible propagator in order to use propagation, ephemeris generation, or impact analysis.

Propagation

To propagate orbits with ASSIST (here we grab some orbits from Horizons first):

import numpy as np
from astropy import units as u

from adam_core.orbits.query import query_horizons
from adam_assist import ASSISTPropagator
from adam_core.time import Timestamp

# Get orbits to propagate
initial_time = Timestamp.from_mjd([60000.0], scale="tdb")
object_ids = ["Duende", "Eros", "Ceres"]
orbits = query_horizons(object_ids, initial_time)

# initialize the propagator
propagator = ASSISTPropagator()

# Define propagation times
times = initial_time.from_mjd(initial_time.mjd() + np.arange(0, 100))

# Propagate orbits! This function supports multiprocessing for large
# propagation jobs.
propagated_orbits = propagator.propagate_orbits(
    orbits,
    times,
    chunk_size=100,
    max_processes=1,
)

Ephemeris Generation

Ephemeris generation requires a propagator that implements the EphemerisMixin interface. This is currently only implemented by the PYOORB propagator. The ephemeris generator will automatically map the propagated covariance matrices to the sky-plane.

You will need to install adam-pyoorb in order to use the ephemeris generator, which is currently only available on GitHub.

pip install git+https://github.com/B612-Asteroid-Institute/adam-pyoorb.git
import numpy as np
from astropy import units as u

from adam_core.orbits.query import query_horizons
from adam_core.propagator.adam_pyoorb import PYOORBPropagator
from adam_core.observers import Observers
from adam_core.time import Timestamp

# Get orbits to propagate
initial_time = Timestamp.from_mjd([60000.0], scale="tdb")
object_ids = ["Duende", "Eros", "Ceres"]
orbits = query_horizons(object_ids, initial_time)

# Make sure PYOORB is ready
propagator = PYOORBPropagator()

# Define a set of observers and observation times
times = Timestamp.from_mjd(initial_time.mjd() + np.arange(0, 100))
observers = Observers.from_code("I11", times)

# Generate ephemerides! This function supports multiprocessing for large
# propagation jobs.
ephemeris = propagator.generate_ephemeris(
    orbits,
    observers,
    chunk_size=100,
    max_processes=1
)

Low-level APIs

State Vectors from Development Ephemeris files

Getting the heliocentric ecliptic state vector of a DE440 body at a given set of times (in this case the barycenter of the Jovian system):

import numpy as np

from adam_core.coordinates import OriginCodes
from adam_core.utils import get_perturber_state
from adam_core.time import Timestamp

states = get_perturber_state(
    OriginCodes.JUPITER_BARYCENTER,
    Timetamp.from_mjd(np.arange(59000, 60000), scale="tdb"),
    frame="ecliptic",
    origin=OriginCodes.SUN,
)

2-body Propagation

adam_core also has 2-body propagation functionality. To propagate any orbit with 2-body dynamics:

import numpy as np
from astropy import units as u

from adam_core.orbits.query import query_sbdb
from adam_core.dynamics import propagate_2body
from adam_core.time import Timestamp

# Get orbit to propagate
object_ids = ["Duende", "Eros", "Ceres"]
orbits = query_sbdb(object_ids)

# Define propagation times
times = Timestamp.from_mjd(np.arange(59000, 60000), scale="tdb")

# Propagate orbits with 2-body dynamics
propagated_orbits = propagate_2body(
    orbits,
    times
)

2-body Ephemeris Generation

This package also has functionality to generate ephemerides for a set of orbits. We do not recommend you use this with 2-body propagated orbits as it will not be accurate for more than a few days. However, if you used a N-body propagator such as PYOORB, you can feed in the propagated orbits to this function to generate ephemerides. We call the ephemeris generator 2-body because the light-time correction is applied using a 2-body propagator.

Because the ephemeris generator was written in Jax, we can also map covariances directly to the sky-plane. To do this, we propagate the covariance matrices with the orbits. This is done by passing covariance=True to the propagator. The ephemeris generator will then automatically map the propagated covariance matrices to the sky-plane.

import numpy as np
from astropy import units as u

from adam_core.orbits.query import query_sbdb
from adam_core.propagator.adam_pyoorb import PYOORBPropagator
from adam_core.observers import Observers
from adam_core.dynamics import generate_ephemeris_2body
from adam_core.time import Timestamp

# Get orbits to propagate
object_ids = ["Duende", "Eros", "Ceres"]
orbits = query_sbdb(object_ids)

# Make sure PYOORB is ready
propagator = PYOORBPropagator()

# Define a set of observers and observation times
times = Timestamp.from_mjd(np.arange(59000, 60000), scale="tdb")
observers = Observers.from_code("I11", times)

# Propagate orbits with PYOORB (note that we are propagating with covariances)
propagated_orbits = propagator.propagate_orbits(
    orbits,
    times,
    chunk_size=100,
    max_processes=1,
    covariance=True,
)

# Now generate ephemerides with the 2-body ephemeris generator
ephemeris = generate_ephemeris_2body(
    propagated_orbits,
    observers,
)

Gravitational parameter

Both the 2-body propagation and 2-body ephemeris generation code will determine the correct graviational parameter to use from each orbit's origin.

To see the gravitational parameter used for each orbit:

from adam_core.orbits.query import query_sbdb

# Get orbit to propagate
object_ids = ["Duende", "Eros", "Ceres"]
orbits = query_sbdb(object_ids)

# Get the gravitational parameter (these will all be the same -- heliocentric)
mu = orbits.coordinates.origin.mu()

Package Structure

adam_core
├── constants.py  # Shared constants
├── coordinates   # Coordinate classes and transformations
├── dynamics      # Numerical solutions
├── orbits        # Orbits class and query utilities
└── utils         # Utility classes like Indexable or conversions like times_from_df

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

adam_core-0.5.6rc2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

adam_core-0.5.6rc2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (15.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

adam_core-0.5.6rc2-cp313-cp313-macosx_11_0_arm64.whl (14.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

adam_core-0.5.6rc2-cp313-cp313-macosx_10_12_x86_64.whl (14.8 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

adam_core-0.5.6rc2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

adam_core-0.5.6rc2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (15.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

adam_core-0.5.6rc2-cp312-cp312-macosx_11_0_arm64.whl (14.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

adam_core-0.5.6rc2-cp312-cp312-macosx_10_12_x86_64.whl (14.8 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

adam_core-0.5.6rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

adam_core-0.5.6rc2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (15.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

adam_core-0.5.6rc2-cp311-cp311-macosx_11_0_arm64.whl (14.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

adam_core-0.5.6rc2-cp311-cp311-macosx_10_12_x86_64.whl (14.8 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

Details for the file adam_core-0.5.6rc2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for adam_core-0.5.6rc2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 da7540925ebcbc01ffa31cf936cc54d84dee07f1eb3ed0c6c7081de8f1302afa
MD5 fd43a3a21c4e19ed6cdbfd0829ab5698
BLAKE2b-256 d766768059a16f490a93ee9d7c1b50176ddb5fb84091c14f2c5498114c8459d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_core-0.5.6rc2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam_core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_core-0.5.6rc2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for adam_core-0.5.6rc2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d2e00d34dc89bcc7f00a5791cb364394339b4967fd1a1339e353adbea7732aad
MD5 9e6d2ff0a1be386306ecf140a2bf55a8
BLAKE2b-256 b8730a71cd6ae5070bbf534817dadfebd38f9298925ad8b5b00e2608dce3b670

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_core-0.5.6rc2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam_core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_core-0.5.6rc2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for adam_core-0.5.6rc2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 833bb8d5a3ea41a66e28202624396614f83dc6550aed325addea5d807225d454
MD5 dbb10eb2e484a7767b4986a980b03e47
BLAKE2b-256 0314b9bff12d9686faebaddb696b59d8a768be3013ed300d953d5b367fafc24a

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_core-0.5.6rc2-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam_core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_core-0.5.6rc2-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for adam_core-0.5.6rc2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 380e19b38c765cea939c09f5b480db88033885dc44b4c07a5b27fdf7a2ccbfbd
MD5 70609a034f65d8613e8a72c4e2d7e6c2
BLAKE2b-256 40770ef15b98937e77bf39170826643c778bacdf8370ef32348940b6b5e3959b

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_core-0.5.6rc2-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam_core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_core-0.5.6rc2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for adam_core-0.5.6rc2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a43b1d35c433b0e5a4956c62a5824dd792d9d32c49a57a436af83b06d39314ac
MD5 fd23fb9de831e414f21d81ca841b027f
BLAKE2b-256 bb4b8f083cde7572672a724aa7ad8d4a53423d1813749cb6b1d1e31681f201a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_core-0.5.6rc2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam_core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_core-0.5.6rc2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for adam_core-0.5.6rc2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 04553146d19b7e3fb73ddaca3bd0c0771ade9c27451da4a386bc233e3a08dd04
MD5 e66c5141834ef72305fd018387c6f91a
BLAKE2b-256 91479dfcd26abce5696616517dd0e6c7e2c14b21f3aa4bce76424af5f7b53422

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_core-0.5.6rc2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam_core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_core-0.5.6rc2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for adam_core-0.5.6rc2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c50e905964b0ddc4df863c32373ec4d6b7f4177124328a49fe350d1dda16efce
MD5 fb60489e7882152d779161a279adbb10
BLAKE2b-256 ccc551319a23d4849739030e99d9a730bc03e287f09091cbc12e691168d1af80

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_core-0.5.6rc2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam_core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_core-0.5.6rc2-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for adam_core-0.5.6rc2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 723311141da0199bcac984c7f8de58cc49e7b9f7c4b05ea0d75623e426410a2f
MD5 61ab844a3dca41b7ac06b6ab0329eed9
BLAKE2b-256 d02f5ac654bae9d835cc60d6e206536316344e1280bbdfe104b693bdcbea632a

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_core-0.5.6rc2-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam_core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_core-0.5.6rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for adam_core-0.5.6rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8d212a8bfae455b9616b81fe026a806d7df55b143127b223873aa8ad56e60f2b
MD5 112d1336eb89886844c2591d694cd0b7
BLAKE2b-256 d1add27cd420ea10a9bce8e82e6dc0fd2c31dfa533caccd095a3ed8f2a84e344

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_core-0.5.6rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam_core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_core-0.5.6rc2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for adam_core-0.5.6rc2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dcd40865864e6c68a09ada8585276373e00eb6ce4ee1d795f3006edb5a17a5a2
MD5 656a1d35869e385e7fab9fa894a34907
BLAKE2b-256 48925c4e0d6e60160c38dad1645951131d5d5a793b9c7a26467aad83ce81e1b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_core-0.5.6rc2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam_core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_core-0.5.6rc2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for adam_core-0.5.6rc2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 71064bbad8e19d1211a58f9afe9cce6fe190f24a933f049145e6c3453b7d6a75
MD5 d18d1f71562e9a687bfc9f3e960dd9a6
BLAKE2b-256 081fc0d519d15e1983228408333c45ae7c0eb1bb14ed54fbf29888e8f921cac0

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_core-0.5.6rc2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam_core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_core-0.5.6rc2-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for adam_core-0.5.6rc2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c5798ac5767e482c668255de44e0bfe32aab02ba03b750a7fbd5db0bbd45273a
MD5 4e722190a435907843f00abf364639bf
BLAKE2b-256 227139fbaf923b9b42fc96127fea9efa15a1cb88580aabe1a80a9b373e9426fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_core-0.5.6rc2-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam_core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page