civis
Civis API Python Client
What it is and what it does
Civis is a Python client for the Civis Platform, a cloud-based data and analytics service. It bridges programmatic Python workflows with Civis's hosted infrastructure, allowing analysts and developers to read/write data, train machine learning models, and orchestrate jobs without leaving Python. The package provides both convenience wrappers (e.g., civis.io.read_civis) for common tasks and a low-level APIClient for direct API calls.
The client depends on click, cloudpickle, joblib, jsonref, jsonschema, PyYAML, requests, tenacity, and typing-extensions. It has soft dependencies on pandas, polars, scikit-learn, and feather-format for advanced features like dataframe I/O and model export. Authentication requires a Civis Platform API key stored in the CIVIS_API_KEY environment variable.
Use it for:
- Read data from Civis-hosted databases into a local pandas or polars DataFrame for analysis.
- Write analysis results back to Civis databases or data warehouses from Python scripts.
- Train and deploy machine learning models on Civis Platform infrastructure using the ml namespace.
- Automate data workflows and job orchestration by calling Civis API methods directly.
- Manage Civis Platform resources (databases, tables, users) programmatically from Python applications.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python client library for programmatically interacting with the Civis Platform API, providing both high-level wrappers for common workflows and direct API access.
Yes. The package is actively maintained, has low install friction, carries no known vulnerabilities, and is licensed permissively. Install it if you need to integrate Python workflows with Civis Platform. The main prerequisite is a valid Civis API key and Python >= 3.11; soft dependencies (pandas, scikit-learn) are only needed for specific features, not for basic API access.
Install
civis on PyPI
pip
pip install civisuv
uv add civispoetry
poetry add civisInstalling civis
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance with a release 3 days ago; the project has been stable since 2016 and supports current Python versions (3.11–3.14). Nine runtime dependencies are all standard, well-maintained libraries.
License in practice
BSD-3-Clause is permissive; you may use, modify, and distribute this package with minimal restrictions, provided you include the license notice.
Quickstart
pip install civis
import civis
client = civis.APIClient()
print(client.users.get_me()['username'])
# Or use high-level wrappers:
df = civis.io.read_civis(table="my_schema.my_table", database="database", return_as="pandas")
Requires CIVIS_API_KEY environment variable set with a valid Civis Platform API key (expires every 30 days and must be renewed). Requires Python >= 3.11.
Verify before relying
- Whether soft dependencies (pandas, polars, scikit-learn, feather-format, civisml-extensions, glmnet, muffnn) are required for specific workflows or truly optional.
- Performance characteristics and rate-limiting behavior when making large numbers of API requests.
- Support for authentication methods beyond environment variable (e.g., config files, credential managers).
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 9 — click, cloudpickle, joblib, jsonref, jsonschema, PyYAML, requests, tenacity, typing-extensions |
| Maintenance | actively maintained — 3 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 196,225/month — #9,792 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: civis-2.9.3-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
pm4pyPM4Py implements process mining algorithms to…
agpl · top 15,000 on PyPI
python-gerrit-apiProvides a Python client library for…
permissive · top 15,000 on PyPI
splitio-clientA Python client SDK for integrating Split…
permissive · top 15,000 on PyPI
rapidataA Python client library for interacting with…
permissive · top 15,000 on PyPI
clarifaiOfficial Python client for Clarifai's AI…
permissive · top 15,000 on PyPI
vmware-vapi-common-clientProvides Python client bindings for VMware vAPI…
permissive · top 15,000 on PyPI
cvat-sdkPython client library for CVAT (Computer Vision…
permissive · top 15,000 on PyPI
feather-formatFeather-format provides a Python interface to…
permissive · top 15,000 on PyPI
python-mistralclientPython client library and command-line…
permissive · top 15,000 on PyPI