API Reference

This section provides detailed documentation for the mpcq API.

Data Structures

The mpcq package uses strongly-typed tables built with Quivr and adam-core. These tables provide efficient memory usage, type safety, and fast operations through Apache Arrow.

MPCObservations

class MPCObservations(table: Table, **kwargs: int | float | str)[source]

Bases: Table

requested_provid

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

primary_designation

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

id

A column for storing 64-bit integers.

trksub

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

trkid

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

obsid

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

submission_id

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

submission_block_id

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

obs80

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

status

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

ref

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

healpix

A column for storing 64-bit integers.

permid

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

provid

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

artsat

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

mode

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

stn

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

trx

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

rcv

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

sys

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

ctr

A column for storing 64-bit integers.

pos1

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

pos2

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

pos3

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

poscov11

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

poscov12

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

poscov13

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

poscov22

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

poscov23

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

poscov33

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

prog

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

obstime

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

ra

A column for storing 64-bit floating point numbers.

dec

A column for storing 64-bit floating point numbers.

rastar

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

decstar

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

obscenter

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

deltara

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

deltadec

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

dist

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

pa

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

rmsra

A column for storing 64-bit floating point numbers.

rmsdec

A column for storing 64-bit floating point numbers.

rmsdist

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

rmspa

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

rmscorr

A column for storing 64-bit floating point numbers.

delay

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

rmsdelay

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

doppler

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

rmsdoppler

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

astcat

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

mag

A column for storing 64-bit floating point numbers.

rmsmag

A column for storing 64-bit floating point numbers.

band

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

photcat

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

photap

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

nucmag

A column for storing 64-bit integers.

logsnr

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

seeing

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

exp

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

rmsfit

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

com

A column for storing 64-bit integers.

frq

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

disc

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

subfrm

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

subfmt

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

prectime

A column for storing 64-bit integers.

precra

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

precdec

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

unctime

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

notes

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

remarks

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

deprecated

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

localuse

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

nstars

A column for storing 64-bit integers.

prev_desig

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

prev_ref

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

rmstime

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

created_at

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

updated_at

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

trkmpc

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

orbit_id

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

designation_asterisk

A column for storing booleans.

all_pub_ref

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

shapeocc

A column for storing booleans.

obssubid

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

replacesobsid

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

group_id

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

vel1

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

fltr

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

vel3

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

vel2

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

obstime_text

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

datastream_metadata

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

schema: ClassVar[Schema] = requested_provid: large_string primary_designation: large_string id: int64 trksub: large_string trkid: large_string obsid: large_string submission_id: large_string submission_block_id: large_string obs80: large_string status: large_string ref: large_string healpix: int64 permid: large_string provid: large_string artsat: large_string mode: large_string stn: large_string trx: large_string rcv: large_string sys: large_string ctr: int64 pos1: large_string pos2: large_string pos3: large_string poscov11: large_string poscov12: large_string poscov13: large_string poscov22: large_string poscov23: large_string poscov33: large_string prog: large_string obstime: struct<days: int64, nanos: int64>   child 0, days: int64   child 1, nanos: int64 ra: double dec: double rastar: large_string decstar: large_string obscenter: large_string deltara: large_string deltadec: large_string dist: large_string pa: large_string rmsra: double rmsdec: double rmsdist: large_string rmspa: large_string rmscorr: double delay: large_string rmsdelay: large_string doppler: large_string rmsdoppler: large_string astcat: large_string mag: double rmsmag: double band: large_string photcat: large_string photap: large_string nucmag: int64 logsnr: large_string seeing: large_string exp: large_string rmsfit: large_string com: int64 frq: large_string disc: large_string subfrm: large_string subfmt: large_string prectime: int64 precra: large_string precdec: large_string unctime: large_string notes: large_string remarks: large_string deprecated: large_string localuse: large_string nstars: int64 prev_desig: large_string prev_ref: large_string rmstime: large_string created_at: struct<days: int64, nanos: int64>   child 0, days: int64   child 1, nanos: int64 updated_at: struct<days: int64, nanos: int64>   child 0, days: int64   child 1, nanos: int64 trkmpc: large_string orbit_id: large_string designation_asterisk: bool all_pub_ref: large_string shapeocc: bool obssubid: large_string replacesobsid: large_string group_id: large_string vel1: large_string fltr: large_string vel3: large_string vel2: large_string obstime_text: large_string datastream_metadata: large_string
Contains observation data with columns:
  • obstime: Observation timestamp (Timestamp)

  • ra, dec: Position in degrees (Float64)

  • rmsra, rmsdec: Position uncertainties (Float64)

  • mag: Magnitude (Float64)

  • band: Filter band (String)

  • stn: Observatory code (String)

  • And more…

