Skip to content

Conversation

@ischneider
Copy link
Member

A kinda large update that removes V0 API and supports V1

- extract common client to base and add v1 client
- more support for post operations in dispatcher
- support v1 links/next key changes
- prefix older commands with v0 for now
- disable v0 CLI tests
- add request builder to join filter or request spec that uses
  the union of any item_types and replaces any name or interval
- CLI uses request builder to join filter args and any incoming
  filter/request spec
- client methods take request structure now
- support multiline option help formatting
- adjust table column widths
- use separate futures session to avoid blocking shorter
  api calls when async pool is exhausted
- add global throttle to avoid rate limits
- some DRY on header handling, comments + logging
- adjust former async handling of responses where needed
  e.g. remove resp.result()
- add some stats output for debugging
- grab new tasks before servicing old
- track pending tasks and progress better
- shutdown called on future session, not its executor
- attempting to access status_code on future
should be Body (as the response is empty and not JSON)
- rename from helpers
- less busy waiting
- separate out getting and processing tasks
- grab tasks until full instead of only one
- adjust activating/polling accounting
- formalize completion handling
- add ndjson output for events in CLI
- add ANSI output when available
- explicit Downloader creation and interface, docs
issue discovered when async pool is full, requested are
not flighted until pool has capacity and occurred
outside of the throttling context allowing for potential
unhandled throttling
- previously, Ansi output was overwriting exception
  messaging about missing apikey
without this, ctrl-c would possibly hang until any inflight
downloads completed

base cancel was draining the results and the existing attempt
to cancel inflight transfers was incorrect
makes (my) windows dev easier to execute without pip installing
and add note to using check_writable after discovering
click.Path writable doesn't cover our case

add additioal error detection in check_writable for win
in lieu of nicer ansi output so user doesn't think client
is dead or doing nothing
for the edge-case that cwd (default) is not-writable
css to push footer down - was conflicting w/ content on 'short' pages
- ensure a more recent pytest is installed as the travis
  env has an older one that breaks with fixture yield
- use make targets to ensure lint, doc-gen, tests w/ doctests
- fix for python3 sorted builtin
- fix sphinx conf.py import for html options
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants