Name | rgprc JSON |
Version |
2023.11.12
JSON |
| download |
home_page | |
Summary | A simple to use Python gRPC Reflection Client |
upload_time | 2023-11-14 04:43:29 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.8 |
license | Apache 2.0 |
keywords |
client
grpc
reflection
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# rgprc
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
A simple to use, reflection only - grpc client.
## Features
- Make GRPC calls against reflection enabled servers
## How to install
``` shell
pip install rgrpc
```
## How to use
``` python
try:
rgrpc_client = Client('localhost:50051')
response = rgprc_client.request('myserver.myservice', 'mymethod', {'field1':'value1'})
except Exception as e:
logger.error(f"Failed to initialize rgrpc client: {e}")
```
## Developer Setup
### Environment Setup
1. `python3 -m venv /where/you/like/to/store/venvs`
2. `source /venv/bin/activate`
3. `pip install -r dev-requirements.txt`
4. `pre-commit install`
### Running tests
Running `tests.sh` will execute the following actions:
- `ruff check ./rgrpc` - will run the [ruff](https://docs.astral.sh/ruff/linter/) linter over core source files
- `ruff format ./rgrpc` - will run the [ruff](https://docs.astral.sh/ruff/formatter/) formatter over core source files
- `mypy rgprc/*.py` - will run [mypy](https://mypy.readthedocs.io/en/stable/getting_started.html) over core source files.
- `pytest --cov=rgrpc tests/` - will run tests and generate a short coverage report
## Maintainers
- [ViridianForge](viridianforge.tech)
Raw data
{
"_id": null,
"home_page": "",
"name": "rgprc",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "client,grpc,reflection",
"author": "",
"author_email": "Wayne Manselle <wayne@viridianforge.tech>",
"download_url": "https://files.pythonhosted.org/packages/06/47/4999f24b79f4c94c0c7ce2adc0054907cf0d22d585bcf6134c9f4537b0fb/rgprc-2023.11.12.tar.gz",
"platform": null,
"description": "# rgprc\n\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\nA simple to use, reflection only - grpc client.\n\n## Features\n\n- Make GRPC calls against reflection enabled servers\n\n## How to install\n\n``` shell\npip install rgrpc\n```\n\n## How to use\n\n``` python\ntry:\n rgrpc_client = Client('localhost:50051')\n response = rgprc_client.request('myserver.myservice', 'mymethod', {'field1':'value1'})\nexcept Exception as e:\n logger.error(f\"Failed to initialize rgrpc client: {e}\")\n```\n\n## Developer Setup\n\n### Environment Setup\n\n1. `python3 -m venv /where/you/like/to/store/venvs`\n2. `source /venv/bin/activate`\n3. `pip install -r dev-requirements.txt`\n4. `pre-commit install`\n\n### Running tests\n\nRunning `tests.sh` will execute the following actions:\n\n- `ruff check ./rgrpc` - will run the [ruff](https://docs.astral.sh/ruff/linter/) linter over core source files\n- `ruff format ./rgrpc` - will run the [ruff](https://docs.astral.sh/ruff/formatter/) formatter over core source files\n- `mypy rgprc/*.py` - will run [mypy](https://mypy.readthedocs.io/en/stable/getting_started.html) over core source files.\n- `pytest --cov=rgrpc tests/` - will run tests and generate a short coverage report\n\n## Maintainers\n\n- [ViridianForge](viridianforge.tech)\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "A simple to use Python gRPC Reflection Client",
"version": "2023.11.12",
"project_urls": {
"Bug Tracker": "https://codeberg.org/viridianforge/rgprc/issues",
"Homepage": "https://codeberg.org/viridianforge/rgprc"
},
"split_keywords": [
"client",
"grpc",
"reflection"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a82a20be4a1ee506bb69bf59a907d87cf78ff0dcabe57a8895ac90f121bf38a1",
"md5": "7409d4138e8343e34642943d36bb3354",
"sha256": "2edfc287ca2cd87bf260112d22d283d209704a9a7833abd84d625a92204d3c21"
},
"downloads": -1,
"filename": "rgprc-2023.11.12-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7409d4138e8343e34642943d36bb3354",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 8048,
"upload_time": "2023-11-14T04:43:27",
"upload_time_iso_8601": "2023-11-14T04:43:27.190201Z",
"url": "https://files.pythonhosted.org/packages/a8/2a/20be4a1ee506bb69bf59a907d87cf78ff0dcabe57a8895ac90f121bf38a1/rgprc-2023.11.12-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "06474999f24b79f4c94c0c7ce2adc0054907cf0d22d585bcf6134c9f4537b0fb",
"md5": "0270820c2872940d59e1987476200d62",
"sha256": "a515e8b499490438b7776ce34ffadc5659effd37b5c58483e1848b9b53f84fa1"
},
"downloads": -1,
"filename": "rgprc-2023.11.12.tar.gz",
"has_sig": false,
"md5_digest": "0270820c2872940d59e1987476200d62",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 12317,
"upload_time": "2023-11-14T04:43:29",
"upload_time_iso_8601": "2023-11-14T04:43:29.459778Z",
"url": "https://files.pythonhosted.org/packages/06/47/4999f24b79f4c94c0c7ce2adc0054907cf0d22d585bcf6134c9f4537b0fb/rgprc-2023.11.12.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-14 04:43:29",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": true,
"codeberg_user": "viridianforge",
"codeberg_project": "rgprc",
"lcname": "rgprc"
}