CrossMatchedMPCObservations

class CrossMatchedMPCObservations(table: Table, **kwargs: int | float | str)[source]

Bases: Table

request_id

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

mpc_observations

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

separation_arcseconds

A column for storing 64-bit floating point numbers.

separation_seconds

A column for storing 64-bit floating point numbers.

schema: ClassVar[Schema] = request_id: large_string not null mpc_observations: struct<requested_provid: large_string, primary_designation: large_string, id: int64, trksub: large_s (... 2007 chars omitted)   child 0, requested_provid: large_string   child 1, primary_designation: large_string   child 2, id: int64   child 3, trksub: large_string   child 4, trkid: large_string   child 5, obsid: large_string   child 6, submission_id: large_string   child 7, submission_block_id: large_string   child 8, obs80: large_string   child 9, status: large_string   child 10, ref: large_string   child 11, healpix: int64   child 12, permid: large_string   child 13, provid: large_string   child 14, artsat: large_string   child 15, mode: large_string   child 16, stn: large_string   child 17, trx: large_string   child 18, rcv: large_string   child 19, sys: large_string   child 20, ctr: int64   child 21, pos1: large_string   child 22, pos2: large_string   child 23, pos3: large_string   child 24, poscov11: large_string   child 25, poscov12: large_string   child 26, poscov13: large_string   child 27, poscov22: large_string   child 28, poscov23: large_string   child 29, poscov33: large_string   child 30, prog: large_string   child 31, obstime: struct<days: int64, nanos: int64>       child 0, days: int64       child 1, nanos: int64   child 32, ra: double   child 33, dec: double   child 34, rastar: large_string   child 35, decstar: large_string   child 36, obscenter: large_string   child 37, deltara: large_string   child 38, deltadec: large_string   child 39, dist: large_string   child 40, pa: large_string   child 41, rmsra: double   child 42, rmsdec: double   child 43, rmsdist: large_string   child 44, rmspa: large_string   child 45, rmscorr: double   child 46, delay: large_string   child 47, rmsdelay: large_string   child 48, doppler: large_string   child 49, rmsdoppler: large_string   child 50, astcat: large_string   child 51, mag: double   child 52, rmsmag: double   child 53, band: large_string   child 54, photcat: large_string   child 55, photap: large_string   child 56, nucmag: int64   child 57, logsnr: large_string   child 58, seeing: large_string   child 59, exp: large_string   child 60, rmsfit: large_string   child 61, com: int64   child 62, frq: large_string   child 63, disc: large_string   child 64, subfrm: large_string   child 65, subfmt: large_string   child 66, prectime: int64   child 67, precra: large_string   child 68, precdec: large_string   child 69, unctime: large_string   child 70, notes: large_string   child 71, remarks: large_string   child 72, deprecated: large_string   child 73, localuse: large_string   child 74, nstars: int64   child 75, prev_desig: large_string   child 76, prev_ref: large_string   child 77, rmstime: large_string   child 78, created_at: struct<days: int64, nanos: int64>       child 0, days: int64       child 1, nanos: int64   child 79, updated_at: struct<days: int64, nanos: int64>       child 0, days: int64       child 1, nanos: int64   child 80, trkmpc: large_string   child 81, orbit_id: large_string   child 82, designation_asterisk: bool   child 83, all_pub_ref: large_string   child 84, shapeocc: bool   child 85, obssubid: large_string   child 86, replacesobsid: large_string   child 87, group_id: large_string   child 88, vel1: large_string   child 89, fltr: large_string   child 90, vel3: large_string   child 91, vel2: large_string   child 92, obstime_text: large_string   child 93, datastream_metadata: large_string separation_arcseconds: double not null separation_seconds: double not null
Contains cross-matched observations with additional columns:
  • separation_arcseconds: Angular separation between matches (Float64)

  • separation_seconds: Time difference between matches (Float64)

  • mpc_observations: Nested MPCObservations table

