Python wrapper library for the BigBoat API. This API can create, retrieve, update and delete application definitions, do similar operations for instances and poll for status.
Support for v2 and the deprecated v1 APIs (limited to certain operations) is included. Note that BigBoat development itself has halted.
The BigBoat Python API has been tested to work on Python 3.8+. The API has few
dependencies; see requirements.txt
for the list of installation requirements.
The short list is also repeated here:
Install the latest version from PyPI using:
pip install bigboat
For local development, you can use pip install .
to install the package from
the cloned Git repository.
First, import the library:
import bigboat
Next, determine the URL of your BigBoat instance. In this example we use
http://BIG_BOAT
. Also check whether to use the v1 or v2 version of the API.
v1 is limited (deprecated in newer versions) and v2 requires an API key.
Example:
api = bigboat.Client_v2('http://BIG_BOAT', 'MY_API_KEY')
You can then use various methods on the client API, namely:
api.apps()
: List of Applicationsapi.get_app(name, version)
: Retrieve a specific Applicationapi.update_app(name, version)
: Register an Applicationapi.delete_app(name, version)
: Delete an Applicationapi.instances()
: List of Instancesapi.get_instance()
: Retrieve a specific Instanceapi.update_instance(name, app_name, version, ...)
: Start an Instanceapi.delete_instance(name)
: Stop an Instance
In addition to the common methods, v2 has the following API methods:
api.get_compose(name, version, file_name)
: Retrieve a docker compose or bigboat compose file for an Applicationapi.update_compose(name, version, file_name, content)
: Update a docker compose or bigboat compose file for an Applicationapi.statuses()
: Retrieve a list of status dictionaries
- GitHub Actions is used to run unit tests and report on coverage for commits and pull requests.
- SonarCloud performs quality gate scans and tracks them.
- Coveralls receives coverage reports and tracks them.
- You can perform local lint checks, typing checks, tests and coverage during
development (after setting up a local installation) with
make pylint
,make mypy
,make test
andmake coverage
, respectively, after installing dependencies fromrequirements-analysis.txt
by runningmake setup_analysis
(for thepylint
andmypy
recipes) and fromrequirements-test.txt
withmake setup_test
(necessary for making all the Makefile recipes mentioned here function correctly). - We publish releases to PyPI using
make release
which performs multiple checks: version number consistency, lint, typing and unit tests. - Noteworthy changes to the module are added to the changelog.
The API wrapper library is licensed under the Apache 2.0 License.