Skip to main content

Python bindings for accessing OSIDB API

Project description

OSIDB Bindings

A Pythonic way to talk to OSIDB without getting lost in HTTP details.

Requirements

  • gcc
  • krb5-devel
  • pip
  • python3
  • python3-devel

Installation

Install the bindings using pip (recommended within a virtual environment):

pip install osidb-bindings

Quick Start

Basic Authentication

import osidb_bindings

# For local OSIDB instances with username/password authentication
session = osidb_bindings.new_session(
    osidb_server_uri="http://localhost:8000/",
    username="your_username",
    password="your_password"
)

Kerberos Authentication

# For production/staging instances with Kerberos authentication (default)
session = osidb_bindings.new_session(osidb_server_uri="https://your-osidb-instance.com/")

Basic Operations

# Check connection status
status = session.status()

# Retrieve a specific flaw
flaw = session.flaws.retrieve(id="CVE-1111-2222")

# Access flaw attributes
print(flaw.title)
print(flaw.impact)

# Convert to dictionary for easier manipulation
flaw_dict = flaw.to_dict()
print(flaw_dict["title"])
print(flaw_dict["impact"])

# Retrieve multiple flaws with filtering
critical_flaws = session.flaws.retrieve_list(impact="CRITICAL")
recent_flaws = session.flaws.retrieve_list(changed_after="2023-01-01")

# Access paginated results
print(f"Total flaws found: {critical_flaws.count}")
for flaw in critical_flaws.results:
    print(f"CVE: {flaw.cve_id}, Impact: {flaw.impact}")

API Version Control

# Use latest API version (default behavior)
flaw = session.flaws.retrieve(id="CVE-1111-2222")

# Specify a particular API version for stability
flaw = session.flaws.retrieve(id="CVE-1111-2222", api_version="v1")

# Discover available API versions
print(session.endpoints)

Documentation

Features

  • Automatic Authentication - Handles JWT token refresh automatically
  • Multiple API Versions - Support for v1, v2, and future API versions
  • Intuitive Interface - Pythonic API that mirrors OSIDB REST endpoints
  • Comprehensive Coverage - Access to flaws, affects, trackers, and more
  • Pagination Support - Built-in handling of paginated responses
  • Error Handling - Clear exceptions for better debugging

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

osidb_bindings-5.5.0.tar.gz (314.4 kB view details)

Uploaded Source

Built Distribution

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

osidb_bindings-5.5.0-py3-none-any.whl (767.8 kB view details)

Uploaded Python 3

File details

Details for the file osidb_bindings-5.5.0.tar.gz.

File metadata

  • Download URL: osidb_bindings-5.5.0.tar.gz
  • Upload date:
  • Size: 314.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for osidb_bindings-5.5.0.tar.gz
Algorithm Hash digest
SHA256 5c3137bdde7082e71cc80673cca2afc0300d8b47ca65adc8b6447ad02b2d6d0a
MD5 89cb1123e940f72c4adede5d65bcb592
BLAKE2b-256 2f2f8c0476a9efaa4ea5a4d6fdb19dd56c3ed8a87a5586e3c770b93d5c6b31fa

See more details on using hashes here.

File details

Details for the file osidb_bindings-5.5.0-py3-none-any.whl.

File metadata

  • Download URL: osidb_bindings-5.5.0-py3-none-any.whl
  • Upload date:
  • Size: 767.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for osidb_bindings-5.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7af6072d22e273f4dae10e029b699f38e015e0dc82bbdd0afa3c1730a671c2fa
MD5 de5d6ced4ab7acd2ece51698f0a3a2ae
BLAKE2b-256 58c8a83ebff66f223d531f08e6c283e6048d97c3a18d61140b5038ee04101ca7

See more details on using hashes here.

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