Skip to content

Conversation

@renoyjohnm
Copy link
Collaborator

Features:

  • Adding project permissions handling for databases, tables and virtual connections
  • Adding PulseMetricDefine & VizqlDataApiAccess capabilities
  • Adding support for exporting custom views as pdf & csv

Bug Fixes:

bcantoniand others added 29 commits September 18, 2024 23:46
Make urllib3 dependency more flexible Per discussion in #1445
* chore(versions): Upgrade minimum python version As of October, 2024, Python 3.8 is out of support. Upgrading syntax to target Python 3.9. Adds builds for Python 3.13. --------- Co-authored-by: Jordan Woods <[email protected]>
* chore(typing): include samples in type checks Including the sample scripts in type checking will allow more thorough testing to validate the samples work as expected, as well as more testing around how a library consumer may use the library. --------- Co-authored-by: Jordan Woods <[email protected]> Co-authored-by: Jac <[email protected]>
* fix: queryset support for flowruns FlowRun's get endpoint does not return a PaginationItem. This provides a tweak to QuerySet to provide a workaround so all items matching whatever filters are supplied. It also corrects the return types of flowruns.get and fixes the XML test asset to reflect what is really returned by the server. * fix: set unknown size to sys.maxsize Users may length check a QuerySet as part of a normal workflow. A len of 0 would be misleading, indicating to the user that there are no matches for the endpoint and/or filters they supplied. __len__ must return a non-negative int. Sentinel values such as -1 or None do not work. This only leaves maxsize as the possible flag. * fix: docstring on QuerySet * refactor(test): extract error factory to _utils * chore(typing): flowruns.cancel can also accept a FlowRunItem * style: black --------- Co-authored-by: Jordan Woods <[email protected]>
Add docs mention of boolean values for filtering
* feat(exceptions): separate failed signin error Closes#1472 This makes sign in failures their own class of exceptions, while still inheriting from NotSignedInException to not break backwards compatability for any existing client code. This should allow users to get out more specific exceptions more easily on what failed with their authentication request. * fix(error): raise exception when ServerInfo.get fails If ServerInfoItem.from_response gets invalid XML, raise the error immediately instead of suppressing the error and setting an invalid version number * fix(test): add missing test asset --------- Co-authored-by: Jordan Woods <[email protected]>
* docs: add docstrings to auth objects and endpoints * docs: add parameters and examples to methods --------- Co-authored-by: Jordan Woods <[email protected]>
* add TSC_FILESIZE_LIMIT_MB environment variable * add hard limit for filesize limit at 64MB * fix formatting --------- Co-authored-by: Jac <[email protected]>
Update permissions_item.py added PulseMetricDefine cap Co-authored-by: Jac <[email protected]>
* refactor request_options, add language param I have refactored the classes to separate options that can be used in querying content, and options that can be used for exporting data. "language" is only available for data exporting.
* docs: docstrings for user item and endpoint * docs: add serverresponseerror details --------- Co-authored-by: Jordan Woods <[email protected]>
Now that python 3.13 has released, test builds on actual 3.13 instead of the 3.13-dev build Co-authored-by: Jordan Woods <[email protected]>
Add detailed docstrings to workbook item and endpoint Co-authored-by: Jordan Woods <[email protected]>
Resource is not currently an actual type, but an enum-like holder for literal values. Added a Union for str types to make mypy happy. Co-authored-by: Jordan Woods <[email protected]>
* fix: handle 0 item response in querysets A flaw in the __iter__ logic introduced to handle scenarios where a pagination element is not included in the response xml resulted in an infinite loop. This PR introduces a few changes to protect against this: 1. After running QuerySet._fetch_all(), if the result_cache is empty, return instead of performing other comparisons. 2. Ensure that any non-None total_available is returned from the PaginationItem's object. 3. In _fetch_all, check if there is a PaginationItem that has been populated so as to not call the server side endpoint muliple times before returning. * fix: null out PaginationItem._page_number Tests were failing because the fetch_all method added a second check before fetching the next page. This fix will allow the next page to be retrieved when used normally --------- Co-authored-by: Jordan Woods <[email protected]>
* ci: cache dependencies for faster builds * ci: cache for mypy and black --------- Co-authored-by: Jordan Woods <[email protected]>
Adding custom views PDF & CSV export endpoints
Favor list comprehensions for readability, consistency, and performance Co-authored-by: Jordan Woods <[email protected]>
* Replace obsolete env package with os.environ * Python 2.x to 3.x updates * Fix some comments * Remove workbook data acceleration; feature was removed in 2022 * Remove switch_site() example which is confusing in this context of demonstrating login
* Remove sample code showing group name encoding This is no longer needed - ran the sample and verified that it works now.
Merge branch 'development' into rjohn/development-to-master-merge
@jacalatajacalata merged commit 6798b9e into masterOct 24, 2024
@jacalatajacalata deleted the rjohn/development-to-master-merge branch October 24, 2024 05:07
@renoyjohnmrenoyjohnm restored the rjohn/development-to-master-merge branch October 24, 2024 18:44
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@renoyjohnm@jacalata@bcantoni@jorwoods@Der-Henning@AlbertWangXu@TrimPeachu