Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for alternate data formats #276

Conversation

robertbartel
Copy link
Contributor

Adding support for data formats to have satisfactory alternate formats. This enables, e.g., a requirement for a forcing dataset to be fulfilled by a dataset with a format that doesn't strictly match that specified by the requirement.

The branch for this commit is based on the branch in #240, making that a blocker for this. It should not be reviewed until #240 is complete.

Fixing logic where pip installs the updated packages (to avoid the
entire image rebuild), so make sure deps are ignored (as this was the
slow part).
Adding type GET_SERIALIZED_FORM to get the entire serialized state of
a dataset.
Refactor to ensure it takes advantage of connection handling via its
async context manager logic.
Add new function to get serialized dataset details to
DatasetExternalClient.
Fix issue with not acquiring a session, and wrapping some things in try
block to catch and log exceptions.
Fixing bug in response to LIST_FILES query, where reason text was not
being assembled entirely correctly.
Adding optional offset and length params to abstract interface
definition of get_data, and adding get_file_stat abstract method.
Adding support for querying about dataset items.
Updating to support indicating start and size of data for partial
transfers.
Optimizing the reloading of datasets on object store manager startup.
Accounting for changes to get_data parameters and implementing
get_file_stat.
Updating service to respond to GET_DATASET_ITEMS queries and requests
for data with an offset start (i.e. partials).
Adding initial second view display and manage existing datasets, along
with navigation functionality to toggle between "manage" and "create"
views.
Sending serialized datasets to HTML template as list/array rather than
dict/map.
Implementing layout and initial details-viewing behavior for dataset
management GUI view.
aaraney and others added 22 commits January 18, 2023 12:14
this also includes some commented out code that *might* need to be added in the future to support data_requirement dissemination
Fixing bug in deserialization function where processed (i.e., by this
type) optional kwargs were being combined into list of additional (i.e.,
potentially by subtypes) additional kwargs to be passed to __init__,
with both lists being passed instead of just the combined.
Fixing setup for TestSimpleHydrofabricSubset that used the
MappedGraphHydrofabric class after it was made abstract, replacing its
use with its GeoJsonHydrofabric subtype.
Fixing argument handling for those args related to communicating with
evaluation service, including the dest name for args, defaults, and use
when creating main service handler class.
Fixing imports, class usage, and code style spacing for several things
related to evaluation requests within main request-service handler
class.
Adding DataFormat.can_format_fulfill class method to test if alternative
data format is compatible, and updating logic of DataDomain.contains
method to test and account for this type of compatibility.
Updating dmod.dataservice to depend on updated dmod.core (>=0.5.0).
Updating service manager find_dataset_for_requirement method to account
for potentially compatible alternative dataset formats and examine any
datasets having such formats if there are no matches with exactly the
specified format.
@robertbartel
Copy link
Contributor Author

Closing; replaced by #299, which isolates the relevant changes.

@robertbartel robertbartel added the wontfix This will not be worked on label Mar 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maas MaaS Workstream wontfix This will not be worked on
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants