Skip to main content

Official Python SDK for the BriskSec Toolbox Data API

Project description

Brisksec toolbox data api sdk

Official Python SDK for the BriskSec Toolbox Data API

PyPI version Python versions License Build Status

Official Python SDK for the BriskSec Toolbox Data API

🚀 Quick Start

Installation

pip install brisksec_toolbox_data_api_sdk

Basic Usage

import asyncio
from brisksec_toolbox_data_api_sdk.client import Client
from brisksec_toolbox_data_api_sdk.api.organizations import list_organizations

async def main():
    # Create client
    client = Client(base_url="")
    
    # List organizations
    response = await list_organizations.asyncio(
        client=client,
        page=1,
        size=10
    )
    
    print(f"Found {response.total} organizations")
    for org in response.items:
        print(f"- {org.name}: {org.description}")

# Run the example
asyncio.run(main())

📚 Documentation

API Client

The SDK provides both synchronous and asynchronous clients:

from brisksec_toolbox_data_api_sdk.client import Client, AuthenticatedClient

# Basic client
client = Client(base_url="")

# Authenticated client (if API requires authentication)
auth_client = AuthenticatedClient(
    base_url="",
    token="your-api-token"
)

Available Endpoints

  • Organizations: brisksec_toolbox_data_api_sdk.api.organizations - Organization management
  • Domains: brisksec_toolbox_data_api_sdk.api.domains - Domain management
  • IP Addresses: brisksec_toolbox_data_api_sdk.api.ip_addresses - IP address management
  • Services: brisksec_toolbox_data_api_sdk.api.services - Service management
  • Relationships: brisksec_toolbox_data_api_sdk.api.relationships - Relationship management between assets

🔧 Usage Patterns

Async Usage (Recommended)

import asyncio
from brisksec_toolbox_data_api_sdk.client import Client
from brisksec_toolbox_data_api_sdk.api.organizations import create_organization, get_organization
from brisksec_toolbox_data_api_sdk.models.organization_create import OrganizationCreate

async def example_operations():
    client = Client(base_url="")
    
    # Create organization
    org_data = OrganizationCreate(
        name="Example Corp",
        description="Example organization"
    )
    
    new_org = await create_organization.asyncio(
        client=client,
        body=org_data
    )
    
    # Get organization
    org = await get_organization.asyncio(
        client=client,
        entity_id=new_org.id
    )
    
    return org

asyncio.run(example_operations())

Sync Usage

from brisksec_toolbox_data_api_sdk.client import Client
from brisksec_toolbox_data_api_sdk.api.organizations import list_organizations

def get_organizations():
    client = Client(base_url="")
    
    response = list_organizations.sync(
        client=client,
        page=1,
        size=50
    )
    
    return response.items

organizations = get_organizations()

Error Handling

import asyncio
from brisksec_toolbox_data_api_sdk.client import Client
from brisksec_toolbox_data_api_sdk.api.organizations import get_organization
from brisksec_toolbox_data_api_sdk import errors

async def safe_get_organization(org_id: str):
    client = Client(base_url="")
    
    try:
        response = await get_organization.asyncio(
            client=client,
            entity_id=org_id
        )
        return response
    except errors.UnexpectedStatus as e:
        print(f"API returned unexpected status: {e.status_code}")
        return None
    except Exception as e:
        print(f"Request failed: {e}")
        return None

Pagination

async def get_all_organizations():
    client = Client(base_url="")
    all_orgs = []
    page = 1
    
    while True:
        response = await list_organizations.asyncio(
            client=client,
            page=page,
            size=100
        )
        
        all_orgs.extend(response.items)
        
        if len(response.items) < 100:  # Last page
            break
            
        page += 1
    
    return all_orgs

⚙️ Configuration

Environment Variables

# API Base URL
export BRISKSEC_TOOLBOX_DATA_API_SDK_BASE_URL=""

# API Token (if authentication required)
export BRISKSEC_TOOLBOX_DATA_API_SDK_API_TOKEN="your-api-token"

