Skip to content
This repository was archived by the owner on Apr 2, 2025. It is now read-only.
This repository was archived by the owner on Apr 2, 2025. It is now read-only.

Proposal: separate stapi-fastapi and implementations into individual packages #72

@jkeifer

Description

@jkeifer

I was trying to manually test with the TLE backend but couldn't get passed the error Value error, not a valid backend [type=value_error, input_value='stapi_fastapi_tle_backend:StapiMockBackend', input_type=str]. It is unclear to me how anything from the stapi_fastapi_tle_backend package would be available given that it is not installable, i.e., it lacks a pyproject.toml.

In a similar vein, I don't understand how the Landsat backend does work. It seems not installable, but for whatever reason it does seem to be importable in stapi_fastapi.__dev__.

I'd propose restructuring this repo to embrace it as a monorepo of three different packages: stapi-fastapi, stapi-fastapi-landsat, stapi-fastapi-tle-backend. Each of these would be isolated into subdirectories with their own pyproject.toml, allowing each of them to be installed together or independently.

The stapi-fastapi-test-backend appears to be a test-specific implementation for stapi-fastapi testing, and as such I would move its implementation into the tests package for stapi-fastapi.

In the future (hopefully near) when we are ready to release this project to pypi, just the stapi-fastapi package would be built and released. The others would remain accessible via this repo for users that want to use them as examples or for testing.

Maybe if I could figure out how the Landsat backed does work and could get the TLE backend functional then my ideas would be less relevant, but I still think the proposed organization would be cleaner and more straightforward.

I'd be happy to put together a PR for this reorganization if there's appetite for such a change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions