Open vincentsarago opened 2 months ago
I would like to know what the arguments are for not just putting all 3 libraries into one release? The next release could just be stac-fastapi==3.0.0
.
Like @vincentsarago said, these submodules are dependent on each other. Types
is already a dependency of Api
. Adding Extensions
to Api
wouldn't add any new dependencies, just a tiny bit of code. Types
and Api
are both dependencies of Extensions
. Adding Api
and Extensions
to Types
only adds one library I think - brotli_asgi
I don't think there's ever a use case for running different versions of these libraries like stac-fastapi.types==2.4.9
with stac-fastapi.api==2.5.0
? Maybe there is? I think we may start pinning these versions so they stay synced anyways.
I would like to know what the arguments are for not just putting all 3 libraries into one release
The 3 sub-module should/will always be released together.
I don't think there's ever a use case for running different versions of these libraries like stac-fastapi.types==2.4.9 with stac-fastapi.api==2.5.0? Maybe there is?
I don't think there is, but pinning the version in the sub-module insure they use the correct versions
I'm wondering why we don't just push one release to PyPI instead of 3 I guess.
ah you mean why we have submodules, that's a good question!
I don't really know why, this comes from the time when we had the backends here. I think it's fine to keep them separate for now, but maybe something we can change for v4
The three stac-fastapi sub-modules are linked together, mostly because of the
mono-repo
but also because they depends on each otherapi
depends ontypes
(and not officially on extensions, 😬 circular dependency)extensions
depends onapi
andtypes
Right now we don't set any version limits of packages and technically this could mean that users could have different version of each packages... and this will not work (it could, but there is a hight chance of breaking changes between the packages).
in https://github.com/stac-utils/stac-fastapi/pull/625#discussion_r1550413449 I've proposed that we pin the sub-module to specific version but we reverted to acquire more opinions (https://github.com/stac-utils/stac-fastapi/pull/625#discussion_r1579318700)
FYI: we do this in
titiler
https://github.com/developmentseed/titiler/blob/main/src/titiler/mosaic/pyproject.toml#L34 and we usebump2version
to update all the version when we do a release https://github.com/developmentseed/titiler/blob/main/.bumpversion.cfg (which we will introduce in #648)