# Scylla-API-Client
Scylla API Client is a command line utility implementing a thin client directly utilizing the Scylla REST API
* [Installation](#Installation)
* [Usage](#Usage)
* [Tests](#Tests)
* [Design](#Design)
* [Contributing](#Contributing)
* [Release](#Release)
## Installation
```shell
pip install scylla-api-client
```
## Usage
See `scylla-api-client --help` for all options, below are some sample uses:
* Show all API modules
```
$ scylla-api-client --list-modules
system
compaction_manager
gossiper
endpoint_snitch_info
storage_proxy
column_family
stream_manager
messaging_service
storage_service
cache_service
failure_detector
hinted_handoff
lsa
commitlog
collectd
error_injection
```
* Show all API commands for specific module _system_
```
$ scylla-api-client --list-module-commands system
system/logger:
GET: Get all logger names
POST: Set all logger level
system/drop_sstable_caches:
POST: Drop in-memory caches for data which is in sstables
system/uptime_ms:
GET: Get system uptime, in milliseconds
system/logger/{name}:
GET: Get logger level
POST: Set logger level
```
* Get loglevel for specific logger _httpd_
```
$ scylla-api-client system/logger/{name} GET --name httpd
"info"
```
* Set loglevel _level=debug_ for specific logger _httpd_
```
$ scylla-api-client system/logger/{name} POST --name httpd --level debug
```
## Tests
pytest is used for writing and executing tests, to run tests you can execute:
```
pip install -r dev-requirements.txt
pytest -s -v tests/
```
## Design

## Release
Releases are automatically released via GitHub Actions when a new tag `v**` is pushed to GitHub.
```shell
git tag v1.0 <some-commit-hash>
git push origin v1.0
```
**Note:** pushing a tag to GitHub requires maintainers/admin privileges.
## Contributing
Contributions are welcomed! please create a fork and open a pull request to submit your changes,
Contributing requires installation from source:
1. Clone scylla-api-client repository
2. Install development tools by `pip install -r dev-requirements.txt`
3. Install scylla-api-client from source by `python3 setup.py install --user`
Once installed, scylla-api-client can be used by `python3 -m scylla_api_client`
**Note:** by installing from source, the package will be installed under `$HOME/.local/bin` and depending on your OS
may require adding this folder to you $PATH ex. `export PATH=$PATH:$HOME/.local/bin`.
Raw data
{
"_id": null,
"home_page": "https://github.com/scylladb/scylla-api-client",
"name": "scylla-api-client",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": null,
"author": "ScyllaDB",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/3e/45/09fa4d03b938379eea67273da017acf0ab826f82166cf11f30359921c618/scylla_api_client-1.1.tar.gz",
"platform": null,
"description": "# Scylla-API-Client\nScylla API Client is a command line utility implementing a thin client directly utilizing the Scylla REST API\n\n* [Installation](#Installation)\n* [Usage](#Usage)\n* [Tests](#Tests)\n* [Design](#Design)\n* [Contributing](#Contributing)\n* [Release](#Release)\n\n## Installation\n```shell\npip install scylla-api-client\n```\n\n## Usage\n\nSee `scylla-api-client --help` for all options, below are some sample uses:\n\n* Show all API modules\n ```\n $ scylla-api-client --list-modules\n system\n compaction_manager\n gossiper\n endpoint_snitch_info\n storage_proxy\n column_family\n stream_manager\n messaging_service\n storage_service\n cache_service\n failure_detector\n hinted_handoff\n lsa\n commitlog\n collectd\n error_injection\n ```\n\n* Show all API commands for specific module _system_\n ```\n $ scylla-api-client --list-module-commands system\n system/logger:\n GET: Get all logger names\n POST: Set all logger level\n system/drop_sstable_caches:\n POST: Drop in-memory caches for data which is in sstables\n system/uptime_ms:\n GET: Get system uptime, in milliseconds\n system/logger/{name}:\n GET: Get logger level\n POST: Set logger level\n ```\n\n* Get loglevel for specific logger _httpd_\n ```\n $ scylla-api-client system/logger/{name} GET --name httpd\n \"info\"\n ```\n\n* Set loglevel _level=debug_ for specific logger _httpd_\n ```\n $ scylla-api-client system/logger/{name} POST --name httpd --level debug\n ```\n\n\n## Tests\npytest is used for writing and executing tests, to run tests you can execute:\n```\npip install -r dev-requirements.txt \npytest -s -v tests/\n```\n\n\n## Design\n\n\n\n## Release\nReleases are automatically released via GitHub Actions when a new tag `v**` is pushed to GitHub. \n\n```shell\ngit tag v1.0 <some-commit-hash>\ngit push origin v1.0\n```\n\n**Note:** pushing a tag to GitHub requires maintainers/admin privileges.\n\n## Contributing\nContributions are welcomed! please create a fork and open a pull request to submit your changes,\n\nContributing requires installation from source:\n1. Clone scylla-api-client repository\n2. Install development tools by `pip install -r dev-requirements.txt`\n3. Install scylla-api-client from source by `python3 setup.py install --user`\n\nOnce installed, scylla-api-client can be used by `python3 -m scylla_api_client`\n\n**Note:** by installing from source, the package will be installed under `$HOME/.local/bin` and depending on your OS \nmay require adding this folder to you $PATH ex. `export PATH=$PATH:$HOME/.local/bin`.\n",
"bugtrack_url": null,
"license": "GNU AGPL 3.0",
"summary": "Command line tool for managing Scylla database nodes",
"version": "1.1",
"project_urls": {
"Bug Reports": "https://github.com/scylladb/scylla-api-client/issues",
"Homepage": "https://github.com/scylladb/scylla-api-client"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3f4b7fcf47856e334755c6a4efaea9fad041c01eb22f899b809feb1228677cec",
"md5": "9a5b5330cb4f0f157f0da7255dcf115b",
"sha256": "eb342c58cb44271a49dd6416f19d146060f273610e5aa961d6370970c0e8871e"
},
"downloads": -1,
"filename": "scylla_api_client-1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9a5b5330cb4f0f157f0da7255dcf115b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 24202,
"upload_time": "2024-06-16T11:48:10",
"upload_time_iso_8601": "2024-06-16T11:48:10.102396Z",
"url": "https://files.pythonhosted.org/packages/3f/4b/7fcf47856e334755c6a4efaea9fad041c01eb22f899b809feb1228677cec/scylla_api_client-1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3e4509fa4d03b938379eea67273da017acf0ab826f82166cf11f30359921c618",
"md5": "655ebe9d7b4a8afdeaa5169a4c813219",
"sha256": "f3c51f6dab9fba8f69c8b4b752da05950c6e855ce6f264732051168f38c6c1fe"
},
"downloads": -1,
"filename": "scylla_api_client-1.1.tar.gz",
"has_sig": false,
"md5_digest": "655ebe9d7b4a8afdeaa5169a4c813219",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 116772,
"upload_time": "2024-06-16T11:48:11",
"upload_time_iso_8601": "2024-06-16T11:48:11.578328Z",
"url": "https://files.pythonhosted.org/packages/3e/45/09fa4d03b938379eea67273da017acf0ab826f82166cf11f30359921c618/scylla_api_client-1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-16 11:48:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "scylladb",
"github_project": "scylla-api-client",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "scylla-api-client"
}