Skip to main content

Annet Netbox client

Project description

Annetbox - Netbox client used by annet and related projects

This project implements subset of Netbox API methods

Usage

  1. Install sync or async version
pip install 'annetbox[sync]'
  1. Create client instance according to your netbox version (only some are supported)
from annetbox.v37.client_sync import NetboxV37

netbox = NetboxV37(url="https://demo.netbox.dev", token="YOUR NETBOX TOKEN")
  1. Call methods
res = netbox.dcim_devices(limit=1)

Configuration

Verbose logging

For sync client

import http.client
import logging

logging.basicConfig()
http.client.HTTPConnection.debuglevel = 1
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True

Custom SSL context

  1. Create context
import ssl

context = ssl.create_default_context(cafile="path/to/cacert.pem")
  1. Pass it to client
netbox = NetboxV37(url=url, token=token, ssl_context=context)

Development

Adding new methods

  1. Read openapi spec
  2. Edit models.py
  3. Edit client_async.py, do not forget adding limit/offset
  4. Convert async code to sync
python transform_to_sync.py src/annetbox/v37/client_async.py > src/annetbox/v37/client_sync.py
python transform_to_sync.py src/annetbox/v41/client_async.py > src/annetbox/v41/client_sync.py
python transform_to_sync.py src/annetbox/v42/client_async.py > src/annetbox/v42/client_sync.py

Project details


Download files

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

Source Distribution

annetbox-0.2.2.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

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

annetbox-0.2.2-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file annetbox-0.2.2.tar.gz.

File metadata

  • Download URL: annetbox-0.2.2.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for annetbox-0.2.2.tar.gz
Algorithm Hash digest
SHA256 ef51d99e0de00ac2467b7469f93d72e01585c95f9ffa0b45ccf60a502e88a6d3
MD5 fabac70e119a00ef9f48be5367c9a9df
BLAKE2b-256 801ba9c426cb8aed0124d539c1dcaebe5067cb2ca33702d23d547e24bcc30fe4

See more details on using hashes here.

Provenance

The following attestation bundles were made for annetbox-0.2.2.tar.gz:

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

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

File details

Details for the file annetbox-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: annetbox-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 22.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for annetbox-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4d77ef53dc0abe3e177e8d6ee5d8e5de7f785ece8a7fa488addf064b7f84139c
MD5 0e9c4711d5ff27495153d6d2f193c1ea
BLAKE2b-256 6551faab324507e93a747be4df3c697e35dfd6fb34b7bc47fb48f1759fb28f97

See more details on using hashes here.

Provenance

The following attestation bundles were made for annetbox-0.2.2-py3-none-any.whl:

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

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