-
Couldn't load subscription status.
- Fork 126
Description
Accessing the StacIO instance associated with a Catalog is currently only possible using the _stac_io attribute. Using the underscore convention indicates that this property is for internal library use only and not something that should be manipulated by downstream libraries. However, there are a few places in pystac-client where it is necessary to manipulate this attribute, and in stac-utils/pystac-client#126(comment) this came up as possible being a bad pattern/code smell.
In #590 we considered adding a "public" Catalog.stac_io attribute that could be used by downstream libraries to manipulate the _stac_io attribute of a Catalog, but ultimately decided it was not necessary as part of that PR. I would like to revisit that decision given that we now have some additional use-cases for manipulating the attribute outside of PySTAC.
The purpose of this issue is to discuss whether we should add a "public" Catalog.stac_io property that allows users to manipulate with the underlying Catalog._stac_io attribute. Given that downstream libraries are using the "private" Catalog._stac_io attribute we should probably retain that attribute until the next major release.