# BigBoat docker dashboard Python API
[![PyPI](https://img.shields.io/pypi/v/bigboat.svg)](https://pypi.python.org/pypi/bigboat)
[![Build
status](https://github.com/grip-on-software/bigboat-python-api/actions/workflows/bigboat-python-api.yml/badge.svg)](https://github.com/grip-on-software/bigboat-python-api/actions/workflows/bigboat-python-api.yml)
[![Coverage
Status](https://coveralls.io/repos/github/grip-on-software/bigboat-python-api/badge.svg?branch=master)](https://coveralls.io/github/grip-on-software/bigboat-python-api?branch=master)
[![Quality Gate
Status](https://sonarcloud.io/api/project_badges/measure?project=grip-on-software_bigboat-python-api&metric=alert_status)](https://sonarcloud.io/project/overview?id=grip-on-software_bigboat-python-api)
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.
## Requirements
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:
- [Requests](http://docs.python-requests.org/en/master/user/install/)
- [PyYAML](http://pyyaml.org/wiki/PyYAMLDocumentation)
## Installation
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.
## Functionality
First, import the library:
```python
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:
```python
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 Applications
- `api.get_app(name, version)`: Retrieve a specific Application
- `api.update_app(name, version)`: Register an Application
- `api.delete_app(name, version)`: Delete an Application
- `api.instances()`: List of Instances
- `api.get_instance()`: Retrieve a specific Instance
- `api.update_instance(name, app_name, version, ...)`: Start an Instance
- `api.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 Application
- `api.update_compose(name, version, file_name, content)`: Update a docker
compose or bigboat compose file for an Application
- `api.statuses()`: Retrieve a list of status dictionaries
## Development
- [GitHub
Actions](https://github.com/grip-on-software/bigboat-python-api/actions) is
used to run unit tests and report on coverage for commits and pull requests.
- [SonarCloud](https://sonarcloud.io/project/overview?id=grip-on-software_bigboat-python-api)
performs quality gate scans and tracks them.
- [Coveralls](https://coveralls.io/github/grip-on-software/bigboat-python-api)
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](#installation)) with
`make pylint`, `make mypy`, `make test` and `make coverage`, respectively,
after installing dependencies from `requirements-analysis.txt` by running
`make setup_analysis` (for the `pylint` and `mypy` recipes) and from
`requirements-test.txt` with `make setup_test` (necessary for making all the
Makefile recipes mentioned here function correctly).
- We publish releases to [PyPI](https://pypi.python.org/pypi/bigboat) 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](CHANGELOG.md).
## License
The API wrapper library is licensed under the Apache 2.0 License.
## References
- [Docker Dashboard](https://github.com/ICTU/docker-dashboard)
Raw data
{
"_id": null,
"home_page": null,
"name": "bigboat",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "docker dashboard, bigboat, api",
"author": null,
"author_email": "Leon Helwerda <l.s.helwerda@liacs.leidenuniv.nl>",
"download_url": "https://files.pythonhosted.org/packages/7e/74/b1dd4b5420944566b41308b9f72a074634f6dd85acedff446315b6f27fd9/bigboat-1.0.1.tar.gz",
"platform": null,
"description": "# BigBoat docker dashboard Python API\n\n[![PyPI](https://img.shields.io/pypi/v/bigboat.svg)](https://pypi.python.org/pypi/bigboat)\n[![Build \nstatus](https://github.com/grip-on-software/bigboat-python-api/actions/workflows/bigboat-python-api.yml/badge.svg)](https://github.com/grip-on-software/bigboat-python-api/actions/workflows/bigboat-python-api.yml)\n[![Coverage \nStatus](https://coveralls.io/repos/github/grip-on-software/bigboat-python-api/badge.svg?branch=master)](https://coveralls.io/github/grip-on-software/bigboat-python-api?branch=master)\n[![Quality Gate \nStatus](https://sonarcloud.io/api/project_badges/measure?project=grip-on-software_bigboat-python-api&metric=alert_status)](https://sonarcloud.io/project/overview?id=grip-on-software_bigboat-python-api)\n\nPython wrapper library for the BigBoat API. This API can create, retrieve, \nupdate and delete application definitions, do similar operations for instances \nand poll for status.\n\nSupport for v2 and the deprecated v1 APIs (limited to certain operations) is \nincluded. Note that BigBoat development itself has halted.\n\n## Requirements\n\nThe BigBoat Python API has been tested to work on Python 3.8+. The API has few \ndependencies; see `requirements.txt` for the list of installation requirements. \nThe short list is also repeated here:\n\n- [Requests](http://docs.python-requests.org/en/master/user/install/)\n- [PyYAML](http://pyyaml.org/wiki/PyYAMLDocumentation)\n\n## Installation\n\nInstall the latest version from PyPI using:\n\n```\npip install bigboat\n```\n\nFor local development, you can use `pip install .` to install the package from \nthe cloned Git repository.\n\n## Functionality\n\nFirst, import the library:\n\n```python\nimport bigboat\n```\n\nNext, determine the URL of your BigBoat instance. In this example we use \n`http://BIG_BOAT`. Also check whether to use the v1 or v2 version of the API. \nv1 is limited (deprecated in newer versions) and v2 requires an API key. \nExample:\n\n```python\napi = bigboat.Client_v2('http://BIG_BOAT', 'MY_API_KEY')\n```\n\nYou can then use various methods on the client API, namely:\n- `api.apps()`: List of Applications\n- `api.get_app(name, version)`: Retrieve a specific Application\n- `api.update_app(name, version)`: Register an Application\n- `api.delete_app(name, version)`: Delete an Application\n- `api.instances()`: List of Instances\n- `api.get_instance()`: Retrieve a specific Instance\n- `api.update_instance(name, app_name, version, ...)`: Start an Instance\n- `api.delete_instance(name)`: Stop an Instance\n\nIn addition to the common methods, v2 has the following API methods:\n- `api.get_compose(name, version, file_name)`: Retrieve a docker compose or \n bigboat compose file for an Application\n- `api.update_compose(name, version, file_name, content)`: Update a docker \n compose or bigboat compose file for an Application\n- `api.statuses()`: Retrieve a list of status dictionaries\n\n## Development\n\n- [GitHub \n Actions](https://github.com/grip-on-software/bigboat-python-api/actions) is \n used to run unit tests and report on coverage for commits and pull requests.\n- [SonarCloud](https://sonarcloud.io/project/overview?id=grip-on-software_bigboat-python-api) \n performs quality gate scans and tracks them.\n- [Coveralls](https://coveralls.io/github/grip-on-software/bigboat-python-api) \n receives coverage reports and tracks them.\n- You can perform local lint checks, typing checks, tests and coverage during \n development (after setting up a local [installation](#installation)) with \n `make pylint`, `make mypy`, `make test` and `make coverage`, respectively, \n after installing dependencies from `requirements-analysis.txt` by running \n `make setup_analysis` (for the `pylint` and `mypy` recipes) and from\n `requirements-test.txt` with `make setup_test` (necessary for making all the \n Makefile recipes mentioned here function correctly).\n- We publish releases to [PyPI](https://pypi.python.org/pypi/bigboat) using \n `make release` which performs multiple checks: version number consistency, \n lint, typing and unit tests.\n- Noteworthy changes to the module are added to the [changelog](CHANGELOG.md).\n\n## License\n\nThe API wrapper library is licensed under the Apache 2.0 License.\n\n## References\n\n- [Docker Dashboard](https://github.com/ICTU/docker-dashboard)\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "BigBoat docker dashboard API",
"version": "1.0.1",
"project_urls": {
"CI: Coveralls": "https://coveralls.io/github/grip-on-software/bigboat-python-api?branch=master",
"CI: GitHub Actions": "https://github.com/grip-on-software/bigboat-python-api/actions",
"CI: SonarCloud": "https://sonarcloud.io/project/overview?id=grip-on-software_bigboat-python-api",
"Homepage": "https://gros.liacs.nl",
"Issues": "https://github.com/grip-on-software/bigboat-python-api/issues",
"Pull Requests": "https://github.com/grip-on-software/bigboat-python-api/pulls",
"PyPI": "https://pypi.python.org/pypi/bigboat",
"Source Code": "https://github.com/grip-on-software/bigboat-python-api"
},
"split_keywords": [
"docker dashboard",
" bigboat",
" api"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b955cbad85091b89dfcfc22c24d3144ed7133e0d7989ebdce03adce68c4792cd",
"md5": "e81d51225831b3f02135c6f9135d8f15",
"sha256": "dfed5b9d64612c2dae363e1fadc9ff845e688779936df6f91fc406c59b119e26"
},
"downloads": -1,
"filename": "bigboat-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e81d51225831b3f02135c6f9135d8f15",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 15721,
"upload_time": "2024-06-26T09:40:58",
"upload_time_iso_8601": "2024-06-26T09:40:58.021303Z",
"url": "https://files.pythonhosted.org/packages/b9/55/cbad85091b89dfcfc22c24d3144ed7133e0d7989ebdce03adce68c4792cd/bigboat-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7e74b1dd4b5420944566b41308b9f72a074634f6dd85acedff446315b6f27fd9",
"md5": "17f0f4bc0fd89eddeada4d5431fa2bd5",
"sha256": "7428825589f5bddfd50ec12e3038aeca94bd6b9935846d68a865533babf60436"
},
"downloads": -1,
"filename": "bigboat-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "17f0f4bc0fd89eddeada4d5431fa2bd5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 13954,
"upload_time": "2024-06-26T09:40:59",
"upload_time_iso_8601": "2024-06-26T09:40:59.816034Z",
"url": "https://files.pythonhosted.org/packages/7e/74/b1dd4b5420944566b41308b9f72a074634f6dd85acedff446315b6f27fd9/bigboat-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-26 09:40:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "grip-on-software",
"github_project": "bigboat-python-api",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [],
"lcname": "bigboat"
}