Upgrading wandb 0.22 to 0.23
Unknown0.22.3 → 0.23.1Deprecated1New8Changed4Fixed12
UnknownUpgrade verdict
2 of 4 releases publish no notes, so breaking changes can't be ruled out.
In plain terms
- Some releases in this range publish no notes, so DepDelta can't rule out breaking changes.
- DepDelta found no commit log for them either.
Must act 1 item needs code or config changes
Deprecations to plan for
Deprecated1
Deprecates anonymous mode, including the
anonymous setting, WANDB_ANONYMOUS, wandb.init(anonymous=...), wandb login --anonymously and wandb.login(anonymous=...), which now emit warnings.anonymousWANDB_ANONYMOUSwandb.init()wandb loginwandb.login()API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- changed:
function login(anonymous: Optional[Literal['must', 'allow', 'never']]=…, key: Optional[str]=…, relogin: Optional[bool]=…, host: Optional[str]=…, force: Optional[bool]=…, timeout: Optional[int]=…, verify: bool=…, referrer: Optional[str]=…) -> bool → function login(key: str | None=…, relogin: bool | None=…, host: str | None=…, force: bool | None=…, timeout: int | None=…, verify: bool=…, referrer: str | None=…, anonymous: DoNotSet=…) -> bool
- removed:
export Sentry - added:
export get_sentry
- removed:
method Sentry.setup() -> None - changed:
constructor Sentry() -> None → constructor Sentry(*, pid: int) -> None - added:
function get_sentry() -> Sentry - added:
variable SENTRY_DEFAULT_DSN - added:
variable SessionStatus
- removed:
method Api.create_anonymous_api_key() -> str - removed:
property Api.git
- removed:
variable T - changed:
class Paginator(Iterator[T]) → class Paginator(Iterator[_WandbT], ABC) - changed:
class SizedPaginator(Paginator[T], Sized) → class SizedPaginator(Paginator[_WandbT], Sized, ABC) - changed:
field Paginator.QUERY: ClassVar[Document | None] → field Paginator.QUERY: Document | ClassVar[Document | None] - changed:
method Paginator.convert_objects() -> list[T] → method Paginator.convert_objects() -> Iterable[_WandbT] - added:
class RelayPaginator(Paginator[_WandbT], Generic[_NodeT, _WandbT], ABC) - added:
class SizedRelayPaginator(RelayPaginator[_NodeT, _WandbT], Sized, ABC) - added:
field RelayPaginator.last_response: Connection[_NodeT] | None - added:
field SizedRelayPaginator.last_response: Connection[_NodeT] | None - added:
method RelayPaginator.convert_objects() -> Iterable[_WandbT] - added:
property RelayPaginator.cursor -> str | None - added:
property RelayPaginator.more -> bool
- removed:
export requests
- removed:
function server_supports_artifact_collections_gql_edges(client: RetryingClient, warn: bool=…) -> bool - removed:
method ArtifactCollections.convert_objects() -> list[ArtifactCollection] - removed:
method ArtifactCollections.update_variables() -> None - removed:
method ArtifactFiles.convert_objects() -> list[public.File] - removed:
method ArtifactTypes.convert_objects() -> list[ArtifactType] - removed:
method ArtifactTypes.update_variables() -> None - removed:
method RunArtifacts.convert_objects() -> list[Artifact] - removed:
property ArtifactCollections.cursor -> str | None - removed:
property ArtifactCollections.more -> bool - removed:
property ArtifactFiles.cursor -> str | None - removed:
property ArtifactFiles.more -> bool - removed:
property ArtifactTypes.cursor -> str | None - removed:
property ArtifactTypes.more -> bool - removed:
property Artifacts.cursor -> str | None - removed:
property Artifacts.more -> bool - removed:
property RunArtifacts.cursor -> str | None - removed:
property RunArtifacts.more -> bool - changed:
class ArtifactCollections(SizedPaginator['ArtifactCollection']) → class ArtifactCollections(SizedRelayPaginator['ArtifactCollectionFragment', 'ArtifactCollection']) - changed:
class ArtifactFiles(SizedPaginator['public.File']) → class ArtifactFiles(SizedRelayPaginator['FileFragment', 'File']) - changed:
class ArtifactTypes(Paginator['ArtifactType']) → class ArtifactTypes(RelayPaginator['ArtifactTypeFragment', 'ArtifactType']) - changed:
class Artifacts(SizedPaginator['Artifact']) → class Artifacts(SizedRelayPaginator['ArtifactFragment', 'Artifact']) - changed:
class RunArtifacts(SizedPaginator['Artifact']) → class RunArtifacts(SizedRelayPaginator['ArtifactFragment', 'Artifact']) - changed:
field ArtifactTypes.QUERY → field ArtifactTypes.QUERY: ClassVar[Document | None] - changed:
field Artifacts.last_response: _ArtifactConnection | None → field Artifacts.last_response: _ArtifactConnectionGeneric | None - changed:
field RunArtifacts.last_response: RunArtifactConnection | None → field RunArtifacts.last_response: ConnectionWithTotal[ArtifactFragment] | None - changed:
method ArtifactCollection.load(entity: str, project: str, artifact_type: str, name: str) -> ArtifactCollectionFragment → method ArtifactCollection.load(entity: str, project: str, type_: str, name: str) -> ArtifactCollectionFragment - added:
field ArtifactCollections.QUERY: ClassVar[Document | None] - added:
field ArtifactFiles.QUERY: Document - added:
field Artifacts.QUERY: Document - added:
field RunArtifacts.QUERY: Document - added:
variable TNode
- removed:
property Automations.cursor -> str | None - removed:
property Automations.more -> bool - changed:
class Automations(Paginator['Automation']) → class Automations(RelayPaginator['ProjectTriggersFields', 'Automation']) - changed:
constructor Automations(client: _Client, variables: Mapping[str, Any], per_page: int=…, _query: Document | None=…) → constructor Automations(client: _Client, variables: Mapping[str, Any], per_page: int=…, *, _query: Document) - changed:
field Automations.last_response: ProjectConnectionFields | None → field Automations.last_response: Connection[ProjectTriggersFields] | None - changed:
method Automations.convert_objects() -> Iterable[Automation] → method Automations.convert_objects() -> Iterator[Automation] - added:
field Automations.QUERY: Document
- changed:
constructor HistoryScan(client: api.RetryingClient, run: api.public.runs.Run, min_step: int, max_step: int, page_size: int=…) → constructor HistoryScan(client: api.RetryingClient, run: runs.Run, min_step: int, max_step: int, page_size: int=…) - added:
class BetaHistoryScan - added:
constructor BetaHistoryScan(api: public.Api, run: runs.Run, min_step: int, max_step: int, keys: list[str] | None=…, page_size: int=…, use_cache: bool=…) - added:
static method BetaHistoryScan.cleanup(api: public.Api, request_id: int)
- removed:
constructor SlackIntegrations(client: _Client, variables: dict[str, Any], per_page: int=…) - removed:
constructor WebhookIntegrations(client: _Client, variables: dict[str, Any], per_page: int=…) - removed:
field SlackIntegrations.last_response: SlackIntegrationConnectionFields | None - removed:
field WebhookIntegrations.last_response: GenericWebhookIntegrationConnectionFields | None - removed:
method Integrations.convert_objects() -> Iterable[Integration] - removed:
method SlackIntegrations.convert_objects() -> Iterable[SlackIntegration] - removed:
method WebhookIntegrations.convert_objects() -> Iterable[WebhookIntegration] - removed:
property Integrations.cursor -> str | None - removed:
property Integrations.more -> bool - removed:
property SlackIntegrations.cursor -> str | None - removed:
property SlackIntegrations.more -> bool - removed:
property WebhookIntegrations.cursor -> str | None - removed:
property WebhookIntegrations.more -> bool - changed:
class Integrations(Paginator['Integration']) → class Integrations(RelayPaginator['IntegrationFields', 'Integration']) - changed:
class SlackIntegrations(Paginator['SlackIntegration']) → class SlackIntegrations(Integrations) - changed:
class WebhookIntegrations(Paginator['WebhookIntegration']) → class WebhookIntegrations(Integrations) - changed:
field Integrations.last_response: IntegrationConnectionFields | None → field Integrations.last_response: Connection[IntegrationFields] | None - added:
field Integrations.QUERY: ClassVar[Document | None] - added:
variable IntegrationFields
- removed:
method Collections.convert_objects() - removed:
method Registries.convert_objects() - removed:
method Versions.convert_objects() -> list[Artifact] - removed:
property Collections.cursor - removed:
property Collections.length - removed:
property Collections.more - removed:
property Registries.cursor - removed:
property Registries.more - removed:
property Versions.cursor -> str | None - removed:
property Versions.more -> bool - changed:
class Collections(Paginator[ArtifactCollection]) → class Collections(SizedRelayPaginator['RegistryCollectionFragment', 'ArtifactCollection']) - changed:
class Registries(Paginator) → class Registries(RelayPaginator['RegistryFragment', 'Registry']) - changed:
class Versions(Paginator['Artifact']) → class Versions(RelayPaginator['ArtifactMembershipFragment', 'Artifact']) - changed:
field Collections.QUERY → field Collections.QUERY: ClassVar[Document | None] - changed:
field Registries.QUERY → field Registries.QUERY: ClassVar[Document | None] - added:
field Versions.QUERY: Document
- removed:
property Registry.description -> str - changed:
static method Registry.create(client: Client, organization: str, name: str, visibility: Literal['organization', 'restricted'], description: str | None=…, artifact_types: list[str] | None=…) → static method Registry.create(client: Client, organization: str, name: str, visibility: Literal['organization', 'restricted'], description: str | None=…, artifact_types: list[str] | None=…) -> Self - added:
method Registry.add_members(*members: User | UserMember | Team | TeamMember | str) -> Self - added:
method Registry.members() -> list[UserMember | TeamMember] - added:
method Registry.remove_members(*members: User | UserMember | Team | TeamMember | str) -> Self - added:
method Registry.team_members() -> list[TeamMember] - added:
method Registry.update_member(member: User | UserMember | Team | TeamMember | str, role: MemberRole | str) -> Self - added:
method Registry.user_members() -> list[UserMember] - added:
property Registry.description -> str | None - added:
property Registry.id -> str
- changed:
constructor Run(client: RetryingClient, entity: str, project: str, run_id: str, attrs: Mapping | None=…, include_sweeps: bool=…, lazy: bool=…) → constructor Run(client: RetryingClient, entity: str, project: str, run_id: str, attrs: Mapping | None=…, include_sweeps: bool=…, lazy: bool=…, api: public.Api | None=…) - changed:
constructor Runs(client: RetryingClient, entity: str, project: str, filters: dict[str, Any] | None=…, order: str=…, per_page: int=…, include_sweeps: bool=…, lazy: bool=…) → constructor Runs(client: RetryingClient, entity: str, project: str, filters: dict[str, Any] | None=…, order: str=…, per_page: int=…, include_sweeps: bool=…, lazy: bool=…, api: public.Api | None=…) - added:
method Run.beta_scan_history(keys: list[str] | None=…, page_size=…, min_step=…, max_step=…, use_cache=…) -> public.BetaHistoryScan
- added:
export MetricZScoreFilter - added:
export OnRunState - added:
export RunStateFilter
- added:
export MetricZScoreFilter - added:
field EventType.RUN_METRIC_ZSCORE - added:
field EventType.RUN_STATE - added:
field RunEvent.state
- changed:
class WebhookIntegration(GenericWebhookIntegrationFields) → class WebhookIntegration(WebhookIntegrationFields)
- changed:
constructor DynamicBlock() → constructor DynamicBlock() -> None - added:
class NotATerminalError(Exception) - added:
function can_use_terminput() -> bool - added:
function terminput(prompt: str, *, timeout: float | None=…, hide: bool=…) -> str
- changed:
function sagemaker_auth(overrides=…, path=…, api_key=…) → function sagemaker_auth(overrides: dict[str, Any] | None=…, path: str=…, api_key: str | None=…) -> None
- changed:
method Settings.items(section=…) → method Settings.items(section: str=…)
- removed:
variable ReadRunHistoryApiRequest - removed:
variable ReadRunHistoryApiResponse - added:
variable ApiErrorResponse - added:
variable ReadRunHistoryRequest - added:
variable ReadRunHistoryResponse - added:
variable RunHistoryResponse - added:
variable ScanRunHistory - added:
variable ScanRunHistoryCleanup - added:
variable ScanRunHistoryCleanupResponse - added:
variable ScanRunHistoryInit - added:
variable ScanRunHistoryInitResponse - added:
variable ServerApiInitRequest - added:
variable ServerApiInitResponse
- added:
variable TOTAL_COUNT_IN_FILE_CONNECTION
- removed:
class Deprecated - removed:
field Deprecated.api__artifact_versions: DEPRECATED_FEATURES - removed:
field Deprecated.artifact__get_path: DEPRECATED_FEATURES - removed:
field Deprecated.artifact__init_use_as: DEPRECATED_FEATURES - removed:
field Deprecated.artifact__use_as: DEPRECATED_FEATURES - removed:
field Deprecated.artifact_collection__change_type: DEPRECATED_FEATURES - removed:
field Deprecated.artifactmanifestentry__name: DEPRECATED_FEATURES - removed:
field Deprecated.beta__workflows__link_model: DEPRECATED_FEATURES - removed:
field Deprecated.beta__workflows__log_model: DEPRECATED_FEATURES - removed:
field Deprecated.beta__workflows__use_model: DEPRECATED_FEATURES - removed:
field Deprecated.init__config_exclude_keys: DEPRECATED_FEATURES - removed:
field Deprecated.init__config_include_keys: DEPRECATED_FEATURES - removed:
field Deprecated.keras_callback: DEPRECATED_FEATURES - removed:
field Deprecated.keras_callback__data_type: DEPRECATED_FEATURES - removed:
field Deprecated.keras_callback__save_model: DEPRECATED_FEATURES - removed:
field Deprecated.langchain_tracer: DEPRECATED_FEATURES - removed:
field Deprecated.plots: DEPRECATED_FEATURES - removed:
field Deprecated.run__define_metric_best_goal: DEPRECATED_FEATURES - removed:
field Deprecated.run__define_metric_copy: DEPRECATED_FEATURES - removed:
field Deprecated.run__finish_quiet: DEPRECATED_FEATURES - removed:
field Deprecated.run__get_project_url: DEPRECATED_FEATURES - removed:
field Deprecated.run__get_sweep_url: DEPRECATED_FEATURES - removed:
field Deprecated.run__get_url: DEPRECATED_FEATURES - removed:
field Deprecated.run__project_name: DEPRECATED_FEATURES - removed:
field Deprecated.run__reinit_bool: DEPRECATED_FEATURES - removed:
field Deprecated.run__use_artifact_use_as: DEPRECATED_FEATURES - removed:
field Deprecated.run_disabled: DEPRECATED_FEATURES - removed:
variable DEPRECATED_FEATURES
- removed:
function generate_deprecated_class_definition() -> None
- removed:
export _sync
- changed:
method Artifact.link(target_path: str, aliases: list[str] | None=…) -> Artifact → method Artifact.link(target_path: str, aliases: Iterable[str] | None=…) -> Artifact
- added:
variable artifact_instance_cache_by_client_id: dict[str, Artifact]
- changed:
static method ArtifactManifest.from_manifest_json(manifest_json: dict[str, Any], api: InternalApi | None=…) -> ArtifactManifest → static method ArtifactManifest.from_manifest_json(manifest_json: dict[str, Any]) -> ArtifactManifest
- changed:
static method ArtifactManifestV1.from_manifest_json(manifest_json: dict[str, Any], api: InternalApi | None=…) -> ArtifactManifestV1 → static method ArtifactManifestV1.from_manifest_json(manifest_json: dict[str, Any]) -> ArtifactManifestV1
- changed:
method GCSHandler.init_gcs() -> gcs_module.client.Client → method GCSHandler.init_gcs() -> storage.Client
- changed:
class StorageLayout → class StorageLayout(str, Enum) - added:
static method StorageLayout.from_env() -> StorageLayout
- changed:
constructor WandbStoragePolicy(config: dict[str, Any] | None=…, cache: ArtifactFileCache | None=…, api: InternalApi | None=…, session: requests.Session | None=…) -> None → constructor WandbStoragePolicy(config: StoragePolicyConfig | None=…, cache: ArtifactFileCache | None=…, api: InternalApi | None=…) -> None - changed:
static method WandbStoragePolicy.from_config(config: dict[str, Any], api: InternalApi | None=…) -> WandbStoragePolicy → static method WandbStoragePolicy.from_config(config: StoragePolicyConfig) -> WandbStoragePolicy
- changed:
static method StoragePolicy.from_config(config: dict[str, Any], api: InternalApi | None=…) -> StoragePolicy → static method StoragePolicy.from_config(config: StoragePolicyConfig) -> StoragePolicy
- changed:
constructor Backend(settings: Settings, service: Optional[service_connection.ServiceConnection]=…) -> None → constructor Backend(settings: Settings, service: service_connection.ServiceConnection | None=…) -> None - changed:
field Backend.interface: Optional[InterfaceBase] → field Backend.interface: InterfaceBase | None
- removed:
class FilesDict(TypedDict) - removed:
field FilesDict.files: Iterable[Tuple[GlobStr, PolicyName]] - removed:
variable GlobStr - removed:
variable PolicyName - changed:
method InterfaceBase.deliver_artifact(run: Run, artifact: Artifact, aliases: Iterable[str], tags: Optional[Iterable[str]]=…, history_step: Optional[int]=…, is_user_created: bool=…, use_after_commit: bool=…, finalize: bool=…) -> MailboxHandle[pb.Result] → method InterfaceBase.deliver_artifact(run: Run, artifact: Artifact, aliases: Iterable[str], tags: Iterable[str] | None=…, history_step: int | None=…, is_user_created: bool=…, use_after_commit: bool=…, finalize: bool=…) -> MailboxHandle[pb.Result] - changed:
method InterfaceBase.deliver_download_artifact(artifact_id: str, download_root: str, allow_missing_references: bool, skip_cache: bool, path_prefix: Optional[str]) -> MailboxHandle[pb.Result] → method InterfaceBase.deliver_download_artifact(artifact_id: str, download_root: str, allow_missing_references: bool, skip_cache: bool, path_prefix: str | None) -> MailboxHandle[pb.Result] - changed:
method InterfaceBase.deliver_exit(exit_code: Optional[int]) -> MailboxHandle[pb.Result] → method InterfaceBase.deliver_exit(exit_code: int | None) -> MailboxHandle[pb.Result] - changed:
method InterfaceBase.deliver_link_artifact(artifact: Artifact, portfolio_name: str, aliases: Iterable[str], entity: Optional[str]=…, project: Optional[str]=…, organization: Optional[str]=…) -> MailboxHandle[pb.Result] → method InterfaceBase.deliver_link_artifact(artifact: Artifact, portfolio_name: str, aliases: Iterable[str], entity: str | None=…, project: str | None=…, organization: str | None=…) -> MailboxHandle[pb.Result] - changed:
method InterfaceBase.publish_artifact(run: Run, artifact: Artifact, aliases: Iterable[str], tags: Optional[Iterable[str]]=…, is_user_created: bool=…, use_after_commit: bool=…, finalize: bool=…) -> None → method InterfaceBase.publish_artifact(run: Run, artifact: Artifact, aliases: Iterable[str], tags: Iterable[str] | None=…, is_user_created: bool=…, use_after_commit: bool=…, finalize: bool=…) -> None - changed:
method InterfaceBase.publish_config(data: Optional[dict]=…, key: Optional[Union[Tuple[str, ...], str]]=…, val: Optional[Any]=…) -> None → method InterfaceBase.publish_config(data: dict | None=…, key: tuple[str, ...] | str | None=…, val: Any | None=…) -> None - changed:
method InterfaceBase.publish_exit(exit_code: Optional[int]) -> None → method InterfaceBase.publish_exit(exit_code: int | None) -> None - changed:
method InterfaceBase.publish_history(run: Run, data: dict, step: Optional[int]=…, publish_step: bool=…) -> None → method InterfaceBase.publish_history(run: Run, data: dict, step: int | None=…, publish_step: bool=…) -> None - changed:
method InterfaceBase.publish_job_input(include_paths: List[List[str]], exclude_paths: List[List[str]], input_schema: Optional[dict], run_config: bool=…, file_path: str=…) → method InterfaceBase.publish_job_input(include_paths: list[list[str]], exclude_paths: list[list[str]], input_schema: dict | None, run_config: bool=…, file_path: str=…) - changed:
method InterfaceBase.publish_partial_history(run: Run, data: dict, user_step: int, step: Optional[int]=…, flush: Optional[bool]=…, publish_step: bool=…) -> None → method InterfaceBase.publish_partial_history(run: Run, data: dict, user_step: int, step: int | None=…, flush: bool | None=…, publish_step: bool=…) -> None
- removed:
method Api.create_anonymous_api_key() -> str - removed:
property Api.access_token -> Optional[str] - removed:
property Api.api_key -> Optional[str] - removed:
property Api.current_run_id -> Optional[str] - changed:
constructor Api(default_settings: Optional[Union[wandb.sdk.wandb_settings.Settings, wandb.sdk.internal.settings_static.SettingsStatic, Settings, dict]]=…, load_settings: bool=…, retry_timedelta: datetime.timedelta=…, environ: MutableMapping=…, retry_callback: Optional[Callable[[int, str], Any]]=…, api_key: Optional[str]=…) -> None → constructor Api(default_settings: wandb.Settings | settings_static.SettingsStatic | DefaultSettings | None=…, load_settings: bool=…, retry_timedelta: datetime.timedelta | None=…, environ: MutableMapping[str, str]=…, retry_callback: Callable[[int, str], Any] | None=…, api_key: str | None=…) -> None - changed:
field CompleteMultipartUploadArtifactInput.completedParts: Dict[int, str] → field CompleteMultipartUploadArtifactInput.completedParts: dict[int, str] - changed:
field CreateArtifactFileSpecInput.artifactManifestID: Optional[str] → field CreateArtifactFileSpecInput.artifactManifestID: str | None - changed:
field CreateArtifactFileSpecInput.mimetype: Optional[str] → field CreateArtifactFileSpecInput.mimetype: str | None - changed:
field CreateArtifactFileSpecInput.uploadPartsInput: Optional[List[Dict[str, object]]] → field CreateArtifactFileSpecInput.uploadPartsInput: list[dict[str, object]] | None - changed:
field CreateArtifactFilesResponseFile.uploadUrl: Optional[str] → field CreateArtifactFilesResponseFile.uploadUrl: str | None - changed:
field DefaultSettings.api_key: Optional[str] → field DefaultSettings.api_key: str | None - changed:
field DefaultSettings.base_url: Optional[str] → field DefaultSettings.base_url: str - changed:
field DefaultSettings.entity: Optional[str] → field DefaultSettings.entity: str | None - changed:
field DefaultSettings.ignore_globs: Optional[List[str]] → field DefaultSettings.ignore_globs: list[str] - changed:
field DefaultSettings.organization: Optional[str] → field DefaultSettings.organization: str | None - changed:
field DefaultSettings.project: Optional[str] → field DefaultSettings.project: str | None - changed:
field DefaultSettings.root_dir: Optional[str] → field DefaultSettings.root_dir: str | None - changed:
field UploadPartsResponse.uploadUrlParts: List[UploadUrlParts] → field UploadPartsResponse.uploadUrlParts: list[UploadUrlParts] - changed:
method Api.ack_run_queue_item(item_id: str, run_id: Optional[str]=…) -> bool → method Api.ack_run_queue_item(item_id: str, run_id: str | None=…) -> bool - changed:
method Api.agent_heartbeat(agent_id: str, metrics: dict, run_states: dict) -> List[Dict[str, Any]] → method Api.agent_heartbeat(agent_id: str, metrics: dict, run_states: dict) -> list[dict[str, Any]] - changed:
method Api.cancel_sweep(sweep: str, entity: Optional[str]=…, project: Optional[str]=…) -> None → method Api.cancel_sweep(sweep: str, entity: str | None=…, project: str | None=…) -> None - changed:
method Api.complete_multipart_upload_artifact(artifact_id: str, storage_path: str, completed_parts: List[Dict[str, Any]], upload_id: Optional[str], complete_multipart_action: str=…) -> Optional[str] → method Api.complete_multipart_upload_artifact(artifact_id: str, storage_path: str, completed_parts: list[dict[str, Any]], upload_id: str | None, complete_multipart_action: str=…) -> str | None - changed:
method Api.create_artifact(artifact_type_name: str, artifact_collection_name: str, digest: str, client_id: Optional[str]=…, sequence_client_id: Optional[str]=…, entity_name: Optional[str]=…, project_name: Optional[str]=…, run_name: Optional[str]=…, description: Optional[str]=…, metadata: Optional[Dict]=…, ttl_duration_seconds: Optional[int]=…, aliases: Optional[List[Dict[str, str]]]=…, tags: Opti… → method Api.create_artifact(artifact_type_name: str, artifact_collection_name: str, digest: str, client_id: str | None=…, sequence_client_id: str | None=…, entity_name: str | None=…, project_name: str | None=…, run_name: str | None=…, description: str | None=…, metadata: dict | None=…, ttl_duration_seconds: int | None=…, aliases: list[dict[str, str]] | None=…, tags: list[dict[str, str]] | None=…,… - changed:
method Api.create_artifact_manifest(name: str, digest: str, artifact_id: Optional[str], base_artifact_id: Optional[str]=…, entity: Optional[str]=…, project: Optional[str]=…, run: Optional[str]=…, include_upload: bool=…, type: str=…) -> Tuple[str, Dict[str, Any]] → method Api.create_artifact_manifest(name: str, digest: str, artifact_id: str | None, base_artifact_id: str | None=…, entity: str | None=…, project: str | None=…, run: str | None=…, include_upload: bool=…, type: str=…) -> tuple[str, dict[str, Any]] - changed:
method Api.create_artifact_type(artifact_type_name: str, entity_name: Optional[str]=…, project_name: Optional[str]=…, description: Optional[str]=…) -> Optional[str] → method Api.create_artifact_type(artifact_type_name: str, entity_name: str | None=…, project_name: str | None=…, description: str | None=…) -> str | None - changed:
method Api.create_custom_chart(entity: str, name: str, display_name: str, spec_type: str, access: str, spec: Union[str, Mapping[str, Any]]) -> Optional[Dict[str, Any]] → method Api.create_custom_chart(entity: str, name: str, display_name: str, spec_type: str, access: str, spec: str | Mapping[str, Any]) -> dict[str, Any] | None - changed:
method Api.create_default_resource_config(entity: str, resource: str, config: str, template_variables: Optional[Dict[str, Union[float, int, str]]]) -> Optional[Dict[str, Any]] → method Api.create_default_resource_config(entity: str, resource: str, config: str, template_variables: dict[str, float | int | str] | None) -> dict[str, Any] | None - changed:
method Api.create_launch_agent(entity: str, project: str, queues: List[str], agent_config: Dict[str, Any], version: str, gorilla_agent_support: bool) -> dict → method Api.create_launch_agent(entity: str, project: str, queues: list[str], agent_config: dict[str, Any], version: str, gorilla_agent_support: bool) -> dict - changed:
method Api.create_launch_agent_fields_introspection() -> List → method Api.create_launch_agent_fields_introspection() -> list - changed:
method Api.create_run_queue(entity: str, project: str, queue_name: str, access: str, prioritization_mode: Optional[str]=…, config_id: Optional[str]=…) -> Optional[Dict[str, Any]] → method Api.create_run_queue(entity: str, project: str, queue_name: str, access: str, prioritization_mode: str | None=…, config_id: str | None=…) -> dict[str, Any] | None - changed:
method Api.create_run_queue_introspection() -> Tuple[bool, bool, bool] → method Api.create_run_queue_introspection() -> tuple[bool, bool, bool] - changed:
method Api.download_file(url: str) -> Tuple[int, requests.Response] → method Api.download_file(url: str) -> tuple[int, requests.Response] - changed:
method Api.download_url(project: str, file_name: str, run: Optional[str]=…, entity: Optional[str]=…) -> Optional[Dict[str, str]] → method Api.download_url(project: str, file_name: str, run: str | None=…, entity: str | None=…) -> dict[str, str] | None - changed:
method Api.download_urls(project: str, run: Optional[str]=…, entity: Optional[str]=…) -> Dict[str, Dict[str, str]] → method Api.download_urls(project: str, run: str | None=…, entity: str | None=…) -> dict[str, dict[str, str]] - changed:
method Api.download_write_file(metadata: Dict[str, str], out_dir: Optional[str]=…) -> Tuple[str, Optional[requests.Response]] → method Api.download_write_file(metadata: dict[str, str], out_dir: str | None=…) -> tuple[str, requests.Response | None] - changed:
method Api.fail_run_queue_item(run_queue_item_id: str, message: str, stage: str, file_paths: Optional[List[str]]=…) -> bool → method Api.fail_run_queue_item(run_queue_item_id: str, message: str, stage: str, file_paths: list[str] | None=…) -> bool - changed:
method Api.fail_run_queue_item_fields_introspection() -> List → method Api.fail_run_queue_item_fields_introspection() -> list - changed:
method Api.get_project_run_queues(entity: str, project: str) -> List[Dict[str, str]] → method Api.get_project_run_queues(entity: str, project: str) -> list[dict[str, str]] - changed:
method Api.get_sweep_state(sweep: str, entity: Optional[str]=…, project: Optional[str]=…) -> SweepState → method Api.get_sweep_state(sweep: str, entity: str | None=…, project: str | None=…) -> SweepState - changed:
method Api.launch_agent_introspection() -> Optional[str] → method Api.launch_agent_introspection() -> str | None - changed:
method Api.legacy_upload_urls(project: str, files: Union[List[str], Dict[str, IO]], run: Optional[str]=…, entity: Optional[str]=…, description: Optional[str]=…) -> Tuple[str, List[str], Dict[str, Dict[str, Any]]] → method Api.legacy_upload_urls(project: str, files: list[str] | dict[str, IO], run: str | None=…, entity: str | None=…, description: str | None=…) -> tuple[str, list[str], dict[str, dict[str, Any]]] - changed:
method Api.link_artifact(client_id: str, server_id: str, portfolio_name: str, entity: str, project: str, aliases: Sequence[str], organization: str) -> Dict[str, Any] → method Api.link_artifact(client_id: str, server_id: str, portfolio_name: str, entity: str, project: str, aliases: Sequence[str], organization: str) -> dict[str, Any] - changed:
method Api.list_projects(entity: Optional[str]=…) -> List[Dict[str, str]] → method Api.list_projects(entity: str | None=…) -> list[dict[str, str]] - changed:
method Api.list_runs(project: str, entity: Optional[str]=…) -> List[Dict[str, str]] → method Api.list_runs(project: str, entity: str | None=…) -> list[dict[str, str]] - changed:
method Api.max_cli_version() -> Optional[str] → method Api.max_cli_version() -> str | None - changed:
method Api.notify_scriptable_run_alert(title: str, text: str, level: Optional[str]=…, wait_duration: Optional[Number]=…) -> bool → method Api.notify_scriptable_run_alert(title: str, text: str, level: str | None=…, wait_duration: Number | None=…) -> bool - changed:
method Api.parse_slug(slug: str, project: Optional[str]=…, run: Optional[str]=…) -> Tuple[str, str] → method Api.parse_slug(slug: str, project: str | None=…, run: str | None=…) -> tuple[str, str] - changed:
method Api.pause_sweep(sweep: str, entity: Optional[str]=…, project: Optional[str]=…) -> None → method Api.pause_sweep(sweep: str, entity: str | None=…, project: str | None=…) -> None - changed:
method Api.pop_from_run_queue(queue_name: str, entity: Optional[str]=…, project: Optional[str]=…, agent_id: Optional[str]=…) -> Optional[Dict[str, Any]] → method Api.pop_from_run_queue(queue_name: str, entity: str | None=…, project: str | None=…, agent_id: str | None=…) -> dict[str, Any] | None - changed:
method Api.project(project: str, entity: Optional[str]=…) -> _Response → method Api.project(project: str, entity: str | None=…) -> _Response - changed:
method Api.pull(project: str, run: Optional[str]=…, entity: Optional[str]=…) -> List[requests.Response] → method Api.pull(project: str, run: str | None=…, entity: str | None=…) -> list[requests.Response] - changed:
method Api.push(files: Union[List[str], Dict[str, IO]], run: Optional[str]=…, entity: Optional[str]=…, project: Optional[str]=…, description: Optional[str]=…, force: bool=…, progress: Union[TextIO, Literal[False]]=…) -> List[Optional[requests.Response]] → method Api.push(files: list[str] | dict[str, IO], run: str | None=…, entity: str | None=…, project: str | None=…, description: str | None=…, force: bool=…, progress: TextIO | Literal[False]=…) -> list[requests.Response | None] - changed:
method Api.push_to_run_queue(queue_name: str, launch_spec: Dict[str, str], template_variables: Optional[dict], project_queue: str, priority: Optional[int]=…) -> Optional[Dict[str, Any]] → method Api.push_to_run_queue(queue_name: str, launch_spec: dict[str, str], template_variables: dict | None, project_queue: str, priority: int | None=…) -> dict[str, Any] | None - changed:
method Api.push_to_run_queue_by_name(entity: str, project: str, queue_name: str, run_spec: str, template_variables: Optional[Dict[str, Union[int, float, str]]], priority: Optional[int]=…) -> Optional[Dict[str, Any]] → method Api.push_to_run_queue_by_name(entity: str, project: str, queue_name: str, run_spec: str, template_variables: dict[str, int | float | str] | None, priority: int | None=…) -> dict[str, Any] | None - changed:
method Api.push_to_run_queue_introspection() -> Tuple[bool, bool] → method Api.push_to_run_queue_introspection() -> tuple[bool, bool] - changed:
method Api.register_agent(host: str, sweep_id: Optional[str]=…, project_name: Optional[str]=…, entity: Optional[str]=…) -> dict → method Api.register_agent(host: str, sweep_id: str | None=…, project_name: str | None=…, entity: str | None=…) -> dict - changed:
method Api.resume_sweep(sweep: str, entity: Optional[str]=…, project: Optional[str]=…) -> None → method Api.resume_sweep(sweep: str, entity: str | None=…, project: str | None=…) -> None - changed:
method Api.rewind_run(run_name: str, metric_name: str, metric_value: float, program_path: Optional[str]=…, entity: Optional[str]=…, project: Optional[str]=…, num_retries: Optional[int]=…) -> dict → method Api.rewind_run(run_name: str, metric_name: str, metric_value: float, program_path: str | None=…, entity: str | None=…, project: str | None=…, num_retries: int | None=…) -> dict - changed:
method Api.run_config(project: str, run: Optional[str]=…, entity: Optional[str]=…) -> Tuple[str, Dict[str, Any], Optional[str], Dict[str, Any]] → method Api.run_config(project: str, run: str | None=…, entity: str | None=…) -> tuple[str, dict[str, Any], str | None, dict[str, Any]] - changed:
method Api.run_resume_status(entity: str, project_name: str, name: str) -> Optional[Dict[str, Any]] → method Api.run_resume_status(entity: str, project_name: str, name: str) -> dict[str, Any] | None - changed:
method Api.server_artifact_introspection() -> List[str] → method Api.server_artifact_introspection() -> list[str] - changed:
method Api.server_create_artifact_file_spec_input_introspection() -> List → method Api.server_create_artifact_file_spec_input_introspection() -> list - changed:
method Api.server_create_artifact_introspection() -> List[str] → method Api.server_create_artifact_introspection() -> list[str] - changed:
method Api.server_info_introspection() -> Tuple[List[str], List[str], List[str]] → method Api.server_info_introspection() -> tuple[list[str], list[str], list[str]] - changed:
method Api.server_organization_type_introspection() -> List[str] → method Api.server_organization_type_introspection() -> list[str] - changed:
method Api.server_use_artifact_input_introspection() -> List → method Api.server_use_artifact_input_introspection() -> list - changed:
method Api.set_local_context(api_context: Optional[context.Context]) -> None → method Api.set_local_context(api_context: context.Context | None) -> None - changed:
method Api.set_sweep_state(sweep: str, state: SweepState, entity: Optional[str]=…, project: Optional[str]=…) -> None → method Api.set_sweep_state(sweep: str, state: SweepState, entity: str | None=…, project: str | None=…) -> None - changed:
method Api.settings(key: Optional[str]=…, section: Optional[str]=…) -> Any → method Api.settings(key: None=…, section: str=…) -> dict[str, Any] | (key: str, section: str=…) -> Any - changed:
method Api.stop_sweep(sweep: str, entity: Optional[str]=…, project: Optional[str]=…) -> None → method Api.stop_sweep(sweep: str, entity: str | None=…, project: str | None=…) -> None - changed:
method Api.sweep(sweep: str, specs: str, project: Optional[str]=…, entity: Optional[str]=…) -> Dict[str, Any] → method Api.sweep(sweep: str, specs: str, project: str | None=…, entity: str | None=…) -> dict[str, Any] - changed:
method Api.update_artifact_manifest(artifact_manifest_id: str, base_artifact_id: Optional[str]=…, digest: Optional[str]=…, include_upload: Optional[bool]=…) -> Tuple[str, Dict[str, Any]] → method Api.update_artifact_manifest(artifact_manifest_id: str, base_artifact_id: str | None=…, digest: str | None=…, include_upload: bool | None=…) -> tuple[str, dict[str, Any]] - changed:
method Api.update_artifact_metadata(artifact_id: str, metadata: Dict[str, Any]) -> Dict[str, Any] → method Api.update_artifact_metadata(artifact_id: str, metadata: dict[str, Any]) -> dict[str, Any] - changed:
method Api.update_run_queue_item_warning(run_queue_item_id: str, message: str, stage: str, file_paths: Optional[List[str]]=…) -> bool → method Api.update_run_queue_item_warning(run_queue_item_id: str, message: str, stage: str, file_paths: list[str] | None=…) -> bool - changed:
method Api.upload_file(url: str, file: IO[bytes], callback: Optional[ProgressFn]=…, extra_headers: Optional[Dict[str, str]]=…) -> Optional[requests.Response] → method Api.upload_file(url: str, file: IO[bytes], callback: ProgressFn | None=…, extra_headers: dict[str, str] | None=…) -> requests.Response | None - changed:
method Api.upload_file_azure(url: str, file: Any, extra_headers: Dict[str, str]) -> None → method Api.upload_file_azure(url: str, file: Any, extra_headers: dict[str, str]) -> None - changed:
method Api.upload_multipart_file_chunk(url: str, upload_chunk: bytes, extra_headers: Optional[Dict[str, str]]=…) -> Optional[requests.Response] → method Api.upload_multipart_file_chunk(url: str, upload_chunk: bytes, extra_headers: dict[str, str] | None=…) -> requests.Response | None - changed:
method Api.upload_urls(project: str, files: Union[List[str], Dict[str, IO]], run: Optional[str]=…, entity: Optional[str]=…, description: Optional[str]=…) -> Tuple[str, List[str], Dict[str, Dict[str, Any]]] → method Api.upload_urls(project: str, files: list[str] | dict[str, IO], run: str | None=…, entity: str | None=…, description: str | None=…) -> tuple[str, list[str], dict[str, dict[str, Any]]] - changed:
method Api.upsert_project(project: str, id: Optional[str]=…, description: Optional[str]=…, entity: Optional[str]=…) -> Dict[str, Any] → method Api.upsert_project(project: str, id: str | None=…, description: str | None=…, entity: str | None=…) -> dict[str, Any] - changed:
method Api.upsert_run(id: Optional[str]=…, name: Optional[str]=…, project: Optional[str]=…, host: Optional[str]=…, group: Optional[str]=…, tags: Optional[List[str]]=…, config: Optional[dict]=…, description: Optional[str]=…, entity: Optional[str]=…, state: Optional[str]=…, display_name: Optional[str]=…, notes: Optional[str]=…, repo: Optional[str]=…, job_type: Optional[str]=…, program_path: Optiona… → method Api.upsert_run(id: str | None=…, name: str | None=…, project: str | None=…, host: str | None=…, group: str | None=…, tags: list[str] | None=…, config: dict | None=…, description: str | None=…, entity: str | None=…, state: str | None=…, display_name: str | None=…, notes: str | None=…, repo: str | None=…, job_type: str | None=…, program_path: str | None=…, commit: str | None=…, sweep_name: s… - changed:
method Api.upsert_run_queue(queue_name: str, entity: str, resource_type: str, resource_config: dict, project: str=…, prioritization_mode: Optional[str]=…, template_variables: Optional[dict]=…, external_links: Optional[dict]=…) -> Optional[Dict[str, Any]] → method Api.upsert_run_queue(queue_name: str, entity: str, resource_type: str, resource_config: dict, project: str=…, prioritization_mode: str | None=…, template_variables: dict | None=…, external_links: dict | None=…) -> dict[str, Any] | None - changed:
method Api.upsert_sweep(config: dict, controller: Optional[str]=…, launch_scheduler: Optional[str]=…, scheduler: Optional[str]=…, obj_id: Optional[str]=…, project: Optional[str]=…, entity: Optional[str]=…, state: Optional[str]=…, prior_runs: Optional[List[str]]=…, display_name: Optional[str]=…, template_variable_values: Optional[Dict[str, Any]]=…) -> Tuple[str, List[str]] → method Api.upsert_sweep(config: dict, controller: str | None=…, launch_scheduler: str | None=…, scheduler: str | None=…, obj_id: str | None=…, project: str | None=…, entity: str | None=…, state: str | None=…, prior_runs: list[str] | None=…, display_name: str | None=…, template_variable_values: dict[str, Any] | None=…) -> tuple[str, list[str]] - changed:
method Api.use_artifact(artifact_id: str, entity_name: Optional[str]=…, project_name: Optional[str]=…, run_name: Optional[str]=…, artifact_entity_name: Optional[str]=…, artifact_project_name: Optional[str]=…, use_as: Optional[str]=…) -> Optional[Dict[str, Any]] → method Api.use_artifact(artifact_id: str, entity_name: str | None=…, project_name: str | None=…, run_name: str | None=…, artifact_entity_name: str | None=…, artifact_project_name: str | None=…, use_as: str | None=…) -> dict[str, Any] | None - changed:
method Api.viewer() -> Dict[str, Any] → method Api.viewer() -> dict[str, Any] - changed:
method Api.viewer_server_info() -> Tuple[Dict[str, Any], Dict[str, Any]] → method Api.viewer_server_info() -> tuple[dict[str, Any], dict[str, Any]] - added:
property Api.access_token -> str | None - added:
property Api.api_key -> str | None - added:
property Api.current_run_id -> str | None
- removed:
class WriteNetrcError(Exception) - removed:
function api_key(settings: Settings | None=…) -> str | None - removed:
function check_netrc_access(netrc_path: str) -> _NetrcPermissions - removed:
function get_netrc_file_path() -> str - removed:
function prompt_api_key(settings: Settings, api: InternalApi | None=…, input_callback: Callable | None=…, browser_callback: Callable | None=…, no_offline: bool=…, no_create: bool=…, local: bool=…, referrer: str | None=…) -> str | bool | None - removed:
function write_key(settings: Settings, key: str | None, api: InternalApi | None=…) -> None - removed:
function write_netrc(host: str, entity: str, key: str) - removed:
variable LOGIN_CHOICES - removed:
variable LOGIN_CHOICE_ANON - removed:
variable LOGIN_CHOICE_DRYRUN - removed:
variable LOGIN_CHOICE_EXISTS - removed:
variable LOGIN_CHOICE_NEW - removed:
variable LOGIN_CHOICE_NOTTY - removed:
variable Mode - removed:
variable getpass
- added:
export Auth - added:
export AuthApiKey - added:
export AuthIdentityTokenFile - added:
export WriteNetrcError - added:
export authenticate_session - added:
export check_api_key - added:
export prompt_and_save_api_key - added:
export read_netrc_auth - added:
export session_credentials - added:
export unauthenticate_session - added:
export use_explicit_auth - added:
export write_netrc_auth
- added:
class Auth(abc.ABC) - added:
class AuthApiKey(Auth) - added:
class AuthIdentityTokenFile(Auth) - added:
class AuthWithSource - added:
constructor Auth(*, host: str | HostUrl) -> None - added:
constructor AuthApiKey(*, host: str | HostUrl, api_key: str) -> None - added:
constructor AuthIdentityTokenFile(*, host: str | HostUrl, path: str) -> None - added:
field AuthWithSource.auth: Auth - added:
field AuthWithSource.source: str - added:
property Auth.host -> HostUrl - added:
property AuthApiKey.api_key -> str - added:
property AuthIdentityTokenFile.path -> pathlib.Path
- added:
function authenticate_session(*, host: str, source: str, no_offline: bool=…, no_create: bool=…, input_timeout: float | None=…, referrer: str=…, relogin: bool=…) -> Auth | None - added:
function session_credentials(*, host: str) -> Auth | None - added:
function unauthenticate_session() -> Auth | None - added:
function use_explicit_auth(auth: Auth, *, source: str) -> None
- added:
class HostUrl - added:
constructor HostUrl(url: str) -> None - added:
method HostUrl.is_same_url(value: str | HostUrl, /) -> bool - added:
property HostUrl.url -> str
- added:
function prompt_and_save_api_key(*, host: str, no_offline: bool=…, no_create: bool=…, referrer: str=…, input_timeout: float | None=…) -> str | None
- added:
function is_wandb_domain(url: str) -> bool
- added:
function check_api_key(key: str) -> str | None
- added:
class WriteNetrcError(Exception) - added:
function read_netrc_auth(*, host: str) -> str | None - added:
function read_netrc_auth_with_source(*, host: str) -> AuthWithSource | None - added:
function write_netrc_auth(*, host: str, api_key: str) -> None
- removed:
function deprecate(field_name: DEPRECATED_FEATURES, warning_message: str, run: wandb.Run | None=…) -> None
- added:
function warn_and_record_deprecation(*, feature: Deprecated, message: str, run: wandb.Run | None=…) -> None - added:
variable DoNotSet: TypeAlias - added:
variable UNSET: DoNotSet
- changed:
function check_exists(path: StrPath) -> Optional[StrPath] → function check_exists(path: StrPath) -> StrPath | None - added:
class FilesDict(TypedDict) - added:
class LinkStats - added:
field FilesDict.files: Iterable[tuple[GlobStr, PolicyName]] - added:
field LinkStats.n_copy: int - added:
field LinkStats.n_copy_downgraded: int - added:
field LinkStats.n_hardlink: int - added:
field LinkStats.n_symlink: int - added:
function are_paths_on_same_drive(path1: Path, path2: Path) -> bool - added:
function link_or_copy_with_policy(settings: Settings, src: Path, dst: Path, requested_policy: PolicyName, stats: LinkStats) -> PolicyName - added:
function unlink_path(path: Path) -> None - added:
function validate_glob_path(glob_path: PurePath, base_path: PurePath) -> None - added:
method LinkStats.emit_warnings() -> None - added:
method LinkStats.record(mode: Literal['symlink', 'hardlink', 'copy'], downgraded: bool=…) -> None - added:
variable GlobStr - added:
variable PolicyName
- added:
function generate_fast_id(length: int=…) -> str
- added:
class WandbApiFailedError(Exception) - added:
method ServiceConnection.api_init_request(settings: wandb_settings_pb2.Settings) -> None - added:
method ServiceConnection.api_publish(api_request: wandb_api_pb2.ApiRequest) -> None - added:
method ServiceConnection.api_request(api_request: wandb_api_pb2.ApiRequest, timeout: float | None=…) -> wandb_api_pb2.ApiResponse
- changed:
function timed_input(prompt: str, timeout: float, show_timeout: bool=…, jupyter: bool=…) -> str → function timed_input(prompt: str, timeout: float, show_timeout: bool=…, jupyter: bool=…, err: bool=…) -> str
- added:
function validate_url(url: object) -> None
- changed:
function login(anonymous: Optional[Literal['must', 'allow', 'never']]=…, key: Optional[str]=…, relogin: Optional[bool]=…, host: Optional[str]=…, force: Optional[bool]=…, timeout: Optional[int]=…, verify: bool=…, referrer: Optional[str]=…) -> bool → function login(key: str | None=…, relogin: bool | None=…, host: str | None=…, force: bool | None=…, timeout: int | None=…, verify: bool=…, referrer: str | None=…, anonymous: DoNotSet=…) -> bool - added:
class OidcError(Exception)
- removed:
function validate_url(url: str) -> None - removed:
variable validate_url: Callable[[str], None] - changed:
field Settings.anonymous: Optional[Literal['allow', 'must', 'never']] → field Settings.anonymous: deprecation.DoNotSet - added:
field Settings.use_dot_wandb: Optional[bool] - added:
static method Settings.validate_anonymous(value: object) -> object
- removed:
class NonOctalStringDumper(yaml.Dumper) - removed:
function are_paths_on_same_drive(path1: str, path2: str) -> bool - removed:
method NonOctalStringDumper.represent_scalar(tag, value, style=…) - removed:
variable SENTRY_ENV - changed:
function artifact_to_json(artifact: Artifact) -> Dict[str, Any] → function artifact_to_json(artifact: Artifact) -> dict[str, Any] - changed:
function async_call(target: Callable, timeout: Optional[Union[int, float]]=…) -> Callable → function async_call(target: Callable, timeout: int | float | None=…) -> Callable - changed:
function auto_project_name(program: Optional[str]) -> str → function auto_project_name(program: str | None) -> str - changed:
function batched(n: int, iterable: Iterable[T]) -> Generator[List[T], None, None] → function batched(n: int, iterable: Iterable[T]) -> Generator[list[T], None, None] - changed:
function check_and_warn_old(files: List[str]) -> bool → function check_and_warn_old(files: list[str]) -> bool - changed:
function check_retry_conflict(e: Any) -> Optional[bool] → function check_retry_conflict(e: Any) -> bool | None - changed:
function check_retry_conflict_or_gone(e: Any) -> Optional[bool] → function check_retry_conflict_or_gone(e: Any) -> bool | None - changed:
function check_windows_valid_filename(path: Union[int, str]) -> bool → function check_windows_valid_filename(path: int | str) -> bool - changed:
function class_colors(class_count: int) -> List[List[int]] → function class_colors(class_count: int) -> list[list[int]] - changed:
function download_file_from_url(dest_path: str, source_url: str, api_key: Optional[str]=…) -> None → function download_file_from_url(dest_path: str, source_url: str, api_key: str | None=…) -> None - changed:
function download_file_into_memory(source_url: str, api_key: Optional[str]=…) -> bytes → function download_file_into_memory(source_url: str, api_key: str | None=…) -> bytes - changed:
function ensure_text(string: Union[str, bytes], encoding: str=…, errors: str=…) -> str → function ensure_text(string: str | bytes, encoding: str=…, errors: str=…) -> str - changed:
function find_runner(program: str) -> Union[None, list, List[str]] → function find_runner(program: str) -> None | list | list[str] - changed:
function from_human_size(size: str, units: Optional[List[Tuple[str, Any]]]=…) -> int → function from_human_size(size: str, units: list[tuple[str, Any]] | None=…) -> int - changed:
function fsync_open(path: StrPath, mode: str=…, encoding: Optional[str]=…) -> Generator[IO[Any], None, None] → function fsync_open(path: StrPath, mode: str=…, encoding: str | None=…) -> Generator[IO[Any], None, None] - changed:
function get_jax_tensor(obj: Any) -> Optional[Any] → function get_jax_tensor(obj: Any) -> Any - changed:
function get_local_path_or_none(path_or_uri: str) -> Optional[str] → function get_local_path_or_none(path_or_uri: str) -> str | None - changed:
function get_module(name: str, required: Optional[str]=…, lazy: bool=…) -> Any → function get_module(name: str, required: str | None=…, lazy: bool=…) -> Any - changed:
function get_optional_module(name) -> Optional[importlib.ModuleInterface] → function get_optional_module(name) -> importlib.ModuleInterface | None - changed:
function guess_data_type(shape: Sequence[int], risky: bool=…) -> Optional[str] → function guess_data_type(shape: Sequence[int], risky: bool=…) -> str | None - changed:
function host_from_path(path: Optional[str]) -> str → function host_from_path(path: str | None) -> str - changed:
function image_from_docker_args(args: List[str]) -> Optional[str] → function image_from_docker_args(args: list[str]) -> str | None - changed:
function image_id_from_k8s() -> Optional[str] → function image_id_from_k8s() -> str | None - changed:
function json_friendly(obj: Any) -> Union[Tuple[Any, bool], Tuple[Union[None, str, float], bool]] → function json_friendly(obj: Any) -> tuple[Any, bool] | tuple[None | str | float, bool] - changed:
function make_check_retry_fn(fallback_retry_fn: CheckRetryFnType, check_fn: Callable[[Exception], Optional[bool]], check_timedelta: Optional[timedelta]=…) -> CheckRetryFnType → function make_check_retry_fn(fallback_retry_fn: CheckRetryFnType, check_fn: Callable[[Exception], bool | None], check_timedelta: timedelta | None=…) -> CheckRetryFnType - changed:
function make_json_if_not_number(v: Union[int, float, str, Mapping, Sequence]) -> Union[int, float, str] → function make_json_if_not_number(v: int | float | str | Mapping | Sequence) -> int | float | str - changed:
function make_tarfile(output_filename: str, source_dir: str, archive_name: str, custom_filter: Optional[Callable]=…) -> None → function make_tarfile(output_filename: str, source_dir: str, archive_name: str, custom_filter: Callable | None=…) -> None - changed:
function maybe_compress_history(obj: Any) -> Tuple[Any, bool] → function maybe_compress_history(obj: Any) -> tuple[Any, bool] - changed:
function maybe_compress_summary(obj: Any, h5_typename: str) -> Tuple[Any, bool] → function maybe_compress_summary(obj: Any, h5_typename: str) -> tuple[Any, bool] - changed:
function merge_dicts(source: Dict[str, Any], destination: Dict[str, Any]) -> Dict[str, Any] → function merge_dicts(source: dict[str, Any], destination: dict[str, Any]) -> dict[str, Any] - changed:
function parse_artifact_string(v: str) -> Tuple[str, Optional[str], bool] → function parse_artifact_string(v: str) -> tuple[str, str | None, bool] - changed:
function parse_backend_error_messages(response: requests.Response) -> List[str] → function parse_backend_error_messages(response: Response) -> list[str] - changed:
function prompt_choices(choices: Sequence[str], input_timeout: Union[int, float, None]=…, jupyter: bool=…) -> str → function prompt_choices(choices: Sequence[str], input_timeout: float | None=…) -> str - changed:
function rand_alphanumeric(length: int=…, rand: Optional[Union[ModuleType, random.Random]]=…) -> str → function rand_alphanumeric(length: int=…, rand: ModuleType | random.Random | None=…) -> str - changed:
function read_many_from_queue(q: queue.Queue, max_items: int, queue_timeout: Union[int, float]) -> list → function read_many_from_queue(q: queue.Queue, max_items: int, queue_timeout: int | float) -> list - changed:
function recursive_cast_dictlike_to_dict(d: Dict[str, Any]) -> Dict[str, Any] → function recursive_cast_dictlike_to_dict(d: dict[str, Any]) -> dict[str, Any] - changed:
function remove_keys_with_none_values(d: Union[Dict[str, Any], Any]) -> Union[Dict[str, Any], Any] → function remove_keys_with_none_values(d: dict[str, Any] | Any) -> dict[str, Any] | Any - changed:
function sample_with_exponential_decay_weights(xs: Union[Iterable, Iterable[Iterable]], ys: Iterable[Iterable], keys: Optional[Iterable]=…, sample_size: int=…) -> Tuple[List, List, Optional[List]] → function sample_with_exponential_decay_weights(xs: Iterable | Iterable[Iterable], ys: Iterable[Iterable], keys: Iterable | None=…, sample_size: int=…) -> tuple[list, list, list | None] - changed:
function to_human_size(size: int, units: Optional[List[Tuple[str, Any]]]=…) -> str → function to_human_size(size: int, units: list[tuple[str, Any]] | None=…) -> str - changed:
function uri_from_path(path: Optional[str]) -> str → function uri_from_path(path: str | None) -> str - changed:
method ImportMetaHook.find_module(fullname: str, path: Optional[str]=…) -> Optional[ImportMetaHook] → method ImportMetaHook.find_module(fullname: str, path: str | None=…) -> ImportMetaHook | None - changed:
method ImportMetaHook.get_modules() -> Tuple[str, ...] → method ImportMetaHook.get_modules() -> tuple[str, ...]