pypi Office365-REST-Python-Client 3.1.0

2 hours ago

Highlights

A large release: a full migration toolkit (SharePoint / Outlook / Teams)
with SMAT-style pre-migration assessment, first-class parallel execution
(execute_batch / execute_query_parallel), a data pipeline
(CSV/JSON/NDJSON/Excel + optional pandas), and a set of long-standing
SharePoint/OneDrive fixes (#881, #988, #915, #884, #793, #875).

No breaking API changes - a drop-in upgrade from 3.0.0.

Added

  • Migration toolkit - product-agnostic core plus sharepoint, outlook
    and teams products: resumable MigrationJob/MigrationSession with
    checkpoints, filesystem/SharePoint/JSON/Teams archive adapters, parallel
    transfer, a server-side ingestion job, and summary/item/failure reports.
  • SMAT-style pre-migration assessment — modular scans/containers,
    MigrationAssessor/MigrationTenantAssessor/MailboxAssessor, typed scan
    reports (LargeSites, LockedSites, MailFolders) and CSV/JSON export.
  • Parallel execution - execute_batch(concurrency=N) on ClientContext
    and GraphClient, plus execute_query_parallel(concurrency=N) for
    pipelined I/O over independent queries; both retry transient failures per
    request honoring Retry-After.
  • Data pipeline - CSV/JSON/NDJSON/Excel import-export,
    from_csv/from_json/from_records, dynamic list-item columns, and an
    optional pandas bridge (to_dataframe/from_dataframe).
  • SharePoint - taxonomy term store (OData v2.1/V4) support, site
    primitives, folder download with version history, zip ↔ folder primitives,
    Web.ensure_list, DriveItem.ensure_folder, and typed field creators.
  • Generator - OData function/action method generation, a return-type
    descriptor/resolver, and list-typed primitive collection parameters.

Changed

  • Thread-safe auth and form-digest caches (single-flight refresh);
    ClientContext.clone now shares the auth context and transport.
  • First-class retry (exponential backoff + jitter) and throttling
    (rate-limit/health headers) primitives; ClientQuery generics made
    consistent.
  • Examples reorganized into product galleries and an SPMT-style migration flow
    (assess/migrate/monitor/).

Fixed

  • Long file paths in moves (#988) - body-based File.move_by_path /
    MoveCopyUtil.move_file_by_path; slashes are no longer percent-encoded
    inside OData string literals.
  • Bulk OneDrive downloads (#881) - download_folder paginates children
    instead of stopping at the first page.
  • SharePoint paging falls back to $skip when no next link is returned
    (#915), and custom headers are preserved across pages.
  • Apostrophes in file paths (#884), in-memory upload streams (#793),
    sharing-token UTF-8/padding (#875).
  • @odata.type casting for directory collections (#921); principal path
    precedence (#895); delta-token/custom query-param handling (#948);
    malformed JSON surfaced as ClientRequestException.

Don't miss a new Office365-REST-Python-Client release

NewReleases is sending notifications on new releases.