Metadata-Version: 2.1
Name: cdp-data
Version: 0.0.2
Summary: Data Utilities and Processing Functions for Generalized for all CDP Instances
Home-page: https://github.com/CouncilDataProject/cdp-data
Author: Council Data Project Contributors
Author-email: jmaxfieldbrown@gmail.com
License: MIT license
Keywords: Council Data Project,CDP,NLP,Natural Language Processing
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cdp-backend (>=3.0.3)
Requires-Dist: nltk (>=3.6)
Requires-Dist: pandas (>=1.4.1)
Requires-Dist: tqdm (>=4.63.1)
Requires-Dist: dataclasses-json
Requires-Dist: fireo
Requires-Dist: gcsfs
Provides-Extra: all
Requires-Dist: cdp-backend (>=3.0.3) ; extra == 'all'
Requires-Dist: nltk (>=3.6) ; extra == 'all'
Requires-Dist: pandas (>=1.4.1) ; extra == 'all'
Requires-Dist: tqdm (>=4.63.1) ; extra == 'all'
Requires-Dist: dataclasses-json ; extra == 'all'
Requires-Dist: fireo ; extra == 'all'
Requires-Dist: gcsfs ; extra == 'all'
Requires-Dist: pytest-runner (>=5.2) ; extra == 'all'
Requires-Dist: seaborn (>=0.11.2) ; extra == 'all'
Requires-Dist: pyarrow (>=7.0.0) ; extra == 'all'
Requires-Dist: ipywidgets (>=7.7.0) ; extra == 'all'
Requires-Dist: black (>=22.3.0) ; extra == 'all'
Requires-Dist: codecov (>=2.1.4) ; extra == 'all'
Requires-Dist: flake8 (>=3.8.3) ; extra == 'all'
Requires-Dist: flake8-debugger (>=3.2.1) ; extra == 'all'
Requires-Dist: isort (>=5.7.0) ; extra == 'all'
Requires-Dist: mypy (>=0.790) ; extra == 'all'
Requires-Dist: pytest (>=5.4.3) ; extra == 'all'
Requires-Dist: pytest-cov (>=2.9.0) ; extra == 'all'
Requires-Dist: pytest-raises (>=0.11) ; extra == 'all'
Requires-Dist: tox (>=3.15.2) ; extra == 'all'
Requires-Dist: bump2version (>=1.0.1) ; extra == 'all'
Requires-Dist: coverage (>=5.1) ; extra == 'all'
Requires-Dist: jupyterlab (>=3.2.8) ; extra == 'all'
Requires-Dist: m2r2 (>=0.2.7) ; extra == 'all'
Requires-Dist: Sphinx (>=3.4.3) ; extra == 'all'
Requires-Dist: furo (>=2022.4.7) ; extra == 'all'
Requires-Dist: twine (>=3.1.1) ; extra == 'all'
Requires-Dist: wheel (>=0.34.2) ; extra == 'all'
Provides-Extra: dev
Requires-Dist: pytest-runner (>=5.2) ; extra == 'dev'
Requires-Dist: seaborn (>=0.11.2) ; extra == 'dev'
Requires-Dist: pyarrow (>=7.0.0) ; extra == 'dev'
Requires-Dist: ipywidgets (>=7.7.0) ; extra == 'dev'
Requires-Dist: black (>=22.3.0) ; extra == 'dev'
Requires-Dist: codecov (>=2.1.4) ; extra == 'dev'
Requires-Dist: flake8 (>=3.8.3) ; extra == 'dev'
Requires-Dist: flake8-debugger (>=3.2.1) ; extra == 'dev'
Requires-Dist: isort (>=5.7.0) ; extra == 'dev'
Requires-Dist: mypy (>=0.790) ; extra == 'dev'
Requires-Dist: pytest (>=5.4.3) ; extra == 'dev'
Requires-Dist: pytest-cov (>=2.9.0) ; extra == 'dev'
Requires-Dist: pytest-raises (>=0.11) ; extra == 'dev'
Requires-Dist: tox (>=3.15.2) ; extra == 'dev'
Requires-Dist: bump2version (>=1.0.1) ; extra == 'dev'
Requires-Dist: coverage (>=5.1) ; extra == 'dev'
Requires-Dist: jupyterlab (>=3.2.8) ; extra == 'dev'
Requires-Dist: m2r2 (>=0.2.7) ; extra == 'dev'
Requires-Dist: Sphinx (>=3.4.3) ; extra == 'dev'
Requires-Dist: furo (>=2022.4.7) ; extra == 'dev'
Requires-Dist: twine (>=3.1.1) ; extra == 'dev'
Requires-Dist: wheel (>=0.34.2) ; extra == 'dev'
Provides-Extra: plot
Requires-Dist: seaborn (>=0.11.2) ; extra == 'plot'
Requires-Dist: pyarrow (>=7.0.0) ; extra == 'plot'
Requires-Dist: ipywidgets (>=7.7.0) ; extra == 'plot'
Provides-Extra: setup
Requires-Dist: pytest-runner (>=5.2) ; extra == 'setup'
Provides-Extra: test
Requires-Dist: seaborn (>=0.11.2) ; extra == 'test'
Requires-Dist: pyarrow (>=7.0.0) ; extra == 'test'
Requires-Dist: ipywidgets (>=7.7.0) ; extra == 'test'
Requires-Dist: black (>=22.3.0) ; extra == 'test'
Requires-Dist: codecov (>=2.1.4) ; extra == 'test'
Requires-Dist: flake8 (>=3.8.3) ; extra == 'test'
Requires-Dist: flake8-debugger (>=3.2.1) ; extra == 'test'
Requires-Dist: isort (>=5.7.0) ; extra == 'test'
Requires-Dist: mypy (>=0.790) ; extra == 'test'
Requires-Dist: pytest (>=5.4.3) ; extra == 'test'
Requires-Dist: pytest-cov (>=2.9.0) ; extra == 'test'
Requires-Dist: pytest-raises (>=0.11) ; extra == 'test'
Requires-Dist: tox (>=3.15.2) ; extra == 'test'

