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.1052.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.1052.tar.gz.

File metadata

File hashes

Hashes for brisksec_toolbox_data_api_sdk-1.2025.610.1052.tar.gz
Algorithm Hash digest
SHA256 bcecea3fd0b88e8bfcdd30478f35b8793f77f1e61784e8b75230056f7ae19dea
MD5 2f21deed9012150c392a920b8ffaa272
BLAKE2b-256 2a4dab6c60d33f7e6bc7edb52247d0d6492d3970a7baaf948d4c11c5ecd4e38c

See more details on using hashes here.

Provenance

The following attestation bundles were made for brisksec_toolbox_data_api_sdk-1.2025.610.1052.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.1052-py3-none-any.whl.

File metadata

File hashes

Hashes for brisksec_toolbox_data_api_sdk-1.2025.610.1052-py3-none-any.whl
Algorithm Hash digest
SHA256 8f19aeeb7a43e5e06808faea620b9446fab1ada7bb6e356621b4111d444ab808
MD5 2cf4d75ef75b9a1e234ae105ce6ac9df
BLAKE2b-256 c7f258aad4b8623b1a9bdb2c2e1d785229af86f90d196fd606851f73a2ec2a86

See more details on using hashes here.

Provenance

The following attestation bundles were made for brisksec_toolbox_data_api_sdk-1.2025.610.1052-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