<p align="center">
<a href="https://pypi.python.org/pypi/swmclient" alt="Latest package version">
<img src="https://img.shields.io/pypi/v/swmclient.svg" /></a>
<a href="https://pypi.python.org/pypi/swmclient" alt="Python version">
<img src="https://img.shields.io/pypi/pyversions/swmclient.svg" /></a>
<a href="https://pypi.python.org/pypi/swmclient" alt="Package status">
<img src="https://img.shields.io/pypi/status/swmclient.svg" /></a>
<a href="https://github.com/openworkload/swm-python-client/blob/master/LICENSE" alt="License">
<img src="https://img.shields.io/pypi/l/swmclient.svg" /></a>
</p>
Python bindings for swm-core user REST API
============================================
# Description
Sky Port is an universal bus between user software and compute resources.
It can also be considered as a transportation layer between workload producers
and compute resource providers. Sky Port makes it easy to connect user software
to different cloud resources.
The current python package represents a wrapper around client REST API of the core
component of Sky Port -- [core daemon](https://github.com/openworkload/swm-core).
The package provides classes and data structures that can be used in python programs
in order to communicate with swm-core. Such communication is useful when Sky Port
terminals are built (see [JupyterLab terminal](https://github.com/openworkload/swm-jupyter-term)
as an example).
# Build
## Requirements:
1) Use swm-core dev container or install manually:
```bash
sudo apt-get install python3-all-dev
sudo apt install python3-pip
pip3 install pip-tools setuptools virtualenv
```
Note: python >= 3.9 is required.
2) Install the project dependencies with virtualenv
```bash
make prepare-venv
```
## Run code autoformatting and validation tools:
```bash
make format
make check
```
## Run unit tests:
```bash
make test
```
## Build pip package and upload to pypi.org:
```bash
. .venv/bin/activate
make clean
make package
make upload
```
# Setup
The latest stable version of the package is uploaded to [PyPi](https://pypi.org/project/swmclient).
## Installation from PyPi:
```bash
python3 -m pip install --user swmclient
```
## Remove installed package:
```bash
python3 -m pip uninstall swmclient
```
# Contributing
We appreciate all contributions. If you are planning to contribute back bug-fixes, please do so
without any further discussion. If you plan to contribute new features, utility functions or extensions,
please first open an issue and discuss the feature with us.
# License
We use a shared copyright model that enables all contributors to maintain the copyright on their contributions.
This software is licensed under the BSD-3-Clause license.
Raw data
{
"_id": null,
"home_page": "https://github.com/openworkload/swm-python-client",
"name": "swmclient",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9, <4",
"maintainer_email": "",
"keywords": "HPC,High Performance Computing,Cloud Computing,Open Workload,Sky Port",
"author": "Taras Shapovalov",
"author_email": "taras@iclouds.net",
"download_url": "",
"platform": "Linux",
"description": "<p align=\"center\">\n <a href=\"https://pypi.python.org/pypi/swmclient\" alt=\"Latest package version\">\n <img src=\"https://img.shields.io/pypi/v/swmclient.svg\" /></a>\n <a href=\"https://pypi.python.org/pypi/swmclient\" alt=\"Python version\">\n <img src=\"https://img.shields.io/pypi/pyversions/swmclient.svg\" /></a>\n <a href=\"https://pypi.python.org/pypi/swmclient\" alt=\"Package status\">\n <img src=\"https://img.shields.io/pypi/status/swmclient.svg\" /></a>\n <a href=\"https://github.com/openworkload/swm-python-client/blob/master/LICENSE\" alt=\"License\">\n <img src=\"https://img.shields.io/pypi/l/swmclient.svg\" /></a>\n</p>\n\n\nPython bindings for swm-core user REST API\n============================================\n\n# Description\n\nSky Port is an universal bus between user software and compute resources.\nIt can also be considered as a transportation layer between workload producers\nand compute resource providers. Sky Port makes it easy to connect user software\nto different cloud resources.\n\nThe current python package represents a wrapper around client REST API of the core\ncomponent of Sky Port -- [core daemon](https://github.com/openworkload/swm-core).\nThe package provides classes and data structures that can be used in python programs \nin order to communicate with swm-core. Such communication is useful when Sky Port\nterminals are built (see [JupyterLab terminal](https://github.com/openworkload/swm-jupyter-term)\nas an example).\n\n# Build\n\n## Requirements:\n\n1) Use swm-core dev container or install manually:\n```bash\nsudo apt-get install python3-all-dev\nsudo apt install python3-pip\n\npip3 install pip-tools setuptools virtualenv\n```\n\nNote: python >= 3.9 is required.\n\n2) Install the project dependencies with virtualenv\n```bash\nmake prepare-venv\n```\n\n## Run code autoformatting and validation tools:\n```bash\nmake format\nmake check\n```\n\n## Run unit tests:\n```bash\nmake test\n```\n\n## Build pip package and upload to pypi.org:\n\n```bash\n. .venv/bin/activate\nmake clean\nmake package\nmake upload\n```\n\n\n# Setup\n\nThe latest stable version of the package is uploaded to [PyPi](https://pypi.org/project/swmclient).\n\n## Installation from PyPi:\n```bash\npython3 -m pip install --user swmclient\n```\n\n## Remove installed package:\n```bash\npython3 -m pip uninstall swmclient\n```\n\n\n# Contributing\n\nWe appreciate all contributions. If you are planning to contribute back bug-fixes, please do so\nwithout any further discussion. If you plan to contribute new features, utility functions or extensions,\nplease first open an issue and discuss the feature with us.\n\n# License\n\nWe use a shared copyright model that enables all contributors to maintain the copyright on their contributions.\n\nThis software is licensed under the BSD-3-Clause license.\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "Python bindings for swm-core user REST API",
"version": "0.1.4",
"project_urls": {
"Bug Reports": "https://github.com/openworkload/swm-python-client/issues",
"Homepage": "https://github.com/openworkload/swm-python-client",
"Source": "https://github.com/openworkload/swm-python-client"
},
"split_keywords": [
"hpc",
"high performance computing",
"cloud computing",
"open workload",
"sky port"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c769460e5b8cb538fec7e1cd570f28d4e6212f5bdf44c06aae6c6cd239f30bc9",
"md5": "9dada3726d9d50aca1890f7b379895b3",
"sha256": "bb00a6188f0cc079ee8813e55f8944e993e76173cff92ee8123fe13620218e7d"
},
"downloads": -1,
"filename": "swmclient-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9dada3726d9d50aca1890f7b379895b3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9, <4",
"size": 38523,
"upload_time": "2023-09-28T14:34:24",
"upload_time_iso_8601": "2023-09-28T14:34:24.633845Z",
"url": "https://files.pythonhosted.org/packages/c7/69/460e5b8cb538fec7e1cd570f28d4e6212f5bdf44c06aae6c6cd239f30bc9/swmclient-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-28 14:34:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "openworkload",
"github_project": "swm-python-client",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "swmclient"
}