# cdp-data

[![Build Status](https://github.com/CouncilDataProject/cdp-data/workflows/Build/badge.svg)](https://github.com/CouncilDataProject/cdp-data/actions)
[![Documentation](https://github.com/CouncilDataProject/cdp-data/workflows/Documentation/badge.svg)](https://CouncilDataProject.github.io/cdp-data)

Data Utilities and Processing Generalized for All CDP Instances

---

## Installation

**Stable Release:** `pip install cdp-data`<br>
**Development Head:** `pip install git+https://github.com/CouncilDataProject/cdp-data.git`

## Documentation

For full package documentation please visit [councildataproject.github.io/cdp-data](https://councildataproject.github.io/cdp-data).

## Quickstart

### Pulling Datasets

Install basics: `pip install cdp-data`

```python
from cdp_data import CDPInstances, datasets
ds = datasets.get_session_dataset(
    infrastructure_slug=CDPInstances.Seattle,
    start_datetime="2021-01-01",
    store_transcript=True,
)
```

### Plotting and Analysis

Install plotting support: `pip install cdp-data[plot]`

```python
from cdp_data import CDPInstances, keywords
ngram_usage = keywords.compute_ngram_usage_history(
    CDPInstances.Seattle,
    start_datetime="2021-01-01",
)
grid = keywords.plot_ngram_usage_histories(
    ["police", "housing", "transportation"],
    ngram_usage,
    lmplot_kws=dict(  # extra plotting params
        col="ngram",
        hue="ngram",
        scatter_kws={"alpha": 0.2},
        aspect=1.6,
    ),
)
grid.savefig("seattle-keywords-over-time.pdf")
```

## Development

See [CONTRIBUTING.md](CONTRIBUTING.md) for information related to developing the code.

**MIT license**


