Skip to content

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.

  • Some releases in this range publish no notes, so DepDelta can't rule out breaking changes.
  • DepDelta found no commit log for them either.
1 item needs code or config changes
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()

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, ...]