Skip to content


Release notes for the sumatra-client Python package


  • Client constructor now takes optional workspace parameter
  • Add user_email() methods to Client
  • Add api_key() and sdk_key() methods to Client for workspace owners
  • Add sumatra workspace to the CLI
  • Deprecate tenant(). Use .workspace instead.
  • Add SSL certs to local callback server to support Safari for sumatra login


  • login now routes to custom auth page instead of Cognito
  • use as default instance on login
  • rename get_events() to get_features() on Materializations. Old name prints deprecation warning.
  • start sending x-sumatra-tenant header in anticipation of v1.3 release


  • Move API client to separate sumatra-sdk package


  • Add get_features_from_log to fetch features and inputs from Athena
  • Add get_live_schema() to find the schema of the live topology


  • Add model management functions to Client
  • Add sumatra model command and subcommands to CLI
  • Bug fix to replay optimization that led to stale timeline cache


  • Move admin functions from AdminClient to Client
  • Add replay method to Client
  • Standardize table status messages to match UI


  • Fix bug in delete-table graphql queries


  • Add sumatra pull to save remote branch scowl to local dir
  • Add sumatra table to manage tables
  • Add sumatra deps to manage dependencies
  • New Client functions to fetch table metadata and push tables to server
  • More consistently raise concrete errors instead of Exception


  • Add query_athena to Client to give all users query access to event logs
  • Refetch endpoint details from stack.json after a sumatra login
  • Better error messaging for get_branch when branch does not exist
  • Correcly print branch name after sumatra branch delete is run


  • Fixed bug where wait() failed when materialization was in 'new' state
  • Fixed bug in materialization to fetch correct metadata from GraphQL


  • Improve error messaging when plan/apply finds no local scowl files
  • Fix argument order in timeline upload CLI


  • Add query_athena to AdminClient to run SQL queries against event logs
  • Replace _wait_for_processing with wait. Explicit call to .wait() no longer necessary
  • .wait() now throws exception if materialization job encounters an error


  • Add create_timeline_from_log
  • Add distributed_materialize_many
  • Add wait method to Materialization with notebook progress bars


  • Fix bug in get_features_from_feed and get_inputs_from_feed that limited result set size to 10K
  • Change default batch size for these functions from 1K to 10K


  • Add get_features_from_feed
  • Add get_inputs_from_feed
  • Add event_types parameter to create_timeline_from_feed
  • All create_timeline_* functions now wait for timeline processing to complete
  • Wait time for materialization processing changed from 5 to 15 minutes
  • Breaking change: create_timeline_* functions now take timeline as first parameter


  • Add create_timeline_from_feed


  • Clean up tmp_* branches when a sumatra plan fails on invalid scowl


  • More robust timestamp parsing to handle mixed-timezone columns


  • admin assign-tenant defaults to power user role


  • Add admin show-keys and admin show-key-usage
  • Validate event type passed to get_events() and get_errors()
  • Gzip all timeline uploads


  • Add pytkdocstrings to public APIs
  • Fix bug in sumatra push that returned 'None' as the branch name


  • Fix bug in admin that ignored the --instance command-line option


  • Add sumatra timeline schema command
  • Return empty dataframes instead of error when no materialization errors
  • Improved error messaging


  • Initial release