MPCOrbits

class MPCOrbits(table: Table, **kwargs: int | float | str)[source]

Bases: Table

requested_provid

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

primary_designation

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

provid

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

epoch

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

id

A column for storing 64-bit integers.

packed_primary_provisional_designation

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

unpacked_primary_provisional_designation

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

mpc_orb_jsonb

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

created_at

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

updated_at

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

orbit_type_int

A column for storing 64-bit integers.

u_param

A column for storing 64-bit integers.

nopp

A column for storing 64-bit integers.

arc_length_total

A column for storing 64-bit floating point numbers.

arc_length_sel

A column for storing 64-bit floating point numbers.

nobs_total

A column for storing 64-bit integers.

nobs_total_sel

A column for storing 64-bit integers.

a

A column for storing 64-bit floating point numbers.

q

A column for storing 64-bit floating point numbers.

e

A column for storing 64-bit floating point numbers.

i

A column for storing 64-bit floating point numbers.

node

A column for storing 64-bit floating point numbers.

argperi

A column for storing 64-bit floating point numbers.

peri_time

A column for storing 64-bit floating point numbers.

yarkovsky

A column for storing 64-bit floating point numbers.

srp

A column for storing 64-bit floating point numbers.

a1

A column for storing 64-bit floating point numbers.

a2

A column for storing 64-bit floating point numbers.

a3

A column for storing 64-bit floating point numbers.

dt

A column for storing 64-bit floating point numbers.

mean_anomaly

A column for storing 64-bit floating point numbers.

period

A column for storing 64-bit floating point numbers.

mean_motion

A column for storing 64-bit floating point numbers.

a_unc

A column for storing 64-bit floating point numbers.

q_unc

A column for storing 64-bit floating point numbers.

e_unc

A column for storing 64-bit floating point numbers.

i_unc

A column for storing 64-bit floating point numbers.

node_unc

A column for storing 64-bit floating point numbers.

argperi_unc

A column for storing 64-bit floating point numbers.

peri_time_unc

A column for storing 64-bit floating point numbers.

yarkovsky_unc

A column for storing 64-bit floating point numbers.

srp_unc

A column for storing 64-bit floating point numbers.

a1_unc

A column for storing 64-bit floating point numbers.

a2_unc

A column for storing 64-bit floating point numbers.

a3_unc

A column for storing 64-bit floating point numbers.

dt_unc

A column for storing 64-bit floating point numbers.

mean_anomaly_unc

A column for storing 64-bit floating point numbers.

period_unc

A column for storing 64-bit floating point numbers.

mean_motion_unc

A column for storing 64-bit floating point numbers.

epoch_mjd

A column for storing 64-bit floating point numbers.

h

A column for storing 64-bit floating point numbers.

g

A column for storing 64-bit floating point numbers.

not_normalized_rms

A column for storing 64-bit floating point numbers.

normalized_rms

A column for storing 64-bit floating point numbers.

earth_moid

A column for storing 64-bit floating point numbers.

fitting_datetime

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

datastream_metadata

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

orbits() Orbits[source]

Return the orbits as an adam_core Orbits object.

Returns:

orbits – The orbits and associated data for the given provisional designations.

Return type:

Orbits

