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
- Complete Tutorial - Comprehensive guide with examples
- Developer Guide - Development and contribution guidelines
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
Release history Release notifications | RSS feed
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.0.0b3.tar.gz
(281.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file osidb_bindings-5.0.0b3.tar.gz.
File metadata
- Download URL: osidb_bindings-5.0.0b3.tar.gz
- Upload date:
- Size: 281.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9692f1fff7361169501f162667ddfdd25c91b9eec9ce8d511d17c7070348ca13
|
|
| MD5 |
c4f00e6c9ae20755473cadf02a9d893d
|
|
| BLAKE2b-256 |
f7ce818447824bb76d97d22db9fd0491f29394bdd246a907b10d5a0f1e4dd0b8
|
File details
Details for the file osidb_bindings-5.0.0b3-py3-none-any.whl.
File metadata
- Download URL: osidb_bindings-5.0.0b3-py3-none-any.whl
- Upload date:
- Size: 706.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbcb375626e5c7b27cd8064b1c91e6a52a3e3358699bd336326623c6090170ed
|
|
| MD5 |
6862f84146a2b63cc2d8a4136fc4b1d5
|
|
| BLAKE2b-256 |
ea27784300ed6198014518c6c6f0691d5f7c82888011a72ceb3f37f18fa7faab
|