# coding: utf-8

# flake8: noqa

"""
    BSUB.IO API

    REST API for batch processing compute-intensive workloads.  Submit jobs, upload data, and retrieve results through a simple API. Perfect for PDF processing, video transcoding, audio transcription, and more.  ## Authentication  All endpoints require Bearer token authentication using your API key:  ``` Authorization: Bearer <your-api-key> ```  Get your API key from the [Dashboard](/).  ## Job Lifecycle  1. **Create** a job with `POST /v1/jobs` - Returns job ID and upload token 2. **Upload** data with `POST /v1/upload/{jobId}` - Uses upload token 3. **Submit** for processing with `POST /v1/jobs/{jobId}/submit` 4. **Monitor** status with `GET /v1/jobs/{jobId}` 5. **Retrieve** output with `GET /v1/jobs/{jobId}/output`  ## Job States  - `created` - Job created, awaiting data upload - `loaded` - Data uploaded successfully - `pending` - Waiting in queue for a worker - `claimed` - Worker claimed the job - `preparing` - Worker preparing to process - `processing` - Processing started - `finished` - Processing completed successfully - `failed` - Processing failed with error 

    The version of the OpenAPI document: 1.0.0
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


__version__ = "1.0.0"

# Define package exports
__all__ = [
    "JobsApi",
    "OutputApi",
    "SystemApi",
    "ApiResponse",
    "ApiClient",
    "Configuration",
    "OpenApiException",
    "ApiTypeError",
    "ApiValueError",
    "ApiKeyError",
    "ApiAttributeError",
    "ApiException",
    "CancelJob200Response",
    "CreateJob201Response",
    "CreateJobRequest",
    "Error",
    "GetTypes200Response",
    "GetVersion200Response",
    "Job",
    "ListJobs200Response",
    "ListJobs200ResponseData",
    "ProcessingType",
    "ProcessingTypeExample",
    "ProcessingTypeInput",
    "ProcessingTypeOutput",
    "SubmitJob200Response",
    "UploadJobData200Response",
]

# import apis into sdk package
from bsubio.api.jobs_api import JobsApi as JobsApi
from bsubio.api.output_api import OutputApi as OutputApi
from bsubio.api.system_api import SystemApi as SystemApi

# import ApiClient
from bsubio.api_response import ApiResponse as ApiResponse
from bsubio.api_client import ApiClient as ApiClient
from bsubio.configuration import Configuration as Configuration
from bsubio.exceptions import OpenApiException as OpenApiException
from bsubio.exceptions import ApiTypeError as ApiTypeError
from bsubio.exceptions import ApiValueError as ApiValueError
from bsubio.exceptions import ApiKeyError as ApiKeyError
from bsubio.exceptions import ApiAttributeError as ApiAttributeError
from bsubio.exceptions import ApiException as ApiException

# import models into sdk package
from bsubio.models.cancel_job200_response import CancelJob200Response as CancelJob200Response
from bsubio.models.create_job201_response import CreateJob201Response as CreateJob201Response
from bsubio.models.create_job_request import CreateJobRequest as CreateJobRequest
from bsubio.models.error import Error as Error
from bsubio.models.get_types200_response import GetTypes200Response as GetTypes200Response
from bsubio.models.get_version200_response import GetVersion200Response as GetVersion200Response
from bsubio.models.job import Job as Job
from bsubio.models.list_jobs200_response import ListJobs200Response as ListJobs200Response
from bsubio.models.list_jobs200_response_data import ListJobs200ResponseData as ListJobs200ResponseData
from bsubio.models.processing_type import ProcessingType as ProcessingType
from bsubio.models.processing_type_example import ProcessingTypeExample as ProcessingTypeExample
from bsubio.models.processing_type_input import ProcessingTypeInput as ProcessingTypeInput
from bsubio.models.processing_type_output import ProcessingTypeOutput as ProcessingTypeOutput
from bsubio.models.submit_job200_response import SubmitJob200Response as SubmitJob200Response
from bsubio.models.upload_job_data200_response import UploadJobData200Response as UploadJobData200Response

