Releases: mwvgroup/pittgoogle-client
Releases · mwvgroup/pittgoogle-client
v0.3.19
[v0.3.19] - 2025-10-07
Changed
pittgoogle/schema.py- update
_clean_for_json()to returnNoneifmath.isinf(value) _name_in_bucketfor the LsstSchema class now returns:
{alert.schema.version}/kafkaPublishTimestamp={_date}/{objectid_key}={alert.objectid}/{sourceid_key}={alert.sourceid}.
avro
- update
tests/test_alert.py- update
test_name_in_bucketto account for the change inpittgoogle/schema.py/_name_in_bucket
- update
v0.3.18
[v0.3.18] - 2025-09-16
Changed
pittgoogle/alert.py- Address a bug in the
getandget_keyfunctions that raises anAttributeErrorwhen a field's value isNone
- Address a bug in the
v0.3.17
[v0.3.17] - 2025-09-01
Added
schemas/lsst/8/0/lsst.v8_0.alert.avsclsst.v8_0.diaForcedSources.avsclsst.v8_0.diaSource.avsclsst.v8_0.diaObject.avsclsst.v8_0.ssSource.avsclsst.v8_0.MPCORB.avsc
schemas/lsst/9/0/lsst.v9_0.alert.avsclsst.v9_0.diaForcedSources.avsclsst.v9_0.diaSource.avsclsst.v9_0.diaObject.avsclsst.v9_0.ssSource.avsclsst.v9_0.MPCORB.avsc
sample_alerts/lsst/lsst.v8_0.avrolsst.v9_0.avro
Changed
schemas/maps/lsst.yml- updated field name:
ssObject->ssSource - the mapping for the field
objectidis now adict[list]type
- updated field name:
pittgoogle/schema.py- added v8_0 and v9_0 to the list of supported schema versions for LSST alerts
- the
_name_in_bucketfunction uses thessObjectIdinstead of thediaObjectIdwhen the value of
diaObjectIdis null (eachdiaSourcewill be associated with either adiaObjectORssObject) _clean_for_jsonconvertsdatetime.datetimeobjects totimestamp
tests/test_alert.py- unit test for
name_in_buckethas been updated to reflect the new pathname
- unit test for
tests/test_schema.py- updated the JSON serialization test in
test_sample_alertsto handle type mismatches
- updated the JSON serialization test in
tests/load_data.py- updated field names to accomodate the latest LSST alert schema version (v9_0)
pittgoogle/alert.py- The
getandget_keyfunctions support fields that arelist[dict]types healpix9,healpix19, andhealpix29explicitly returninttypes
- The
Removed
alertidandssobjectidfrompittgoogle/alert.py,tests/test_alert.py, and all schema maps
v0.3.16
[v0.3.16] - 2025-08-18
Added
- Data listings for LSST
LvkSchemaproperties_from_yamland_name_in_bucket.- "objectid" added to LVK schema map. Both "objectid" and "sourceid" now point to the
LVK field "superevent_id" since there is no distinction between an LVK "object" and "source". - Added a unit test for
LvkSchema._name_in_bucket. Added a "schema_version" field to the test data in
tests/data/sample_alerts/lvk/ to mimic our broker's ps_to_storage module (required for_name_in_bucket).
v0.3.15
[v0.3.15] - 2025-05-12
Changed
Alert:- Updated the separator
"."->"_"used to define attribute key names.
- Updated the separator
v0.3.14
[v0.3.14] - 2025-04-28
Added
Alert:- Added the following fields to
Alert.attributes:n_previous_sourcesandssobjectid.
- Added the following fields to
- Unit tests:
- Tests take into account new
Alert.attributeskeys.
- Tests take into account new
Changed
- Rename
Alertmethod_add_id_attributes()->_add_attributes()to reflect that more properties are added.
Fixed
Topic.publish(): Message attributes were improperly defined
v0.3.13
[v0.3.13] - 2025-04-04
Added
Alert:- Properties:
ra,dec,healpix9,healpix19,healpix29,name_in_bucket. - Add healpix properties to
Alert.attributes.
- Properties:
Schema:- Properties:
_name_in_bucket,serializer, anddeserializer. The last two can be used to
switch between JSON and Avro on the fly. - Methods to support the LSST schema consolidation.
- Schema map for the default schema.
- Properties:
Topic.publish(): new keyword argdrop_cutouts.- Dedicated classes for all schemas, including
DefaultSchema,ElasticcSchema,LsstSchema,
LvkSchema, andZtfSchema. These are subclasses ofpittgoogle.Schema. schema.Serializersclass to hold all serializers and deserializers used by the schemas.- Unit tests:
- Tests for new
Alertproperties. - Tests for
SchemaandSerializers. - Randomly generated data for schema "lsst.v7_4.alert".
- Tests for new
- Schema maps
- LSST support for
ssObjectId
- LSST support for
Changed
Alert:from_*methods now callSchema._init_from_msgso the schema version can be retrieved from the message.Schema.versionis now added to theattributesautomatically.
Schema:- Consolidate LSST schemas into one. Name is "lsst".
- Change default schema name "default_schema" -> "default".
serializeanddeserializemethods moved toschema.Serializers.- JSON serializer now accepts dicts containing bytes values.
Topic.publish()now handles the duties ofAlert._prep_for_publish()(which is removed).- Documentation updated with new instructions for developers to implement support for a new schema.
- Unit tests:
- Move
conftest.SampleAlert->load_data.TestAlert - Split
TestAlert->TestAlertFrom,TestAlertProperties, andTestAlertMethods
- Move
Fixed
- Fix issue #76. Make
Alert.dataframesucceed even when there are no previous sources.
Removed
Alert._prep_for_publish(). Equivalent functionality was added toTopic.publish().SchemaHelpersclass removed. These have been promoted to fullSchemaclasses.Schema._init_from_msg. This functionality was moved to theSchema._from_yamlclass methods.
v0.3.12
Added
- Data listings and references for LSST
- Support for LSST schema versions 7.2, 7.3, and 7.4
- README.md describing where the new LSST alert schemas were obtained.
- Add 'package_path' as a package-level variable.
- Add test data for LSST, LVK, and ZTF.
- Add unit tests for:
registry.Schemasalert.Alertutils.Cast
- Add Alert properties and methods:
skymapdrop_cutouts_prep_for_publish_str_to_datetime
- Add class
alert.MockInputwith support for Cloud Functions - Add dependencies
hpgeomandgoogle-cloud-functions.
Changed
- Update data listings for ZTF and LVK
schema.pynow specifies all schema versions that are available for LSST- Schema mappings for new LSST alert versions incorporated into
schemas.yml - Implement
schema._ConfluentWireAvroSchema.serialize. - Add IDs to
Alert.attributesthe first time it is accessed. - Dependencies: Lazy load astropy.
Removed
- Remove
utils.Cast._strip_cutouts_ztf(moved toAlert)
v0.3.11
[v0.3.11] - 2024-07-22
Added
- Add 'Surveys' documentation section with pages for ZTF and LVK.
- Add LVK to Data Listings page.
Changed
- Reorganize and update data listings.
- Add FAQ content.
- Clean up docs. Remove 'TODO's. Add autosummary to module pages.
- Update Google pricing on FAQ Costs.
Prep v0.3.10 release (#61)
[v0.3.10] - 2024-07-22
Added
- Add
bigquery.Clientclass. - Add class attributes
Table.query,Table.schema. - Add dependency on 'db-dtypes' to support BigQuery -> Pandas.
Changed
- Remove
Table.authand simplifyTable.client. This functionality is now managed by
bigquery.Client. - In
TableandTopic, the project ID is no longer changed away from what the user provided.
It was more confusing and dangerous than it was helpful.
Removed
Table.auth