tagbase / tagbase-server

tagbase-server is a data management web service for working with eTUFF and nc-eTAG files.
https://oiip.jpl.nasa.gov/doc/OIIP_Deliverable7.4_TagbasePostgreSQLeTUFF_UserGuide.pdf
Apache License 2.0
7 stars 2 forks source link

Create Python SDK for tagbase-server a.k.a pytagbase #300

Closed lewismc closed 10 months ago

lewismc commented 10 months ago

The work on #298 demands that we create a Python SDK for tagbase-server which can then be used rto demonstrate how one would interact with tagbase-server via a Jupyter notebook.

Because we use the OpenAPI specification, we can easily create a client using the OpenAPI Generator project. The command will be something like the following

brew install openapi-generator
git clone https://github.com/tagbase/pytagbase && cd pytagbase
openapi-generator generate -i https://raw.githubusercontent.com/tagbase/tagbase-server/main/openapi.yaml -g python -o . --additional-properties packageName=pytagbase packageUrl=https://github.com/tagbase/pytagbase packageVersion=0.1.0 projectName=pytagbase

The generated client can be stored in the pytagbase repository.

lewismc commented 10 months ago

Whenever tagbase-server is released we should autogenerate the new client and release it using the https://github.com/marketplace/actions/openapi-generator

lewismc commented 10 months ago

Done https://github.com/tagbase/pytagbase. The command to generate the Python toolkit was as follows

openapi-generator generate -i https://raw.githubusercontent.com/tagbase/tagbase-server/main/openapi.yaml -g python -o . --additional-properties packageName=pytagbase --additional-properties packageUrl=https://github.com/tagbase/pytagbase --additional-properties packageVersion=0.1.0 --additional-properties projectName=pytagbase
lewismc commented 10 months ago

The next goal is for us to use a Github action such that we can generate a PR against pytagbase whenever we push a new tag and release for tagbase-server.

There are a few options for us doing that

As you guys can see there are quite a few options. More investigation is needed.