-
Notifications
You must be signed in to change notification settings - Fork 120
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
[RFC] Revert deprecation of Label extension #1313
Comments
What was the reason for deprecating it in pystac anyway? The extension itself doesn't seem to be deprecated. |
Explanation here, I believe we decided on it during the STAC sprint in 2023: #1249. |
As mentioned in the original description, the only indication in #1249 is that it "has significant issues with its current implementation", and this in itself doesn't really tell us what are the problems. Also, looking at https://stac-extensions.github.io/, there are many more extensions that are in "pilot", and they are still in |
Yeah, I think that came out of a in-person conversation with @m-mohr (sorry for throwing you under the bus Matthias) ... I'm not against re-adding the label extension to pystac, but I'd be more excited about re-adding if any existing issues/problems with the extension itself were to be resolved, to reduce the amount of future changes we'd need to make to the pystac implementation. That all being said, I'd be fine reviewing a PR to re-add label to pystac and approving/merging if it looks good. |
Indeed, there are some long-standing flaws with the label extension specification that should be solved. But as war as I understood @fmigneault and @rbavery, they are working on improving the whole ML STAC ecosystem, so I assume that would be part of their work.
I believe I was in a different sub-group (core spec, not Python ecosystem). :-P @gadomski |
Correct, we are working on it! So far I've been primarily focused on the ML Model extension, and Francis has been supporting this and improving ML AOI. We've discussed tackling a review of the STAC Label extension next and providing updated examples. Others in the #ml-stac slack channel have expressed interest in contributing, providing feedback, and building with the extensions. In particular I think @earthpulse is using it in an image annotation tool and is looking to continue using it and the ML Model extension. I'd be happy to be a co-owner with Francis for the STAC Label extension stac-extensions/label#16. |
Correct! At @earthpulse we have worked on a labeling tool that is entirely based on this extension, so it is core for us and we are very interested in helping to keep the extension updated and functional. The tool, in case it is of interest to anyone: https://pypi.org/project/scaneo/ |
Replying to #1249 (comment) here so not to resurrect an already-closed issue.
The extension itself (https://github.com/stac-extensions/label) is not deprecated, and can still be used via Python w/ direct dictionary access, e.g.: item.stac_extensions.append("https://stac-extensions.github.io/label/v1.0.1/schema.json")
item.properties["label:properties"] = ["foo", "bar"]
... The pystac implementation of the label extension was deprecated during the extension update efforts at the latest STAC sprint (#1228). During that sprint, it was determined:
For all these reasons, the extension was deprecated, but the extension is still present in pystac and can be used. There's still quite a few issues in the pystac v2.0 milestone (https://github.com/stac-utils/pystac/milestone/28) and at present there's no one actively working significant feature improvements on pystac that I know of, all to say that removal is probably far off in the future. As for a path forward to un-deprecating label, my recommended course of action would be to:
|
From what I can see in issues linked in #1313 (comment), the only ambiguity is the wording of the GeoJSON requirement in Assets that does not make sense when The biggest overlap (by name only really) between the extensions is Another clear distinction is that The Personally, I do not think that having distinct extensions for Sharing some screenshots from a partner's notebook that uses |
Thanks for outlining all the fixes for the extension issues I mentioned. If you can put that information over on the label extension itself (https://github.com/stac-extensions/label), that will help us clean up the actual extension — this issue is just for the Python implementation of that extension. I'm happy to help move along those issues over on the label extension repo, but as I'm not actively using the extension for my own work I don't think I would be an appropriate owner.
Sounds good — yeah, once the label extension's issues and ownership is cleared up, then it shouldn't be a problem to un-deprecate. There's still the matter of bringing the extension up to the latest best-practices mentioned in #1228, which shouldn't be a large lift but would need someone to step up and do that. |
Revert: #1270
Relates to: #1249
There is currently a lot of activity regarding ML/AI Extensions in STAC.
Provided that
label
is a core foundation of annotations (when combined withclassification
,raster
andml-aoi
) to form datasets employed by ML, I strongly believe that deprecating it (literally 1 month before recent work), was a mistake.I would like to propose reverting the deprecation, such that the STAC Community can have a common reference to define labels, rather than custom extensions without guidance. It is not quite clear to me which are the "significant issues with its current implementation" mentioned in #1249, but I would prefer working on resolving them than abandoning
label
that seems to work really well. Conceptually, the STAC Items obtained make a lot of sense to me:The text was updated successfully, but these errors were encountered: