scylla-api-client


Namescylla-api-client JSON
Version 1.1 PyPI version JSON
download
home_pagehttps://github.com/scylladb/scylla-api-client
SummaryCommand line tool for managing Scylla database nodes
upload_time2024-06-16 11:48:11
maintainerNone
docs_urlNone
authorScyllaDB
requires_python>=3.6
licenseGNU AGPL 3.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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
![](https://raw.githubusercontent.com/scylladb/scylla-api-client/master/scylla-cli-design.png)


## 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![](https://raw.githubusercontent.com/scylladb/scylla-api-client/master/scylla-cli-design.png)\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"
}
        
Elapsed time: 0.24652s