https://github.com/scylladb/scylla-api-client
Scylla CLI Python module and command line utility
https://github.com/scylladb/scylla-api-client
Last synced: 2 months ago
JSON representation
Scylla CLI Python module and command line utility
- Host: GitHub
- URL: https://github.com/scylladb/scylla-api-client
- Owner: scylladb
- License: agpl-3.0
- Created: 2021-10-21T10:09:05.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-02-11T07:52:14.000Z (4 months ago)
- Last Synced: 2025-04-09T18:16:44.303Z (2 months ago)
- Language: Python
- Size: 169 KB
- Stars: 4
- Watchers: 8
- Forks: 9
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.AGPL
Awesome Lists containing this project
README
# 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
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`.