Skip to main content

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 compatible propagator. adam-assist supplies the supported high-precision N-body implementation and maps propagated covariance matrices to the sky plane.

import numpy as np
from astropy import units as u

from adam_assist import ASSISTPropagator
from adam_core.observers import Observers
from adam_core.orbits.query import query_horizons
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)

propagator = ASSISTPropagator()

# 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 ASSIST, 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.

The ephemeris generator can map covariances directly to the sky plane. To do this, 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_assist import ASSISTPropagator
from adam_core.observers import Observers
from adam_core.orbits.query import query_sbdb
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)

propagator = ASSISTPropagator()

# 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 ASSIST (including 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

Metadata

Release files for adam-core 0.5.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for adam-core 0.5.7
File
adam_core-0.5.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
adam_core-0.5.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
adam_core-0.5.7-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
adam_core-0.5.7-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
adam_core-0.5.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
adam_core-0.5.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
adam_core-0.5.7-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
adam_core-0.5.7-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
adam_core-0.5.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
adam_core-0.5.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
adam_core-0.5.7-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
adam_core-0.5.7-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details

Total release size: 163.1 MB

Release files / adam_core-0.5.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL adam_core-0.5.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 14.0 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1fa75297b5c2653271719a5bffc2aa29297a34fa3374438eb640d0452d21c162
BLAKE2b-256 checksum
How to use checksums
3716ce529ed6eb2ed412d957b399112a8375efee9d851813093bed0625a4ab91
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 Sep 1, 2026.

Transparency log

Release files / adam_core-0.5.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL adam_core-0.5.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 13.6 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
459e0c99f3525e9af5359bf3b2dbb0884050f29a1c93f596d38c54347988a0c5
BLAKE2b-256 checksum
How to use checksums
72aa3f57b99b5f8e84dd56b15c0d31104929755f2045d4f9c873b7099c497268
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 Sep 1, 2026.

Transparency log

Release files / adam_core-0.5.7-cp313-cp313-macosx_11_0_arm64.whl

Download URL adam_core-0.5.7-cp313-cp313-macosx_11_0_arm64.whl
Size 13.0 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6404ddbbc9c118fef46d2089740d02a145c97851c190203f09acb6e05f5ef30a
BLAKE2b-256 checksum
How to use checksums
a3e8a65f160556a643fe1575abacd57b4be6b44ea970a6ca702a8b6308b57cf9
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 Sep 1, 2026.

Transparency log

Release files / adam_core-0.5.7-cp313-cp313-macosx_10_12_x86_64.whl

Download URL adam_core-0.5.7-cp313-cp313-macosx_10_12_x86_64.whl
Size 13.8 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
a7a555a904a2749cba36e8d5c6d92d4e413d8bfb589d7aa92e115d15e05a6be0
BLAKE2b-256 checksum
How to use checksums
30cbd8fcaae1455e5d8f3d14ab1d562bbc92b005ca919be969affce8c7685e46
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 Sep 1, 2026.

Transparency log

Release files / adam_core-0.5.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL adam_core-0.5.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 14.0 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b9cb191d85c049f93358d77d629c0d064e8a34842252d565173a641c80ff44aa
BLAKE2b-256 checksum
How to use checksums
21a3a6fe026c5ade4fa8de6de9250007bebe005526434fa9c85fdc16c11503e0
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 Sep 1, 2026.

Transparency log

Release files / adam_core-0.5.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL adam_core-0.5.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 13.6 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
b707ad4556f973b481301d569c22212f066d446a8f2e14027e46b9db7aba45ef
BLAKE2b-256 checksum
How to use checksums
d4a822086c5f54aaf5f95da6369aaff828c9a98517d9e82ae2fc62173081910e
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 Sep 1, 2026.

Transparency log

Release files / adam_core-0.5.7-cp312-cp312-macosx_11_0_arm64.whl

Download URL adam_core-0.5.7-cp312-cp312-macosx_11_0_arm64.whl
Size 13.0 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
907a7cf7223a063a25867d0e86a4fca2ce1eca0021035041a0820e9df431ab71
BLAKE2b-256 checksum
How to use checksums
63b75e80e02575e78048e83ef409010bac5051f7dd51af2fb5f5eef976d8398c
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 Sep 1, 2026.

Transparency log

Release files / adam_core-0.5.7-cp312-cp312-macosx_10_12_x86_64.whl

Download URL adam_core-0.5.7-cp312-cp312-macosx_10_12_x86_64.whl
Size 13.8 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
48b2bce166e2704359c2e39a84bcf52d87ec67a022c9f801b21f5774126a8dd4
BLAKE2b-256 checksum
How to use checksums
364cb651c0189e032ff161f0b9efc2fbadeee11822e5969f20311401e537016c
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 Sep 1, 2026.

Transparency log

Release files / adam_core-0.5.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL adam_core-0.5.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 14.0 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
067004a6e0570874c54b6f3726ea09cd7a02fb2e00aac96432a17b86a4ac98fd
BLAKE2b-256 checksum
How to use checksums
a6c98eb2e4978042f994d0469a04d170fff09d61d35762befcc8de7afff95e3c
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 Sep 1, 2026.

Transparency log

Release files / adam_core-0.5.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL adam_core-0.5.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 13.6 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
78f98c5d2727249df198b8f330e4ff55415dd0873a2e1554696f4b4c553ecf0e
BLAKE2b-256 checksum
How to use checksums
4014250ce2042deaebb31022df9b7697bec59d9fda3b186e91121c3eab0d47ae
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 Sep 1, 2026.

Transparency log

Release files / adam_core-0.5.7-cp311-cp311-macosx_11_0_arm64.whl

Download URL adam_core-0.5.7-cp311-cp311-macosx_11_0_arm64.whl
Size 13.0 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f758137dcd23d5cec5159d3c896a681499d41930454a7fda2c577386dd0d96d5
BLAKE2b-256 checksum
How to use checksums
5694d40c4782db0f5dd2037210a0b5d9a5066af787d5b018accdbcd077be2257
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 Sep 1, 2026.

Transparency log

Release files / adam_core-0.5.7-cp311-cp311-macosx_10_12_x86_64.whl

Download URL adam_core-0.5.7-cp311-cp311-macosx_10_12_x86_64.whl
Size 13.8 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
66cdb65dd016c8ab3b05955b7bb0ae25c0728e6ea5f120d75796e4dba525a283
BLAKE2b-256 checksum
How to use checksums
f7c668c1cbccc147c2835f350252080e060d3cf57eaccfade17f9f319268a939
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 Sep 1, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page