Civis

Latest version: v2.4.3

Safety actively analyzes 701507 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 7

2.4.3

Fixed
- Fixed the way array query parameters are passed to a Civis API call,
so that all items in an array are included in the correctly formatted URL. (507)

2.4.2

Changed
- Refactored `docs/` since the `docs/source/` subdirectory is no longer needed. (506)

Fixed
- Fixed the tool for checking if the upstream Civis API spec has changed. (505)

Security
- Bumped the transitive dependency `jinja2`'s version from 3.1.4 to 3.1.5,
due to CVE-2024-56326. (506)

2.4.1

Changed
- Updated the Civis API spec in order to refresh the Sphinx docs on the Read The Docs site. (504)

2.4.0

Added
- The new kwarg `retries` has been added to `civis.APIClient` so that
a `tenacity.Retrying` instance can be provided to customize retries. (495)
- Added `civis.workflows.validate_workflow_yaml`
to validate a Civis Platform workflow YAML definition. (497, 499)
- The helper I/O functions that create a Civis file
(i.e., `civis.io.file_to_civis`, `civis.io.dataframe_to_file`, and `civis.io.json_to_file`)
accept a new `description` keyword argument for the new `description` attribute
of Civis file objects. (498, 500)
- `Response` objects are now fully typed through the attribute syntax. (501)
- Both `Response` and `PaginatedResponse` are now directly available under the `civis` namespace. (501)
- Added support for Python 3.13. (501)
- Added the new property `default_database_credential_id` at `civis.APIClient`,
which is going to replace the existing `default_credential`. (502)

Changed
- When a `PaginatedResponse` object is returned from an API call,
a user-specified `limit` kwarg is now honored to facilitate speeding up the pagination. (501)

Deprecated
- The method `get_database_credential_id` at `civis.APIClient` has been deprecated
and will be removed at civis-python v3.0.0. There's no replacement for this method. (502)
- The property `default_credential` at `civis.APIClient` has been deprecated
and will be removed at civis-python v3.0.0,
in favor of the new property `default_database_credential_id`. (502)

Removed
- Dropped support for Python 3.9. (499)

Fixed
- The repr form of `Response` objects is now the dict-based `Response({‘spam’: 123})`
instead of the dataclass-based `Response(spam=123)`, since response object keys can
be invalid Python identifiers. (501)
- In `Response` object instantiation, object keys that originate from environment variables
are now preserved for their (customarily upper-) case even in the default snake-case setting. (501)
- In `Response` object instantiation, an API response that represents a JSONValue object
now has its `value` attribute unmodified as the Python object representation
of the deserialized JSON form (as opposed to being converted to a `Response`-based form). (501)

2.3.0

Added
- Added a script for checking if the Civis API spec is up-to-date. (489)
- Added a new keyword argument `sql_params_arguments` to the `civis.io.*` functions that
accept a SQL query, so that the user can run a parameterized SQL script. (493)

Changed
- Refactored the `civis.parallel` module and related unit tests due to major changes
of joblib from v1.2.0 to v1.3.0 (API-breaking changes for dropping
`joblib.my_exceptions.TransportableException` and `joblib.format_stack.format_exc`,
as well as the substantial changes to the internals of `joblib.Parallel`). (488)
- Bumped the minimum required version of `joblib` to v1.3.0,
which is the version where `joblib.parallel_config` was introduced and
`joblib.parallel_backend` was deprecated. (488)
- Improved the startup time of `import civis` with a 5x speed boost. (490, 493)
- The downloaded API spec due to the `civis.APIClient` instantiation is now
a time-to-live cache in memory (15 minutes for interactive Python, or 24 hours in scripts). (491)
- Polling at `PollableResult` (and consequently its subclasses as well: `CivisFuture`,
`ContainerFuture`, and `ModelFuture`) now defaults to geometrically increased polling
intervals. Short-running jobs' `future.result()` can now return faster, while
longer-running jobs have a capped polling interval of 15 seconds. (492)
- Comparing a `Response` object with a non-`Response` object returns `False` now
(this previously raised a `TypeError`). (493)

Fixed
- Fixed `civis.parallel.make_backend_template_factory` so that
keyword arguments are now accepted and passed to `client.scripts.post_custom`. (488)
- For `Response` objects, their "repr" form shows the class name "Response" for both
top-level and nested response objects. (493)

Security
- Bumped the minimum required version of `requests` to the latest v2.32.3,
due to a security vulnerability for < v2.32.0
([CVE-2024-35195](https://nvd.nist.gov/vuln/detail/CVE-2024-35195)). (#488)

2.2.0

Not secure
Added
- `civis.response.Response` has its own "repr" and pretty-print format,
instead of the previous dict-like representation that would incorrectly suggest immutability. (487)
- Added the `--version` flag to the command line interface. (487)

Fixed
- Fixed API response objects' `.json()` for lists. (487)
- Fixed `civis_logger` for always having the attribute `propagate` attribute set to `False`
so that it can also be used for notebooks and services/apps on Civis Platform. (487)

Page 1 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.