schema: ClassVar[Schema] = requested_provid: large_string not null primary_designation: large_string provid: large_string epoch: struct<days: int64, nanos: int64>   child 0, days: int64   child 1, nanos: int64 id: int64 packed_primary_provisional_designation: large_string unpacked_primary_provisional_designation: large_string mpc_orb_jsonb: large_string created_at: struct<days: int64, nanos: int64>   child 0, days: int64   child 1, nanos: int64 updated_at: struct<days: int64, nanos: int64>   child 0, days: int64   child 1, nanos: int64 orbit_type_int: int64 u_param: int64 nopp: int64 arc_length_total: double arc_length_sel: double nobs_total: int64 nobs_total_sel: int64 a: double q: double e: double i: double node: double argperi: double peri_time: double yarkovsky: double srp: double a1: double a2: double a3: double dt: double mean_anomaly: double period: double mean_motion: double a_unc: double q_unc: double e_unc: double i_unc: double node_unc: double argperi_unc: double peri_time_unc: double yarkovsky_unc: double srp_unc: double a1_unc: double a2_unc: double a3_unc: double dt_unc: double mean_anomaly_unc: double period_unc: double mean_motion_unc: double epoch_mjd: double h: double g: double not_normalized_rms: double normalized_rms: double earth_moid: double fitting_datetime: struct<days: int64, nanos: int64>   child 0, days: int64   child 1, nanos: int64 datastream_metadata: large_string
Contains orbital elements with columns:
  • epoch: Epoch of orbital elements (Timestamp)

  • a: Semi-major axis in AU (Float64)

  • e: Eccentricity (Float64)

  • i: Inclination in degrees (Float64)

  • om: Longitude of ascending node in degrees (Float64)

  • w: Argument of perihelion in degrees (Float64)

  • ma: Mean anomaly in degrees (Float64)

MPCPrimaryObjects

class MPCPrimaryObjects(table: Table, **kwargs: int | float | str)[source]

Bases: Table

requested_provid

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

primary_designation

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

provid

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

created_at

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

updated_at

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

schema: ClassVar[Schema] = requested_provid: large_string not null primary_designation: large_string provid: large_string created_at: struct<days: int64, nanos: int64>   child 0, days: int64   child 1, nanos: int64 updated_at: struct<days: int64, nanos: int64>   child 0, days: int64   child 1, nanos: int64
Contains object identification data with columns:
  • primary_designation: Primary designation (String)

  • provid: Provisional designation (String)

  • permid: Permanent identifier (String)

  • created_at, updated_at: Timestamps for record updates

Client Classes

BigQueryMPCClient

class BigQueryMPCClient(dataset_id: str, **kwargs: Any)[source]

Bases: MPCClient

query_observations(provids: list[str] | None = None, columns: list[str] | str | None = None, column_mode: Literal['minimal', 'ades', 'full'] = 'minimal', where: list[Where] | None = None, limit: int | None = None, dedupe: bool = True) MPCObservations[source]

Query the MPC database for the observations and associated data for the given provisional designations.

Parameters:
  • provids (List[str] | None) – List of provisional designations to query. Optional.

  • columns (list[str] | str | None) – Explicit subset of columns, “*” for full schema, or None to use column_mode.

  • column_mode (Literal["minimal", "ades", "full"]) – Default column bundle when columns is None.

  • where (list[Where] | None) – Additional filters using allowed operators.

  • limit (int | None) – Limit the number of rows returned. Required if both provids and where are None.

  • dedupe (bool) – If True, use SELECT DISTINCT to deduplicate expanded-identifier joins.

Returns:

observations – The observations and associated data for the given provisional designations.

Return type:

MPCObservations

all_orbits() MPCOrbits[source]

Query the MPC database for all orbits and associated data.

Returns:

orbits – The orbits and associated data for all objects in the MPC database.

Return type:

MPCOrbits

query_orbits(provids: list[str] | None = None, columns: list[str] | str | None = None, column_mode: Literal['minimal', 'full'] = 'minimal', where: list[Where] | None = None, limit: int | None = None, dedupe: bool = True) MPCOrbits[source]

Query the MPC database for the orbits and associated data for the given provisional designations.

Parameters:
  • provids (List[str] | None) – List of provisional designations to query. Optional.

  • columns (list[str] | str | None) – Explicit subset of columns, “*” for full schema, or None to use column_mode.

  • column_mode (Literal["minimal", "full"]) – Default column bundle when columns is None.

  • where (list[Where] | None) – Additional filters using allowed operators.

  • limit (int | None) – Limit the number of rows returned. Required if both provids and where are None.

  • dedupe (bool) – If True, use SELECT DISTINCT to deduplicate expanded-identifier joins.

