- Support cursor-pagination by default in
EdFiEndpoint.get_rows().- Fall back to reverse change-version stepping on deletes/key-changes, or before ODS version 7.3.
- Paginate total-counts in
EdFiEndpoint.get_total_count()if the call times out due to high data volume.
- Configure base logger handlers only when not preconfigured by the executing script.
- Remove support for Ed-Fi 2.
- Add optional token caching to persist auth tokens to disk using new
token_cacheargument.
- Migrate REST functionality into its own
Sessionclass:- Initializes lazily and only authenticates when interfacing with an authenticated API call
- Allow exponential backoff for any Session method call.
- Add internal methods for POSTs, DELETEs, and PUTs.
- Replace
verbose_logprint statements with the built-inlogginglibrary. - Deprecate
EdFiEndpoint.total_count()in favor of more descriptiveget_total_count(). - Add authentication and caching tests to package.
- Fix behavior of
camel_to_snake()util helper to handle more resource names. - Add instance locator to Swagger endpoint URL in
instance_year_specificODS instances.
- Add
use_snapshotflag toEdFiClientfor making requests against snapshots (defaultFalse).
- Access resource
/keyChangesendpoint using optionalget_key_changesflag inEdFiResource. EdFiClient.get_token_info()returns the JSON payload of the/oauth/token_infoendpoint for the existing connection's access-token.
- Fix authentication logic and require
instance_codebe passed when authenticating toinstance_year_specificODSes.
- Make
api_modea fully-optional argument inEdFiClient(necessary for v7 ODSes).
EdFiClient.get_swagger()now returns an EdFiSwagger class that parses OpenAPI Swagger specification.EdFiClient.resourcesandEdFiClient.descriptorslazily retrieves lists of respective endpoints from Swagger.EdFiEndpointchild class attributesdescriptionandhas_deleteslazily retrieves this metadata from Swagger.
- Requests re-authenticate automatically, based on the expiration-time retrieved from the API.
- Compatibility fix for Ed-Fi 6.0: casing changed for change version API responses
- New "reverse_paging" pagination method for
EdFiResource.get_pages()
- Default to reverse-paging when change-version stepping resources
- Fix bug in
EdFiResource.get_pages()where defaultchange_version_step_sizewas used instead of argument
- Retry on 500 errors
Initial release