Skip to main content

No project description provided

Project description

mpcq

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

This is a client library for interacting with an MPC observations database.

Notice

The Asteroid Institute hosts a private mirror of the Minor Planet Center's Small Bodies Node.

To set up your own mirror, please see the SBN guidelines. While support is planned for connecting to an arbitrary database mirror, the current version of this package only supports connecting to a hosted Cloud SQL instance on GCP.

Two indices on the observation table have been added for performance reasons. They are listed below with their sql definitions:

  • obs_sbn_submission_id
CREATE INDEX obs_sbn_submission_id ON public.obs_sbn USING hash (submission_id);
  • obs_sbn_provid
CREATE INDEX obs_sbn_provid ON public.obs_sbn USING hash (provid)

Usage

To connect to the Asteroid Institute's clone of the Small Bodies Node MPC database:

from mpcq.client import MPCObservationsClient

client = MPCObservationsClient.connect_using_gcloud()

With a client initialized, you can get all observations of a particular object using its provisional designation:

observations = client.get_object_observations("2013 RR165")
observations = list(observations)

These can be converted into a dataframe as follows:

from mpcq.utils import observations_to_dataframe

observations_df = observations_to_dataframe(observations)
print(observations_df.head(5))
	mpc_id	status	obscode	filter_band	unpacked_provisional_designation	timestamp	ra	ra_rms	dec	dec_rms	mag	mag_rms	submission_id	created_at	updated_at
0	174511900	Published	F51	w	2013 RR165	2011-01-30 11:15:26	123.884679	None	19.820047	None	22.2	None	2011-04-12T00:57:19.000_00005L9j	2017-07-10 00:00:00.000000	2022-06-15 17:17:33.421485
1	174511901	Published	F51	w	2013 RR165	2011-01-30 11:37:23	123.880767	None	19.820603	None	22.4	None	2011-04-12T00:57:19.000_00005L9j	2017-07-10 00:00:00.000000	2022-06-15 17:17:33.427512
2	174511902	Published	F51	w	2013 RR165	2011-01-30 12:22:35	123.872683	None	19.821694	None	22.3	None	2011-04-12T00:57:19.000_00005L9j	2017-07-10 00:00:00.000000	2022-06-15 17:17:33.431369
3	394474985	Published	W84	g	2013 RR165	2013-09-02 05:49:09	354.49745627	0.097	1.17373181	0.100	21.66	0.07	2022-05-23T23:16:35.633_0000EfpX	2022-05-23 23:18:28.963374	2022-06-15 17:17:33.434170
4	175542203	Published	F51	w	2013 RR165	2013-09-03 10:20:19	354.259229	None	1.099064	None	21.6	None	2013-09-04T00:37:51.000_00005cQy	2017-07-10 00:00:00.000000	2022-06-15 17:17:33.436820

Getting the submission ID and the number of observations per submission of an object:

submissions = client.get_object_submissions("2013 RR165")
submissions = list(submissions)

As before, these can be converted to a dataframe:

from mpcq.utils import submissions_to_dataframe

submissions_df = submissions_to_dataframe(submissions)
print(submissions_df)
	id	num_observations	timestamp
0	2017-07-05T20:57:57.001_00006dS8	3	2017-07-05 20:57:57.001
1	2013-09-04T00:37:51.000_00005cQy	3	2013-09-04 00:37:51.000
2	2017-09-13T19:53:09.000_0000CdSX	2	2017-09-13 19:53:09.000
3	2022-05-23T23:16:35.633_0000EfpX	19	2022-05-23 23:16:35.633
4	2013-09-12T11:43:25.001_00005cpl	4	2013-09-12 11:43:25.001
5	2011-04-12T00:57:19.000_00005L9j	3	2011-04-12 00:57:19.000
6	2016-04-03T19:54:29.000_00006IpM	3	2016-04-03 19:54:29.000
7	2015-01-16T23:14:02.000_00005wg5	3	2015-01-16 23:14:02.000

Project details


Download files

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

Source Distribution

mpcq-0.2.4.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

mpcq-0.2.4-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file mpcq-0.2.4.tar.gz.

File metadata

  • Download URL: mpcq-0.2.4.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for mpcq-0.2.4.tar.gz
Algorithm Hash digest
SHA256 527e7785414c7e972bb47051e950ed577b5745317c1a6baa60bfabccbc7c0d26
MD5 bb7fee8a216fcc565cbf7f11cc6dc112
BLAKE2b-256 0f7883e22091df025d7b393df7e7c2e89cbf7f580a66db1e9053ed20ac2ee2df

See more details on using hashes here.

Provenance

File details

Details for the file mpcq-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: mpcq-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for mpcq-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6a86495876c5106b94cc89c803b60f849b809cd69ae2bfc8b16bf780f39f29dd
MD5 77ec32712e50c83fedd94d43ced8e7f0
BLAKE2b-256 1b97fe4e048230e4fdd29c86906c2411724f216c9bb34191a46920817d5f0f88

See more details on using hashes here.

Provenance

Supported by

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