Returns:

orbits – The orbits and associated data for the given provisional designations.

Return type:

MPCOrbits

query_submission_info(submission_ids: list[str]) MPCSubmissionResults[source]

Query for observation status and mapping (observation ID to trksub, provid, etc.) for a given list of submission IDs.

Parameters:

submission_ids (list[str]) – List of submission IDs to query.

Returns:

submission_info – The observation status and mapping for the given submission IDs.

Return type:

MPCSubmissionResults

query_submission_history(provids: list[str]) MPCSubmissionHistory[source]

Query for submission history for a given list of provisional designations.

Parameters:

provids (list[str]) – List of provisional designations to query.

Returns:

submission_history – The submission history for the given provisional designations.

Return type:

MPCSubmissionHistory

query_primary_objects(provids: list[str]) MPCPrimaryObjects[source]

Query the MPC database for the primary objects and associated data for the given provisional designations.

Parameters:

provids (list[str]) – List of provisional designations to query.

Returns:

primary_objects – The primary objects and associated data for the given provisional designations.

Return type:

MPCPrimaryObjects

cross_match_observations(ades_observations: ADESObservations, obstime_tolerance_seconds: int = 30, arcseconds_tolerance: float = 2.0) CrossMatchedMPCObservations[source]

Cross-match the given ADES observations with the MPC observations.

Parameters:
  • ades_observations (ADESObservations) – The ADES observations to cross-match.

  • obstime_tolerance_seconds (float, optional) – Time tolerance in seconds for matching observations.

  • arcseconds_tolerance (float, optional) – Angular separation tolerance in arcseconds.

Returns:

cross_matched_mpc_observations – The MPC observations that match the given ADES observations.

Return type:

CrossMatchedMPCObservations

find_duplicates(provid: str, obstime_tolerance_seconds: int = 30, arcseconds_tolerance: float = 2.0) CrossMatchedMPCObservations[source]

Find duplicates in the MPC observations for a given object by comparing observations against each other using time and position tolerances.

Parameters:
  • provid (str) – The provisional designation to check for duplicates.

  • obstime_tolerance_seconds (int, optional) – Time tolerance in seconds for matching observations.

  • arcseconds_tolerance (float, optional) – Angular separation tolerance in arcseconds.

Returns:

cross_matched_mpc_observations – The MPC observations that are potential duplicates, with separation information included.

Return type:

CrossMatchedMPCObservations

The main client for interacting with the MPC BigQuery dataset. All query methods return strongly-typed Quivr tables.

Submission Classes

MPCSubmissionResults

class MPCSubmissionResults(table: Table, **kwargs: int | float | str)[source]

Bases: Table

requested_submission_id

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

obsid

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

obssubid

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

trksub

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

primary_designation

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

permid

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

provid

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

submission_id

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

status

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

schema: ClassVar[Schema] = requested_submission_id: large_string not null obsid: large_string obssubid: large_string trksub: large_string primary_designation: large_string permid: large_string provid: large_string submission_id: large_string status: large_string

MPCSubmissionHistory

class MPCSubmissionHistory(table: Table, **kwargs: int | float | str)[source]

Bases: Table

requested_provid

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

primary_designation

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

submission_id

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

submission_time

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

first_submission

A column for storing booleans.

last_submission

A column for storing booleans.

num_obs

A column for storing 64-bit integers.

first_obs_time

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

last_obs_time

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

arc_length

A column for storing 64-bit floating point numbers.

schema: ClassVar[Schema] = requested_provid: large_string not null primary_designation: large_string submission_id: large_string submission_time: struct<days: int64, nanos: int64>   child 0, days: int64   child 1, nanos: int64 first_submission: bool last_submission: bool num_obs: int64 first_obs_time: struct<days: int64, nanos: int64>   child 0, days: int64   child 1, nanos: int64 last_obs_time: struct<days: int64, nanos: int64>   child 0, days: int64   child 1, nanos: int64 arc_length: double