v2.0.0
Breaking Changes from v1.x.x to v2.0.0
(Changes documented in this section are not repeated in the following sections.)
- A
civis.response.Responseobject is no longer mutable.
More concretely, both the "setitem" (e.g.,response["foo"] = "bar")
and "setattr" (e.g.,response.foo = "bar") operations
would now raise anCivisImmutableResponseErrorexception. (#463) - Instantiating a
civis.response.Responseobject no longer
accepts the booleansnake_casekeyword argument;
snake-case keys at aResponseobject are now always available (and preferred). (#463) - Parameters for various classes/functions that have long been deprecated are removed:
api_key,resources,retry_total,archive,headers.
Also dropped the deprecated methods inServiceClient. (#472) - The
return_typeparameter of acivis.response.Responseobject
no longer has the"pandas"option. (#473) - When
civis.finduses kwargs as filters, boolean values are now treated in the same
way as other data types for value equality comparison, rather than the presence or
absence of the key in question. (#474) - To access the API endpoints "MatchTargets" and "RemoteHosts" via
client = civis.APIClient(),
client.matchtargetsandclient.remotehostsare no longer available.
Only the names with underscores, i.e.,client.match_targetsandclient.remote_hosts,
can be used instead. (#479)
Added
- Added error handling of file_id with type string passed to
civis.io.civis_file_to_table. (#454) - Added support for Python 3.10, 3.11, and 3.12 (#462, #475)
- A
FutureWarningis now raised when a deprecated Civis API endpoint method is called. (#477) - Added
civis_loggerfor logging in Civis Platform scripts. (#478) - Added the stub file
client.pyito surface the API endpoints and their type annotations
at acivis.APIClientinstance to IDEs. (#479) - Added the
job_urlproperty toCivisFutureobjects. (#482) - Added
.readthedocs.yamlto configure the ReadTheDocs build. (#483)
Changed
- Updated references from 'master' to 'main' (#460)
- Clarified the usage example for
civis.io.civis_to_multifile_csv. Updated
CircleCI config so dev-requirements is only used when needed. (#452) - Removed unneeded
time.sleepcalls andpytest.markcalls and mockedtime.sleepcalls to optimize tests. (#453) - Refactored tests to remove dependency on the vcr library. (#456)
- Fixed typo in "Testing Your Code" example of the User Guide (#458)
- Adding
try-exceptto catchJSONDecodeErrorsinCivisAPIError(#459) civis.io.file_id_from_run_outputnow works for all job types (#461)- A nested
civis.response.Responseobject now supports both snake-case and camel-case
for key access. Previously, only the non-Pythonic camel-case keys were available. (#463) - Pinned the dependency
joblibat< 1.3.0, sincejoblib >= 1.3.0is incompatible
with the current civis-python codebase. (#469) - Changed
civis.io.civis_file_to_tableto not rely on table IDs for determining a table's existence (#470) - Broke out the "API Resources" documentation page into individual endpoint pages (#471)
- Switched to
pyproject.tomlfor packaging. (#475) - CI builds for Windows switched from AppVeyor to CircleCI. (#480)
- Applied the
blackcode formatter to the codebase. (#481)