Skip to content

v0.7.2 release #165

Closed
Closed
@emiliom

Description

@emiliom

Preparing a new minor release. See https://github.com/ODM2/ODM2PythonAPI/milestone/3 for the aspirational targets, at this time. The last release happened a year ago.

The changes that I do intend to include, for sure, are two bug fixes:

Everything else is up for "debate". But since I'm the one volunteering to do the work, the debate is really about what's desirable/ok, not about whether it actually gets done in this release! I won't include anything we don't come to agreement on (other than the 2 bug fixes), but I make no promises to include anything we agree on 😼

FYI, my initiative to issue a release is not driven by a specific need right now. Just a desire to push out those bug fixes, plus odm2api momentum I'm carrying over from the last two weeks at https://waterhackweek.github.io/ and a CZIMEA workshop where we talked a fair bit about ODM2, with participation from Tony Castronova and Miguel.

I'm pasting comments on goals for this release, from #164:

From @horsburgh:

I think we should be very careful about adding additional requirements and complexity. My feeling is that we never finished the core functionality and so adding additional functionality and dependencies should perhaps be secondary to firming up the foundation.

Utility functions would be nice. Is there ongoing work that's driving this?

From @aufdenkampe:

I agree with the points about managing complexity and need to better develop core functionality.

I also believe that -- given that Pandas has become a core part of the standard Python computational science and data science stack -- that we should consider strong integration with Pandas and GeoPandas as core functionality. This is especially true given that one of the highest priorities we've heard from users and potential users is to improve I/O performance (including data alignment and slicing), and that is one of the main purposes/advantages of using Pandas.

An alternative I've considered is creating a tiny, external, temporary utilities package (on a separate github repo that can be pip installed) as proof of concept, with the functionality I listed in #164. But "Import into a pandas DataFrame the output of an odm2api read function" is so easy, non-disruptive and desirable to users that I think it'd be helpful to include it in odm2api. FYI, here's what it amounts to, mostly (plus extra polish I plan to add), using getVariables output as an example:

variables_df = pd.DataFrame.from_records(
      [vars(rec) for rec in odm2read.getVariables()], index='VariableID'
)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions