Releases: ManicJamie/speedruncompy
v0.5.0
Updated typing, async client (see README), context manager lifetime sessions, new endpoints and tests :)
Full Changelog: v0.4.0...v0.5.0
v0.4.0
Breaking changes:
.datatypes.STRICT_TYPE_CONFORMANCE
replaced with.config.COERCION
. Default is still coercion w/ warning on incomplete types.- Endpoints moved out of the main namespace & to
.endpoints
. - Paginated requests without
_combine_results
defined now raiseNotImplementedError
New features:
- Dozens of new endpoints
- Majority inline documentation
- Majority enum coverage
- You can pass
autovary=True
to.perform()
to pass a randomvary
with your request, bypassing cache - You can pass
max_pages
to.perform_all()
to set a maximum number of pages retrieved.
Full Changelog: v0.3.3...v0.4.0
v0.3.3
Fix auth & readme
Full Changelog: v0.3.2...v0.3.3
v0.3.2
Adds a script srcompy-login
to grab a PHPSESSID.
Full Changelog: v0.3.1...v0.3.2
v0.3.0
Adds Datatypes. Lack of testing on POST, but released to allow usage on GET. If stuff breaks, set datatypes.DISABLE_TYPE_CONFORMANCE = True
.
Datatypes allow accessing return attributes by both dictlike (result["key"]
) and objectlike (result.key
) accessors. In future, this will also allow for convenience properties and automatically fetching relevant data.
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Switches entire backend to async, which may break applications where the synchronous interface is used within an async context. As this should be rare to nonexistent, I'm just throwing an error, as this would be an antipattern in any async application.
Adds some endpoints too, see full changelog for details. Some endpoints have been moved from POST to GET to better separate endpoints that require auth; this will probably need a better solution Later(tm).
Partial testing coverage, but should now be enough for relative confidence that nothing massive breaks per-update. Complete test coverage will come prior to a v1.0 release, but not much sooner than that.
Full Changelog: v0.1.0...v0.2.0
v0.1.0
v0.0.5
Close to complete functionality, still alpha as testing is only partial
v0.0.4
No longer imports tkinter lol (thanks vscode)
Changes various method names to be more pythonic - check your code!
Full Changelog: v0.0.3...v0.0.4
v0.0.3
Adds paginated calls. Paginated.performAll() returns a dict {page: data} for now; note that only the primary list is paginated - secondary lists (eg playerList
in GetGameLeaderboard2
) return all relevant objects to the entire main list, not just the page. This means you can simply append all pages' relevant main list & use the final object for the rest of the fields.
Full Changelog: v0.0.2...v0.0.3