sodapy
Python library for the Socrata Open Data API
What it is and what it does
sodapy wraps the Socrata Open Data API, allowing Python developers to query, retrieve, and write data to datasets hosted on Socrata domains. It depends on requests for HTTP communication and provides methods to filter, paginate, and transform data using SoQL (Socrata Query Language) keywords. The library supports both read operations (fetching datasets, metadata, and individual records) and write operations (creating, upserting, and replacing data), as well as file attachments and dataset publication.
The package is production-stable but unmaintained as of August 31, 2022. It remains compatible with modern Python versions (3.5 through 3.10 at time of last release) and has no known vulnerabilities. Use it when you need to integrate Socrata-hosted public data into a Python application, but be aware that no new features or bugfixes will be added and you are responsible for managing any issues that arise.
Use it for:
- Retrieve earthquake, crime, or other public safety data from a Socrata domain for analysis or reporting.
- Automate periodic downloads of open government datasets into a local database or data warehouse.
- Build a Python application that queries and displays real-time public data from a Socrata-hosted API.
- Write data transformations or corrections back to a Socrata dataset using upsert or replace operations.
- Paginate through large datasets using get_all() to process records without loading everything into memory at once.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
sodapy is a Python client for querying and writing data to Socrata Open Data API endpoints, enabling programmatic access to public datasets hosted on Socrata domains.
Yes, if you need to access Socrata-hosted data and accept the maintenance status. The package is stable, has low install friction, and carries no security vulnerabilities. However, do not use it for new projects requiring active maintenance or ongoing API support—it is unmaintained as of August 2022 and will not receive bugfixes. Suitable for read-heavy integrations with public Socrata datasets or existing applications already using it.
Install
sodapy on PyPI
pip
pip install sodapyuv
uv add sodapypoetry
poetry add sodapyInstalling sodapy
Before you install
Installation is straightforward with low friction—a single pure-Python wheel with only requests as a runtime dependency. However, the package is unmaintained as of August 31, 2022, with no new features or bugfixes planned; the repository remains active but receives no ongoing development.
License in practice
MIT license is permissive, allowing use in commercial and private projects without restriction, though you must include the license text in distributions.
Quickstart
pip install sodapy
from sodapy import Socrata
client = Socrata("sandbox.demo.socrata.com", "FakeAppToken")
data = client.get("nimj-3ivp", limit=2)
print(data)
An application token is recommended (though not strictly required) to avoid throttling; read/query operations work without credentials, but write operations require username and password.
Verify before relying
- Whether the Socrata Open Data API itself remains actively maintained and stable for production use.
- Current compatibility with Python versions beyond 3.10, given the package's unmaintained status since August 2022.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — requests |
| Maintenance | actively maintained — 1,444 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 471,583/month — #6,478 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: sodapy-2.2.0-py2.py3-none-any.whl
Keywords: soda, socrata, opendata, api
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
athina-clientA Python SDK for logging and interacting with…
permissive · top 15,000 on PyPI
tfds-nightlyProvides a library of ready-to-use public…
permissive · top 15,000 on PyPI
open-radar-dataProvides a registry and download utility for…
permissive · top 15,000 on PyPI
openbb-fredIntegrates FRED (Federal Reserve Economic Data)…
agpl · top 15,000 on PyPI
airtableProvides a Python wrapper around Airtable's…
permissive · top 5,000 on PyPI
tensorflow-datasetsProvides access to many public datasets as…
permissive · top 5,000 on PyPI
pyzoteroPyzotero is a Python client library for the…
unclear · top 15,000 on PyPI
wolframalphaProvides a Python client for querying the…
permissive · top 15,000 on PyPI
pyairvisualA thin async Python wrapper for the AirVisual…
permissive · top 15,000 on PyPI
accuweatherAsync Python wrapper for fetching current…
permissive · top 15,000 on PyPI