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.8

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.8
File
adam_core-0.5.8-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.8-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.8-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
adam_core-0.5.8-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
adam_core-0.5.8-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.8-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.8-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
adam_core-0.5.8-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
adam_core-0.5.8-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.8-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.8-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
adam_core-0.5.8-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details

Total release size: 163.3 MB

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

Download URL adam_core-0.5.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 14.1 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
5e9dbe692d1c6ea64fccbee71af12096b42325ed4c2e7de17dd96a2efa96860f
BLAKE2b-256 checksum
How to use checksums
1dc8b5a5b7c0fa3c0c4c6f97dbedf2ef9265832797e8faa6b44b0ec34f714931
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 6, 2026.

Transparency log

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

Download URL adam_core-0.5.8-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
d3183301e0ce748a3d60958bafbb209708c73c5d51f16d6e97b77f4679bc3e72
BLAKE2b-256 checksum
How to use checksums
58bcad492b1b1a93fd78451fef3c1e42b6eef4f2af35d889524ec6ba7eff66d1
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 6, 2026.

Transparency log

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

Download URL adam_core-0.5.8-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
010234b056e8de90abcbffa37f8391aaaa8cbd2966ee0be28b43b1e943f38f59
BLAKE2b-256 checksum
How to use checksums
70248f48f442d733f199cb5653b3e15a8e077b4b1357ee4c56cb47ba410d7ef5
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 6, 2026.

Transparency log

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

Download URL adam_core-0.5.8-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
03a115991182f746ed621de68cd0e54e32522dd0e9c6730bac1af4826673f1f4
BLAKE2b-256 checksum
How to use checksums
cfedfaed61c7e2fbe8786ffa4183737fd0e0d6fb0ed2b03b99587e4af1668520
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 6, 2026.

Transparency log

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

Download URL adam_core-0.5.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 14.1 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9335e6628ab4eee4fc7f43799f60d6ff0686ea2f2544bdd457e9a163b87289f4
BLAKE2b-256 checksum
How to use checksums
f1646b982314592c2b5d0df2e1100608ed24b6b217ad96f98783c21f598ed2bd
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 6, 2026.

Transparency log

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

Download URL adam_core-0.5.8-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
becf3787fd9b4dbf3a0db718d33cd89e8e7d2820efbbb535eaa722d0596e4af2
BLAKE2b-256 checksum
How to use checksums
afebf3f5440a0a116b6677c8f3da9d9f4f46f02dca69b78105994423393d0f6f
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 6, 2026.

Transparency log

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

Download URL adam_core-0.5.8-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
e0c0e95d40813b5125bee1e31d1085d74693fd336f5fc17344fec4d3e9275859
BLAKE2b-256 checksum
How to use checksums
8ccb702095b4f191d6d6662cc5a40632eaa0dc020ee0be929556ee264d2b1e39
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 6, 2026.

Transparency log

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

Download URL adam_core-0.5.8-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
47d76bc11e3ac5c4b1d96586ea75a4afcd1d26d6f23f327d7c7cfaaa7faa0878
BLAKE2b-256 checksum
How to use checksums
e163e8324062d6955fbd25ef9e78f59f8d8dc8b3df8eca6ae83751593acfc070
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 6, 2026.

Transparency log

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

Download URL adam_core-0.5.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 14.1 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3bb59acddc42a486ca056a87f27bf9881b0b494013b2b1f5b3ff241139e865bb
BLAKE2b-256 checksum
How to use checksums
8a4f0c01fdffd35c9e909f1bb07c6198520563c04d3a7207de6c5c2545b27b14
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 6, 2026.

Transparency log

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

Download URL adam_core-0.5.8-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
ce85947096a49de264dfad034aaf712bc6cdad3bcf31fac42ab085c69e5040f2
BLAKE2b-256 checksum
How to use checksums
a9a247b23c6e270da4342e785f5a51e5a594ee2158dc0e99e4e95c951f88adf2
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 6, 2026.

Transparency log

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

Download URL adam_core-0.5.8-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
9cac2e832a1de7d4d86e66981ddc0cf8ea1f8296969b4189a85111c84b7accf4
BLAKE2b-256 checksum
How to use checksums
68c1275db544e0d67a9b43878b97a6f9b3413347f1a87b32fbe937bd8e2e1c58
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 6, 2026.

Transparency log

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

Download URL adam_core-0.5.8-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
a8b28e8e94a248eb2b17d27e463228f667f87ed41947c0ab70b15182d2bc4aea
BLAKE2b-256 checksum
How to use checksums
a909efa56a7f697da44779decf3bbea12a59952af523847066090321f6f5c4e4
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 6, 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