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.5.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

mpcq-0.2.5-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mpcq-0.2.5.tar.gz
  • Upload date:
  • Size: 11.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.5.tar.gz
Algorithm Hash digest
SHA256 1b5a567f5ea8ae7760d7895a3f155dd1d85e5771e8313cf1fc68819e42264157
MD5 c09788f0fb64c362d2e16aede697c54c
BLAKE2b-256 ca3f78f0bd8bdb71743854561ff1064af03fc70e382dd9978911b67ae15d9147

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mpcq-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 10.0 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 fbdb78d4c0510ef6163320817f81358cb326f721060c2bda65101a1931a77776
MD5 6b4e1ea5223eae0e92b6365a725abcf5
BLAKE2b-256 9ea80138c3e31488142de0f86beb69e81b02728f5b66ed69c60a9a7815c0ed47

See more details on using hashes here.

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