# Request timeout (seconds)
export BRISKSEC_TOOLBOX_DATA_API_SDK_TIMEOUT="30"

Client Configuration

import httpx
from brisksec_toolbox_data_api_sdk.client import Client

# Custom timeout
client = Client(
    base_url="",
    timeout=httpx.Timeout(60.0)
)

# Custom headers
client = Client(base_url="")
client.headers.update({
    "X-Custom-Header": "value",
    "User-Agent": "MyApp/1.0"
})

# SSL verification (development only)
client = Client(
    base_url="",
    verify_ssl=False
)

✨ Features

  • Auto-generated from OpenAPI specification
  • Full async/await support with .asyncio() methods
  • Synchronous support with .sync() methods
  • Comprehensive type hints for better IDE support
  • Automatic request/response serialization
  • Built-in error handling and validation
  • All API endpoints covered
  • Pagination support
  • Custom client configuration

📦 Requirements

  • Python 3.9+
  • httpx >= 0.20.0
  • attrs >= 22.2.0
  • python-dateutil >= 2.8.0

📖 Examples

Check the examples/ directory for complete usage examples:

Available Models

All request/response models are available in the brisksec_toolbox_data_api_sdk.models module:

from brisksec_toolbox_data_api_sdk.models import (
    OrganizationCreate,
    OrganizationUpdate,
    OrganizationResponse,
    DomainCreate,
    RelationshipCreate,
    # ... and more
)

🏗️ SDK Generation

This SDK is automatically generated from the BriskSec Toolbox Data API OpenAPI specification.

Latest Generation

  • Generated: {{ generation_timestamp or "Latest" }}
  • API Version: {{ api_version or version }}
  • SDK Version: 1.0.0

Updates

The SDK is automatically updated when the API changes. Check the releases page for the latest version.

🤝 Contributing

This SDK is auto-generated. To suggest improvements:

  1. API Changes: Submit issues to the main API repository
  2. SDK Generation: Contribute to the SDK generation tools
  3. Documentation: Help improve templates and examples

See CONTRIBUTING.md for detailed guidelines.

📄 License

This SDK is licensed under the MIT License. See LICENSE for details.

🔗 Links

🆘 Support


Generated with ❤️ by the BriskSec Toolbox Data API SDK Generator

Last updated: {{ generation_date or "Latest build" }}

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

brisksec_toolbox_data_api_sdk-1.2025.610.1108.tar.gz (101.1 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file brisksec_toolbox_data_api_sdk-1.2025.610.1108.tar.gz.

File metadata

File hashes

Hashes for brisksec_toolbox_data_api_sdk-1.2025.610.1108.tar.gz
Algorithm Hash digest
SHA256 f53cba862db514597ca0c834332e5a9c6cf4015c7a4a789c9b302250efaf82e1
MD5 167a941c274b7ad6dbd605bdc7cb9bf4
BLAKE2b-256 aa5e96d9783eaf937914fccf7c9ae05e1fe5f59ca13a65b8a526f782cfe71299

See more details on using hashes here.

Provenance

The following attestation bundles were made for brisksec_toolbox_data_api_sdk-1.2025.610.1108.tar.gz:

Publisher: publish.yml on BriskStack/brisksec-toolbox-data-api-sdk

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

File details

Details for the file brisksec_toolbox_data_api_sdk-1.2025.610.1108-py3-none-any.whl.

File metadata

File hashes

Hashes for brisksec_toolbox_data_api_sdk-1.2025.610.1108-py3-none-any.whl
Algorithm Hash digest
SHA256 b2bb3d683ebafd61f1bffc99c7918bc583355b774b8da3ce78cb0d052e513a4b
MD5 84e13f40203b7372471a792c407456ea
BLAKE2b-256 0056224b3d2c8372627b541bada74b7fbaaa36f4ad48e54d1df75c73570081f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for brisksec_toolbox_data_api_sdk-1.2025.610.1108-py3-none-any.whl:

Publisher: publish.yml on BriskStack/brisksec-toolbox-data-api-sdk

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