Skip to main content

Client for Gnetcli GRPC-server

Project description

Python client for Gnetcli GRPC server

Gnetcli provides a universal way to execute arbitrary commands using a CLI, eliminating the need for screen scraping with expect.

See documentation on gnetcli server.

Example:

from gnetclisdk.client import Credentials, Gnetcli, HostParams
import os, asyncio

async def example():
    api = Gnetcli(insecure_grpc=True)
    # api = Gnetcli(insecure_grpc=True, auth_token="Basic " + base64.b64encode(f"{username}:{password}".encode('utf-8')).decode("ascii")
    dev_creds = Credentials(os.environ.get("LOGIN"), os.environ.get("PASSWORD"))
    res = await api.cmd(hostname="myhost", cmd="dis clock", host_params=HostParams(device="huawei", credentials=dev_creds))
    print("err=%s status=%s out=%s" % (res.error, res.status, res.out))

asyncio.run(example())

Output:

err=b'' status=0 out=b'2023-11-10 09:31:58\nFriday\nTime Zone(UTC) : UTC'

Tests

From this directory, with Go on PATH (to build gnetcli_server and gswitch):

python3 -m venv .venv && . .venv/bin/activate
pip install -r requirements.txt -r requirements-test.txt -e .
pytest tests/

Optional: GNETCLI_TEST_PREBUILT_DIR — directory that already contains gnetcli_server and gswitch binaries (skip go build in tests).

Project details


Release history Release notifications | RSS feed

This version

1.3.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gnetclisdk-1.3.0.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gnetclisdk-1.3.0-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file gnetclisdk-1.3.0.tar.gz.

File metadata

  • Download URL: gnetclisdk-1.3.0.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gnetclisdk-1.3.0.tar.gz
Algorithm Hash digest
SHA256 f4c5d40bd28db60603ae2b5c9fdcbeb55b8cc857b50accedfd1344092bc6f7fe
MD5 f28f4b2bdfb8bf2444c118f48bc28ea4
BLAKE2b-256 77a42e1b749db0d194bd92fae5f463d801c8b2bdf0b62aa770b898a2ba473b36

See more details on using hashes here.

Provenance

The following attestation bundles were made for gnetclisdk-1.3.0.tar.gz:

Publisher: publish-to-pypi.yml on annetutil/gnetcli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gnetclisdk-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: gnetclisdk-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 17.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gnetclisdk-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dc1896a76f6dd11c47c7bb067cde7c1a752524cb01045cee71a62dd4dbab769a
MD5 4fa2a96001ce78ec0fd4f82785efd8dc
BLAKE2b-256 2273b2d922a72562e03c2af8c596538a3445a45319471d86299ef5afe3de2dda

See more details on using hashes here.

Provenance

The following attestation bundles were made for gnetclisdk-1.3.0-py3-none-any.whl:

Publisher: publish-to-pypi.yml on annetutil/gnetcli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page