hushscript 1.0.0__tar.gz → 1.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hushscript-1.0.0 → hushscript-1.1.0}/PKG-INFO +8 -8
- {hushscript-1.0.0 → hushscript-1.1.0}/README.md +1 -1
- {hushscript-1.0.0 → hushscript-1.1.0}/pyproject.toml +14 -12
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_shapes.py +1 -1
- hushscript-1.1.0/src/hushscript/_version.py +1 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/buy_minutes.py +12 -12
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/claim_agent_account.py +60 -24
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/create_setup_session.py +12 -8
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/get_account.py +12 -16
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/get_org.py +16 -16
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/get_upload_part_urls.py +21 -35
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_packs.py +12 -8
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_saved_cards.py +12 -8
- hushscript-1.1.0/src/hushscript/generated/api/default/rotate_agent_credentials.py +205 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/set_default_card.py +12 -8
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/catalog.py +16 -6
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/__init__.py +2 -2
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/account_response.py +14 -2
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/agent_claim_response.py +2 -1
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/agent_credentials_rotate_response.py +3 -2
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/agent_signup_request.py +1 -3
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/create_upload_body.py +1 -1
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/deleted_transcript.py +2 -1
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/error.py +1 -1
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/error_details.py +12 -2
- hushscript-1.0.0/src/hushscript/generated/models/get_upload_part_urls_response_200_type_0.py → hushscript-1.1.0/src/hushscript/generated/models/get_upload_part_urls_response_200.py +7 -7
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/job.py +1 -1
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_summary_response.py +2 -2
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/resources/account.py +2 -0
- hushscript-1.0.0/src/hushscript/_version.py +0 -1
- hushscript-1.0.0/src/hushscript/generated/api/default/rotate_agent_credentials.py +0 -177
- {hushscript-1.0.0 → hushscript-1.1.0}/.gitignore +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/LICENSE +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/__init__.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_client.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_clock.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_config.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_errors.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_guard.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_http.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_json.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_log.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_models.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_pacing.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_redact.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_retry.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_shape.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/format.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/__init__.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/__init__.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/__init__.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/complete_upload.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/create_agent_account_signup.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/create_upload.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/get_job.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/get_transcript.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/get_transcription_context.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/heartbeat_upload.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/lift_transcript_hold.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_credit_ledger.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_deleted_transcripts.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_holds.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_jobs.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_org_audit.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_org_invoices.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_org_ledger.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_org_matters.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_org_members.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_org_transcripts.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_transactions.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_transcripts.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/org_audit_csv.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/org_ledger_csv.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/org_usage_report.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/org_usage_report_csv.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/patch_org_member.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/place_transcript_hold.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/schedule_org_custody.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/upload_part.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/client.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/errors.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/hints.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/active_hold.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/active_hold_kind.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/agent_claim_request.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/agent_signup_request_agent.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/agent_signup_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/buy_minutes_body.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/card.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/cards_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/complete_upload_body.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/complete_upload_body_parts_type_0_item.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/context_dictionary.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/context_prompt_preset.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/create_setup_session_body.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/create_upload_body_transcription_options_type_0.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/credit_ledger_entry.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/credit_ledger_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/deleted_transcript_cause.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/deleted_transcript_receipt_type_0.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/deleted_transcript_receipt_type_0_items_item.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/deleted_transcripts_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/dictionary_entry.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/dictionary_entry_category.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/heartbeat_upload_response_200.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/holds_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/job_failure_kind_type_1.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/job_failure_kind_type_2_type_1.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/job_failure_kind_type_3_type_1.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/job_list.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/lift_transcript_hold_response_200.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/list_jobs_active.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/list_org_matters_status.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/options_summary.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_audit_entry.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_audit_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_invoice.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_invoices_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_ledger_entry.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_ledger_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_matter.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_matter_status.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_matters_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_member.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_members_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_transcript.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_transcripts_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_usage_report_csv_group_by.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_usage_report_group_by.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_usage_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_usage_response_group_by.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_usage_row.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/pack.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/packs_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/patch_org_member_body.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/patch_org_member_response_200.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/place_transcript_hold_response_200.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/presigned_part_url.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/purchase_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/schedule_org_custody_body.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/schedule_org_custody_body_custody.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/schedule_org_custody_response_200.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/set_default_card_body.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/set_default_card_response_200.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/setup_session_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transaction.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transactions_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcript_detail.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcript_detail_speaker_names.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcript_envelope.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcript_envelope_translations.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcript_language.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcript_list.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcript_list_row.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcript_list_row_insights_state.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcription_context_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/upload_complete_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/upload_create_response.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/upload_create_response_funding.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/upload_create_response_upload_type_0.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/upload_limits.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/upload_part_response_200.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/utterance.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/scopes.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/types.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/money.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/paginate.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/py.typed +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/resources/__init__.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/resources/_params.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/resources/agent.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/resources/billing.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/resources/jobs.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/resources/transcripts.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/__init__.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/apipeline.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/aupload.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/heartbeat.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/pipeline.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/preflight.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/probe.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/resume.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/segment.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/session.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/sniff.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/source.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/upload.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/wait.py +0 -0
- {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcript.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: hushscript
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.1.0
|
|
4
4
|
Summary: The official Python SDK for the Hushscript transcription API.
|
|
5
5
|
Project-URL: Homepage, https://hushscript.com
|
|
6
6
|
Project-URL: Source, https://github.com/Hushscript/hushscript-sdk-python
|
|
@@ -18,13 +18,13 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.15
|
|
19
19
|
Classifier: Typing :: Typed
|
|
20
20
|
Requires-Python: >=3.10
|
|
21
|
-
Requires-Dist: anyio<5,>=4
|
|
22
|
-
Requires-Dist: async-timeout<6,>=5
|
|
23
|
-
Requires-Dist: attrs>=
|
|
24
|
-
Requires-Dist: exceptiongroup>=1.
|
|
21
|
+
Requires-Dist: anyio<5,>=4.15.1
|
|
22
|
+
Requires-Dist: async-timeout<6,>=5.0.1
|
|
23
|
+
Requires-Dist: attrs>=26.1.0
|
|
24
|
+
Requires-Dist: exceptiongroup>=1.3.1; python_version < '3.11'
|
|
25
25
|
Requires-Dist: httpx<0.29,>=0.28.1
|
|
26
|
-
Requires-Dist: mutagen<2,>=1.
|
|
27
|
-
Requires-Dist: typing-extensions>=4.
|
|
26
|
+
Requires-Dist: mutagen<2,>=1.48.1
|
|
27
|
+
Requires-Dist: typing-extensions>=4.16.0
|
|
28
28
|
Description-Content-Type: text/markdown
|
|
29
29
|
|
|
30
30
|
# Hushscript Python SDK
|
|
@@ -473,7 +473,7 @@ just test 3.14 # unit tests with coverage on one interpreter
|
|
|
473
473
|
just lint # every static check
|
|
474
474
|
just examples # every program in examples/ against the conformance mock
|
|
475
475
|
just build # sdist and wheel, twine and wheel-contents checks, install on the default interpreter (3.10)
|
|
476
|
-
just regen # regenerate openapi.json and src/hushscript/generated from the production spec
|
|
476
|
+
just regen # regenerate openapi.json and src/hushscript/generated from the production spec; run it by hand when the API changes
|
|
477
477
|
```
|
|
478
478
|
|
|
479
479
|
The conformance mock is built from the `hushscript-sdk-conformance` repository at the tag or commit in
|
|
@@ -444,7 +444,7 @@ just test 3.14 # unit tests with coverage on one interpreter
|
|
|
444
444
|
just lint # every static check
|
|
445
445
|
just examples # every program in examples/ against the conformance mock
|
|
446
446
|
just build # sdist and wheel, twine and wheel-contents checks, install on the default interpreter (3.10)
|
|
447
|
-
just regen # regenerate openapi.json and src/hushscript/generated from the production spec
|
|
447
|
+
just regen # regenerate openapi.json and src/hushscript/generated from the production spec; run it by hand when the API changes
|
|
448
448
|
```
|
|
449
449
|
|
|
450
450
|
The conformance mock is built from the `hushscript-sdk-conformance` repository at the tag or commit in
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "hushscript"
|
|
7
|
-
version = "1.
|
|
7
|
+
version = "1.1.0"
|
|
8
8
|
description = "The official Python SDK for the Hushscript transcription API."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -27,12 +27,12 @@ classifiers = [
|
|
|
27
27
|
# resolvers. uv.lock pins the exact set that CI tests.
|
|
28
28
|
dependencies = [
|
|
29
29
|
"httpx>=0.28.1,<0.29",
|
|
30
|
-
"mutagen>=1.
|
|
31
|
-
"attrs>=
|
|
32
|
-
"typing-extensions>=4.
|
|
33
|
-
"anyio>=4,<5",
|
|
34
|
-
"async-timeout>=5,<6",
|
|
35
|
-
"exceptiongroup>=1.
|
|
30
|
+
"mutagen>=1.48.1,<2",
|
|
31
|
+
"attrs>=26.1.0",
|
|
32
|
+
"typing-extensions>=4.16.0",
|
|
33
|
+
"anyio>=4.15.1,<5",
|
|
34
|
+
"async-timeout>=5.0.1,<6",
|
|
35
|
+
"exceptiongroup>=1.3.1; python_version < '3.11'",
|
|
36
36
|
]
|
|
37
37
|
|
|
38
38
|
[project.urls]
|
|
@@ -43,16 +43,18 @@ Source = "https://github.com/Hushscript/hushscript-sdk-python"
|
|
|
43
43
|
dev = [
|
|
44
44
|
"openapi-python-client==0.29.1; python_version >= '3.11'",
|
|
45
45
|
"pytest==9.1.1",
|
|
46
|
-
"exceptiongroup>=1.
|
|
47
|
-
"tomli==2.
|
|
48
|
-
"pydantic==2.14.
|
|
46
|
+
"exceptiongroup>=1.3.1",
|
|
47
|
+
"tomli==2.5.0",
|
|
48
|
+
"pydantic==2.14.1; python_version >= '3.15'",
|
|
49
49
|
"pytest-randomly==5.0.0",
|
|
50
50
|
"pytest-cov==7.1.0",
|
|
51
51
|
"coverage==7.16.2",
|
|
52
|
-
|
|
52
|
+
# Hypothesis 6.169+ requires Python 3.11; keep the last Python 3.10 release.
|
|
53
|
+
"hypothesis==6.168.5; python_version < '3.11'",
|
|
54
|
+
"hypothesis==6.170.5; python_version >= '3.11'",
|
|
53
55
|
"mypy==2.4.0",
|
|
54
56
|
"basedpyright==1.40.2",
|
|
55
|
-
"ruff==0.
|
|
57
|
+
"ruff==0.17.1",
|
|
56
58
|
"deptry==0.25.1",
|
|
57
59
|
"mutmut==3.8.0; python_version >= '3.11'",
|
|
58
60
|
"pip-audit==2.10.1",
|
|
@@ -32,7 +32,7 @@ UPLOAD_LIMITS: Final[Shape] = object_of(
|
|
|
32
32
|
}
|
|
33
33
|
)
|
|
34
34
|
|
|
35
|
-
# `purchases_remaining_in_window` is in the body for agent accounts only
|
|
35
|
+
# `purchases_remaining_in_window` is in the body for agent accounts only.
|
|
36
36
|
BALANCE: Final[Shape] = object_of(
|
|
37
37
|
{"balance_seconds": integer, "held_seconds": count},
|
|
38
38
|
{
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.1.0" # x-release-please-version
|
|
@@ -106,9 +106,9 @@ def sync_detailed(
|
|
|
106
106
|
either through the Hushscript app or by opening the hosted Checkout session create_setup_session
|
|
107
107
|
returns. A request with no quick_payment_method_id, or a Quick Buy charge that needed
|
|
108
108
|
authentication, a different payment method, or was declined, is refused outright rather than opened
|
|
109
|
-
as a Checkout session nobody in this flow could complete. Needs the billing scope
|
|
110
|
-
|
|
111
|
-
(code 2023) refusal, whichever it was.
|
|
109
|
+
as a Checkout session nobody in this flow could complete. Needs the billing scope, the token's own
|
|
110
|
+
buy-minutes flag (set when the token is created), AND machine billing switched on for the account in
|
|
111
|
+
the Hushscript app; any one off is a pat_scope_missing (code 2023) refusal, whichever it was.
|
|
112
112
|
|
|
113
113
|
Args:
|
|
114
114
|
body (BuyMinutesBody):
|
|
@@ -148,9 +148,9 @@ def sync(
|
|
|
148
148
|
either through the Hushscript app or by opening the hosted Checkout session create_setup_session
|
|
149
149
|
returns. A request with no quick_payment_method_id, or a Quick Buy charge that needed
|
|
150
150
|
authentication, a different payment method, or was declined, is refused outright rather than opened
|
|
151
|
-
as a Checkout session nobody in this flow could complete. Needs the billing scope
|
|
152
|
-
|
|
153
|
-
(code 2023) refusal, whichever it was.
|
|
151
|
+
as a Checkout session nobody in this flow could complete. Needs the billing scope, the token's own
|
|
152
|
+
buy-minutes flag (set when the token is created), AND machine billing switched on for the account in
|
|
153
|
+
the Hushscript app; any one off is a pat_scope_missing (code 2023) refusal, whichever it was.
|
|
154
154
|
|
|
155
155
|
Args:
|
|
156
156
|
body (BuyMinutesBody):
|
|
@@ -185,9 +185,9 @@ async def asyncio_detailed(
|
|
|
185
185
|
either through the Hushscript app or by opening the hosted Checkout session create_setup_session
|
|
186
186
|
returns. A request with no quick_payment_method_id, or a Quick Buy charge that needed
|
|
187
187
|
authentication, a different payment method, or was declined, is refused outright rather than opened
|
|
188
|
-
as a Checkout session nobody in this flow could complete. Needs the billing scope
|
|
189
|
-
|
|
190
|
-
(code 2023) refusal, whichever it was.
|
|
188
|
+
as a Checkout session nobody in this flow could complete. Needs the billing scope, the token's own
|
|
189
|
+
buy-minutes flag (set when the token is created), AND machine billing switched on for the account in
|
|
190
|
+
the Hushscript app; any one off is a pat_scope_missing (code 2023) refusal, whichever it was.
|
|
191
191
|
|
|
192
192
|
Args:
|
|
193
193
|
body (BuyMinutesBody):
|
|
@@ -225,9 +225,9 @@ async def asyncio(
|
|
|
225
225
|
either through the Hushscript app or by opening the hosted Checkout session create_setup_session
|
|
226
226
|
returns. A request with no quick_payment_method_id, or a Quick Buy charge that needed
|
|
227
227
|
authentication, a different payment method, or was declined, is refused outright rather than opened
|
|
228
|
-
as a Checkout session nobody in this flow could complete. Needs the billing scope
|
|
229
|
-
|
|
230
|
-
(code 2023) refusal, whichever it was.
|
|
228
|
+
as a Checkout session nobody in this flow could complete. Needs the billing scope, the token's own
|
|
229
|
+
buy-minutes flag (set when the token is created), AND machine billing switched on for the account in
|
|
230
|
+
the Hushscript app; any one off is a pat_scope_missing (code 2023) refusal, whichever it was.
|
|
231
231
|
|
|
232
232
|
Args:
|
|
233
233
|
body (BuyMinutesBody):
|
{hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/claim_agent_account.py
RENAMED
|
@@ -94,12 +94,21 @@ def sync_detailed(
|
|
|
94
94
|
|
|
95
95
|
Exchanges a paid, unclaimed agent signup for the account it pays for. Presents the claim_secret
|
|
96
96
|
returned once by POST /v1/agent/accounts; a wrong secret, an unknown signup_id, an already claimed
|
|
97
|
-
signup, a refunded signup, and an expired signup all answer
|
|
98
|
-
so a caller can never learn which of those is true. Only
|
|
99
|
-
state matter: a signup whose Checkout Session has not
|
|
100
|
-
|
|
101
|
-
identity
|
|
102
|
-
personal access token with the account's own agent scopes
|
|
97
|
+
signup whose token can no longer be re-minted, a refunded signup, and an expired signup all answer
|
|
98
|
+
the identical agent_claim_invalid error so a caller can never learn which of those is true. Only
|
|
99
|
+
once that secret checks out does payment state matter: a signup whose Checkout Session has not
|
|
100
|
+
settled to paid answers wrong_state instead. A successful claim creates exactly one account with a
|
|
101
|
+
synthetic, unresolvable login identity, grants the paid pack once, never twice, even on a retried
|
|
102
|
+
request, and mints one personal access token with the account's own agent scopes. Only the token's
|
|
103
|
+
hash is stored. If the 201 is lost, repeat the request with the same claim_secret: while that token
|
|
104
|
+
has not yet made a successful request, and for up to one hour after it was minted, the retry answers
|
|
105
|
+
201 with the same user_id, no second pack grant and a NEW token for the same account; the lost token
|
|
106
|
+
stops working. Making one successful call with the new token ends the window, and the same request
|
|
107
|
+
then answers agent_claim_invalid again. A late-landing earlier retry can replace the secret of the
|
|
108
|
+
token you hold, so make that one call right away, and if it answers 401 within the hour, repeat the
|
|
109
|
+
claim. A retry that overlaps a first claim still in flight answers rate_limited with Retry-After: 2
|
|
110
|
+
or re-mints. Until the token is first used or one hour has passed, the claim_secret works as a
|
|
111
|
+
credential for the account, so keep it private.
|
|
103
112
|
|
|
104
113
|
Args:
|
|
105
114
|
signup_id (str):
|
|
@@ -135,12 +144,21 @@ def sync(
|
|
|
135
144
|
|
|
136
145
|
Exchanges a paid, unclaimed agent signup for the account it pays for. Presents the claim_secret
|
|
137
146
|
returned once by POST /v1/agent/accounts; a wrong secret, an unknown signup_id, an already claimed
|
|
138
|
-
signup, a refunded signup, and an expired signup all answer
|
|
139
|
-
so a caller can never learn which of those is true. Only
|
|
140
|
-
state matter: a signup whose Checkout Session has not
|
|
141
|
-
|
|
142
|
-
identity
|
|
143
|
-
personal access token with the account's own agent scopes
|
|
147
|
+
signup whose token can no longer be re-minted, a refunded signup, and an expired signup all answer
|
|
148
|
+
the identical agent_claim_invalid error so a caller can never learn which of those is true. Only
|
|
149
|
+
once that secret checks out does payment state matter: a signup whose Checkout Session has not
|
|
150
|
+
settled to paid answers wrong_state instead. A successful claim creates exactly one account with a
|
|
151
|
+
synthetic, unresolvable login identity, grants the paid pack once, never twice, even on a retried
|
|
152
|
+
request, and mints one personal access token with the account's own agent scopes. Only the token's
|
|
153
|
+
hash is stored. If the 201 is lost, repeat the request with the same claim_secret: while that token
|
|
154
|
+
has not yet made a successful request, and for up to one hour after it was minted, the retry answers
|
|
155
|
+
201 with the same user_id, no second pack grant and a NEW token for the same account; the lost token
|
|
156
|
+
stops working. Making one successful call with the new token ends the window, and the same request
|
|
157
|
+
then answers agent_claim_invalid again. A late-landing earlier retry can replace the secret of the
|
|
158
|
+
token you hold, so make that one call right away, and if it answers 401 within the hour, repeat the
|
|
159
|
+
claim. A retry that overlaps a first claim still in flight answers rate_limited with Retry-After: 2
|
|
160
|
+
or re-mints. Until the token is first used or one hour has passed, the claim_secret works as a
|
|
161
|
+
credential for the account, so keep it private.
|
|
144
162
|
|
|
145
163
|
Args:
|
|
146
164
|
signup_id (str):
|
|
@@ -171,12 +189,21 @@ async def asyncio_detailed(
|
|
|
171
189
|
|
|
172
190
|
Exchanges a paid, unclaimed agent signup for the account it pays for. Presents the claim_secret
|
|
173
191
|
returned once by POST /v1/agent/accounts; a wrong secret, an unknown signup_id, an already claimed
|
|
174
|
-
signup, a refunded signup, and an expired signup all answer
|
|
175
|
-
so a caller can never learn which of those is true. Only
|
|
176
|
-
state matter: a signup whose Checkout Session has not
|
|
177
|
-
|
|
178
|
-
identity
|
|
179
|
-
personal access token with the account's own agent scopes
|
|
192
|
+
signup whose token can no longer be re-minted, a refunded signup, and an expired signup all answer
|
|
193
|
+
the identical agent_claim_invalid error so a caller can never learn which of those is true. Only
|
|
194
|
+
once that secret checks out does payment state matter: a signup whose Checkout Session has not
|
|
195
|
+
settled to paid answers wrong_state instead. A successful claim creates exactly one account with a
|
|
196
|
+
synthetic, unresolvable login identity, grants the paid pack once, never twice, even on a retried
|
|
197
|
+
request, and mints one personal access token with the account's own agent scopes. Only the token's
|
|
198
|
+
hash is stored. If the 201 is lost, repeat the request with the same claim_secret: while that token
|
|
199
|
+
has not yet made a successful request, and for up to one hour after it was minted, the retry answers
|
|
200
|
+
201 with the same user_id, no second pack grant and a NEW token for the same account; the lost token
|
|
201
|
+
stops working. Making one successful call with the new token ends the window, and the same request
|
|
202
|
+
then answers agent_claim_invalid again. A late-landing earlier retry can replace the secret of the
|
|
203
|
+
token you hold, so make that one call right away, and if it answers 401 within the hour, repeat the
|
|
204
|
+
claim. A retry that overlaps a first claim still in flight answers rate_limited with Retry-After: 2
|
|
205
|
+
or re-mints. Until the token is first used or one hour has passed, the claim_secret works as a
|
|
206
|
+
credential for the account, so keep it private.
|
|
180
207
|
|
|
181
208
|
Args:
|
|
182
209
|
signup_id (str):
|
|
@@ -210,12 +237,21 @@ async def asyncio(
|
|
|
210
237
|
|
|
211
238
|
Exchanges a paid, unclaimed agent signup for the account it pays for. Presents the claim_secret
|
|
212
239
|
returned once by POST /v1/agent/accounts; a wrong secret, an unknown signup_id, an already claimed
|
|
213
|
-
signup, a refunded signup, and an expired signup all answer
|
|
214
|
-
so a caller can never learn which of those is true. Only
|
|
215
|
-
state matter: a signup whose Checkout Session has not
|
|
216
|
-
|
|
217
|
-
identity
|
|
218
|
-
personal access token with the account's own agent scopes
|
|
240
|
+
signup whose token can no longer be re-minted, a refunded signup, and an expired signup all answer
|
|
241
|
+
the identical agent_claim_invalid error so a caller can never learn which of those is true. Only
|
|
242
|
+
once that secret checks out does payment state matter: a signup whose Checkout Session has not
|
|
243
|
+
settled to paid answers wrong_state instead. A successful claim creates exactly one account with a
|
|
244
|
+
synthetic, unresolvable login identity, grants the paid pack once, never twice, even on a retried
|
|
245
|
+
request, and mints one personal access token with the account's own agent scopes. Only the token's
|
|
246
|
+
hash is stored. If the 201 is lost, repeat the request with the same claim_secret: while that token
|
|
247
|
+
has not yet made a successful request, and for up to one hour after it was minted, the retry answers
|
|
248
|
+
201 with the same user_id, no second pack grant and a NEW token for the same account; the lost token
|
|
249
|
+
stops working. Making one successful call with the new token ends the window, and the same request
|
|
250
|
+
then answers agent_claim_invalid again. A late-landing earlier retry can replace the secret of the
|
|
251
|
+
token you hold, so make that one call right away, and if it answers 401 within the hour, repeat the
|
|
252
|
+
claim. A retry that overlaps a first claim still in flight answers rate_limited with Retry-After: 2
|
|
253
|
+
or re-mints. Until the token is first used or one hour has passed, the claim_secret works as a
|
|
254
|
+
credential for the account, so keep it private.
|
|
219
255
|
|
|
220
256
|
Args:
|
|
221
257
|
signup_id (str):
|
{hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/create_setup_session.py
RENAMED
|
@@ -103,8 +103,9 @@ def sync_detailed(
|
|
|
103
103
|
card; call this endpoint again for a fresh link after that. idempotency_key is optional: omit it and
|
|
104
104
|
every call opens a new Session, which is safe since a setup Session is never charged and expires on
|
|
105
105
|
its own; supply your own key only if you want a retried call to land on the same Session instead.
|
|
106
|
-
Needs the billing scope
|
|
107
|
-
|
|
106
|
+
Needs the billing scope, the token's own buy-minutes flag (set when the token is created), AND
|
|
107
|
+
machine billing switched on for the account in the Hushscript app; any one off is a
|
|
108
|
+
pat_scope_missing (code 2023) refusal, whichever it was.
|
|
108
109
|
|
|
109
110
|
Args:
|
|
110
111
|
body (CreateSetupSessionBody | Unset):
|
|
@@ -145,8 +146,9 @@ def sync(
|
|
|
145
146
|
card; call this endpoint again for a fresh link after that. idempotency_key is optional: omit it and
|
|
146
147
|
every call opens a new Session, which is safe since a setup Session is never charged and expires on
|
|
147
148
|
its own; supply your own key only if you want a retried call to land on the same Session instead.
|
|
148
|
-
Needs the billing scope
|
|
149
|
-
|
|
149
|
+
Needs the billing scope, the token's own buy-minutes flag (set when the token is created), AND
|
|
150
|
+
machine billing switched on for the account in the Hushscript app; any one off is a
|
|
151
|
+
pat_scope_missing (code 2023) refusal, whichever it was.
|
|
150
152
|
|
|
151
153
|
Args:
|
|
152
154
|
body (CreateSetupSessionBody | Unset):
|
|
@@ -182,8 +184,9 @@ async def asyncio_detailed(
|
|
|
182
184
|
card; call this endpoint again for a fresh link after that. idempotency_key is optional: omit it and
|
|
183
185
|
every call opens a new Session, which is safe since a setup Session is never charged and expires on
|
|
184
186
|
its own; supply your own key only if you want a retried call to land on the same Session instead.
|
|
185
|
-
Needs the billing scope
|
|
186
|
-
|
|
187
|
+
Needs the billing scope, the token's own buy-minutes flag (set when the token is created), AND
|
|
188
|
+
machine billing switched on for the account in the Hushscript app; any one off is a
|
|
189
|
+
pat_scope_missing (code 2023) refusal, whichever it was.
|
|
187
190
|
|
|
188
191
|
Args:
|
|
189
192
|
body (CreateSetupSessionBody | Unset):
|
|
@@ -222,8 +225,9 @@ async def asyncio(
|
|
|
222
225
|
card; call this endpoint again for a fresh link after that. idempotency_key is optional: omit it and
|
|
223
226
|
every call opens a new Session, which is safe since a setup Session is never charged and expires on
|
|
224
227
|
its own; supply your own key only if you want a retried call to land on the same Session instead.
|
|
225
|
-
Needs the billing scope
|
|
226
|
-
|
|
228
|
+
Needs the billing scope, the token's own buy-minutes flag (set when the token is created), AND
|
|
229
|
+
machine billing switched on for the account in the Hushscript app; any one off is a
|
|
230
|
+
pat_scope_missing (code 2023) refusal, whichever it was.
|
|
227
231
|
|
|
228
232
|
Args:
|
|
229
233
|
body (CreateSetupSessionBody | Unset):
|
|
@@ -69,11 +69,10 @@ def sync_detailed(
|
|
|
69
69
|
*,
|
|
70
70
|
client: AuthenticatedClient,
|
|
71
71
|
) -> Response[AccountResponse | Error]:
|
|
72
|
-
"""Read the account's balance
|
|
72
|
+
"""Read the account's balance and upload admission limits
|
|
73
73
|
|
|
74
|
-
Returns the caller's net credit balance,
|
|
75
|
-
|
|
76
|
-
account's current daily-minutes and concurrent-jobs limits. Call this before create_upload to
|
|
74
|
+
Returns the caller's net credit balance, whether a card is on file, the account's data region, and
|
|
75
|
+
the account's current daily-minutes and concurrent-jobs limits. Call this before create_upload to
|
|
77
76
|
confirm there is enough balance and daily headroom for the upload about to be attempted.
|
|
78
77
|
|
|
79
78
|
Raises:
|
|
@@ -97,11 +96,10 @@ def sync(
|
|
|
97
96
|
*,
|
|
98
97
|
client: AuthenticatedClient,
|
|
99
98
|
) -> AccountResponse | Error | None:
|
|
100
|
-
"""Read the account's balance
|
|
99
|
+
"""Read the account's balance and upload admission limits
|
|
101
100
|
|
|
102
|
-
Returns the caller's net credit balance,
|
|
103
|
-
|
|
104
|
-
account's current daily-minutes and concurrent-jobs limits. Call this before create_upload to
|
|
101
|
+
Returns the caller's net credit balance, whether a card is on file, the account's data region, and
|
|
102
|
+
the account's current daily-minutes and concurrent-jobs limits. Call this before create_upload to
|
|
105
103
|
confirm there is enough balance and daily headroom for the upload about to be attempted.
|
|
106
104
|
|
|
107
105
|
Raises:
|
|
@@ -121,11 +119,10 @@ async def asyncio_detailed(
|
|
|
121
119
|
*,
|
|
122
120
|
client: AuthenticatedClient,
|
|
123
121
|
) -> Response[AccountResponse | Error]:
|
|
124
|
-
"""Read the account's balance
|
|
122
|
+
"""Read the account's balance and upload admission limits
|
|
125
123
|
|
|
126
|
-
Returns the caller's net credit balance,
|
|
127
|
-
|
|
128
|
-
account's current daily-minutes and concurrent-jobs limits. Call this before create_upload to
|
|
124
|
+
Returns the caller's net credit balance, whether a card is on file, the account's data region, and
|
|
125
|
+
the account's current daily-minutes and concurrent-jobs limits. Call this before create_upload to
|
|
129
126
|
confirm there is enough balance and daily headroom for the upload about to be attempted.
|
|
130
127
|
|
|
131
128
|
Raises:
|
|
@@ -147,11 +144,10 @@ async def asyncio(
|
|
|
147
144
|
*,
|
|
148
145
|
client: AuthenticatedClient,
|
|
149
146
|
) -> AccountResponse | Error | None:
|
|
150
|
-
"""Read the account's balance
|
|
147
|
+
"""Read the account's balance and upload admission limits
|
|
151
148
|
|
|
152
|
-
Returns the caller's net credit balance,
|
|
153
|
-
|
|
154
|
-
account's current daily-minutes and concurrent-jobs limits. Call this before create_upload to
|
|
149
|
+
Returns the caller's net credit balance, whether a card is on file, the account's data region, and
|
|
150
|
+
the account's current daily-minutes and concurrent-jobs limits. Call this before create_upload to
|
|
155
151
|
confirm there is enough balance and daily headroom for the upload about to be attempted.
|
|
156
152
|
|
|
157
153
|
Raises:
|
|
@@ -71,10 +71,10 @@ def sync_detailed(
|
|
|
71
71
|
) -> Response[Error | OrgSummaryResponse]:
|
|
72
72
|
"""Read the caller's organization summary
|
|
73
73
|
|
|
74
|
-
A pure passthrough of GET /api/org's body: plan state and term, pool balance
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
A pure passthrough of GET /api/org's body: plan state and term, pool balance, retention policy, tax
|
|
75
|
+
id, auto-renewal source and failure count, the workspace-wide default per-member cap, and the
|
|
76
|
+
caller's own effective cap and month-to-date spend against the pool. Membership only, not admin --
|
|
77
|
+
renewal_user_id is visible to admins only.
|
|
78
78
|
|
|
79
79
|
Raises:
|
|
80
80
|
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
@@ -99,10 +99,10 @@ def sync(
|
|
|
99
99
|
) -> Error | OrgSummaryResponse | None:
|
|
100
100
|
"""Read the caller's organization summary
|
|
101
101
|
|
|
102
|
-
A pure passthrough of GET /api/org's body: plan state and term, pool balance
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
102
|
+
A pure passthrough of GET /api/org's body: plan state and term, pool balance, retention policy, tax
|
|
103
|
+
id, auto-renewal source and failure count, the workspace-wide default per-member cap, and the
|
|
104
|
+
caller's own effective cap and month-to-date spend against the pool. Membership only, not admin --
|
|
105
|
+
renewal_user_id is visible to admins only.
|
|
106
106
|
|
|
107
107
|
Raises:
|
|
108
108
|
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
@@ -123,10 +123,10 @@ async def asyncio_detailed(
|
|
|
123
123
|
) -> Response[Error | OrgSummaryResponse]:
|
|
124
124
|
"""Read the caller's organization summary
|
|
125
125
|
|
|
126
|
-
A pure passthrough of GET /api/org's body: plan state and term, pool balance
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
126
|
+
A pure passthrough of GET /api/org's body: plan state and term, pool balance, retention policy, tax
|
|
127
|
+
id, auto-renewal source and failure count, the workspace-wide default per-member cap, and the
|
|
128
|
+
caller's own effective cap and month-to-date spend against the pool. Membership only, not admin --
|
|
129
|
+
renewal_user_id is visible to admins only.
|
|
130
130
|
|
|
131
131
|
Raises:
|
|
132
132
|
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
@@ -149,10 +149,10 @@ async def asyncio(
|
|
|
149
149
|
) -> Error | OrgSummaryResponse | None:
|
|
150
150
|
"""Read the caller's organization summary
|
|
151
151
|
|
|
152
|
-
A pure passthrough of GET /api/org's body: plan state and term, pool balance
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
152
|
+
A pure passthrough of GET /api/org's body: plan state and term, pool balance, retention policy, tax
|
|
153
|
+
id, auto-renewal source and failure count, the workspace-wide default per-member cap, and the
|
|
154
|
+
caller's own effective cap and month-to-date spend against the pool. Membership only, not admin --
|
|
155
|
+
renewal_user_id is visible to admins only.
|
|
156
156
|
|
|
157
157
|
Raises:
|
|
158
158
|
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
{hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/get_upload_part_urls.py
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from http import HTTPStatus
|
|
2
|
-
from typing import Any
|
|
2
|
+
from typing import Any
|
|
3
3
|
from urllib.parse import quote
|
|
4
4
|
|
|
5
5
|
import httpx
|
|
@@ -7,9 +7,7 @@ import httpx
|
|
|
7
7
|
from ... import errors
|
|
8
8
|
from ...client import AuthenticatedClient, Client
|
|
9
9
|
from ...models.error import Error
|
|
10
|
-
from ...models.
|
|
11
|
-
GetUploadPartUrlsResponse200Type0,
|
|
12
|
-
)
|
|
10
|
+
from ...models.get_upload_part_urls_response_200 import GetUploadPartUrlsResponse200
|
|
13
11
|
from ...types import UNSET, Response, Unset
|
|
14
12
|
|
|
15
13
|
|
|
@@ -38,25 +36,9 @@ def _get_kwargs(
|
|
|
38
36
|
|
|
39
37
|
def _parse_response(
|
|
40
38
|
*, client: AuthenticatedClient | Client, response: httpx.Response
|
|
41
|
-
) -> Error |
|
|
39
|
+
) -> Error | GetUploadPartUrlsResponse200 | None:
|
|
42
40
|
if response.status_code == 200:
|
|
43
|
-
|
|
44
|
-
def _parse_response_200(
|
|
45
|
-
data: object,
|
|
46
|
-
) -> GetUploadPartUrlsResponse200Type0 | None:
|
|
47
|
-
if data is None:
|
|
48
|
-
return data
|
|
49
|
-
try:
|
|
50
|
-
if not isinstance(data, dict):
|
|
51
|
-
raise TypeError()
|
|
52
|
-
response_200_type_0 = GetUploadPartUrlsResponse200Type0.from_dict(data)
|
|
53
|
-
|
|
54
|
-
return response_200_type_0
|
|
55
|
-
except (TypeError, ValueError, AttributeError, KeyError):
|
|
56
|
-
pass
|
|
57
|
-
return cast(GetUploadPartUrlsResponse200Type0 | None, data)
|
|
58
|
-
|
|
59
|
-
response_200 = _parse_response_200(response.json())
|
|
41
|
+
response_200 = GetUploadPartUrlsResponse200.from_dict(response.json())
|
|
60
42
|
|
|
61
43
|
return response_200
|
|
62
44
|
|
|
@@ -103,7 +85,7 @@ def _parse_response(
|
|
|
103
85
|
|
|
104
86
|
def _build_response(
|
|
105
87
|
*, client: AuthenticatedClient | Client, response: httpx.Response
|
|
106
|
-
) -> Response[Error |
|
|
88
|
+
) -> Response[Error | GetUploadPartUrlsResponse200]:
|
|
107
89
|
return Response(
|
|
108
90
|
status_code=HTTPStatus(response.status_code),
|
|
109
91
|
content=response.content,
|
|
@@ -117,12 +99,13 @@ def sync_detailed(
|
|
|
117
99
|
*,
|
|
118
100
|
client: AuthenticatedClient,
|
|
119
101
|
start: int | Unset = 1,
|
|
120
|
-
) -> Response[Error |
|
|
102
|
+
) -> Response[Error | GetUploadPartUrlsResponse200]:
|
|
121
103
|
"""Fetch a page of presigned direct-to-R2 part URLs
|
|
122
104
|
|
|
123
105
|
Returns a fresh page of presigned PUT URLs for the given job's direct-to-R2 upload, starting at the
|
|
124
106
|
requested part number. Presigned URLs expire, so a client resuming a stalled transfer should call
|
|
125
|
-
this again rather than reusing URLs from create_upload's response.
|
|
107
|
+
this again rather than reusing URLs from create_upload's response. Answers 404 when direct-to-R2
|
|
108
|
+
uploads are not available for the job; send the parts through upload_part then.
|
|
126
109
|
|
|
127
110
|
Args:
|
|
128
111
|
job (str):
|
|
@@ -133,7 +116,7 @@ def sync_detailed(
|
|
|
133
116
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
134
117
|
|
|
135
118
|
Returns:
|
|
136
|
-
Response[Error |
|
|
119
|
+
Response[Error | GetUploadPartUrlsResponse200]
|
|
137
120
|
"""
|
|
138
121
|
|
|
139
122
|
kwargs = _get_kwargs(
|
|
@@ -153,12 +136,13 @@ def sync(
|
|
|
153
136
|
*,
|
|
154
137
|
client: AuthenticatedClient,
|
|
155
138
|
start: int | Unset = 1,
|
|
156
|
-
) -> Error |
|
|
139
|
+
) -> Error | GetUploadPartUrlsResponse200 | None:
|
|
157
140
|
"""Fetch a page of presigned direct-to-R2 part URLs
|
|
158
141
|
|
|
159
142
|
Returns a fresh page of presigned PUT URLs for the given job's direct-to-R2 upload, starting at the
|
|
160
143
|
requested part number. Presigned URLs expire, so a client resuming a stalled transfer should call
|
|
161
|
-
this again rather than reusing URLs from create_upload's response.
|
|
144
|
+
this again rather than reusing URLs from create_upload's response. Answers 404 when direct-to-R2
|
|
145
|
+
uploads are not available for the job; send the parts through upload_part then.
|
|
162
146
|
|
|
163
147
|
Args:
|
|
164
148
|
job (str):
|
|
@@ -169,7 +153,7 @@ def sync(
|
|
|
169
153
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
170
154
|
|
|
171
155
|
Returns:
|
|
172
|
-
Error |
|
|
156
|
+
Error | GetUploadPartUrlsResponse200
|
|
173
157
|
"""
|
|
174
158
|
|
|
175
159
|
return sync_detailed(
|
|
@@ -184,12 +168,13 @@ async def asyncio_detailed(
|
|
|
184
168
|
*,
|
|
185
169
|
client: AuthenticatedClient,
|
|
186
170
|
start: int | Unset = 1,
|
|
187
|
-
) -> Response[Error |
|
|
171
|
+
) -> Response[Error | GetUploadPartUrlsResponse200]:
|
|
188
172
|
"""Fetch a page of presigned direct-to-R2 part URLs
|
|
189
173
|
|
|
190
174
|
Returns a fresh page of presigned PUT URLs for the given job's direct-to-R2 upload, starting at the
|
|
191
175
|
requested part number. Presigned URLs expire, so a client resuming a stalled transfer should call
|
|
192
|
-
this again rather than reusing URLs from create_upload's response.
|
|
176
|
+
this again rather than reusing URLs from create_upload's response. Answers 404 when direct-to-R2
|
|
177
|
+
uploads are not available for the job; send the parts through upload_part then.
|
|
193
178
|
|
|
194
179
|
Args:
|
|
195
180
|
job (str):
|
|
@@ -200,7 +185,7 @@ async def asyncio_detailed(
|
|
|
200
185
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
201
186
|
|
|
202
187
|
Returns:
|
|
203
|
-
Response[Error |
|
|
188
|
+
Response[Error | GetUploadPartUrlsResponse200]
|
|
204
189
|
"""
|
|
205
190
|
|
|
206
191
|
kwargs = _get_kwargs(
|
|
@@ -218,12 +203,13 @@ async def asyncio(
|
|
|
218
203
|
*,
|
|
219
204
|
client: AuthenticatedClient,
|
|
220
205
|
start: int | Unset = 1,
|
|
221
|
-
) -> Error |
|
|
206
|
+
) -> Error | GetUploadPartUrlsResponse200 | None:
|
|
222
207
|
"""Fetch a page of presigned direct-to-R2 part URLs
|
|
223
208
|
|
|
224
209
|
Returns a fresh page of presigned PUT URLs for the given job's direct-to-R2 upload, starting at the
|
|
225
210
|
requested part number. Presigned URLs expire, so a client resuming a stalled transfer should call
|
|
226
|
-
this again rather than reusing URLs from create_upload's response.
|
|
211
|
+
this again rather than reusing URLs from create_upload's response. Answers 404 when direct-to-R2
|
|
212
|
+
uploads are not available for the job; send the parts through upload_part then.
|
|
227
213
|
|
|
228
214
|
Args:
|
|
229
215
|
job (str):
|
|
@@ -234,7 +220,7 @@ async def asyncio(
|
|
|
234
220
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
235
221
|
|
|
236
222
|
Returns:
|
|
237
|
-
Error |
|
|
223
|
+
Error | GetUploadPartUrlsResponse200
|
|
238
224
|
"""
|
|
239
225
|
|
|
240
226
|
return (
|