Metadata-Version: 2.4
Name: analytics-ingest
Version: 0.1.29
Summary: Python client for ingesting signals, DTCs, network stats, and GPS data to a GraphQL backend
Author-email: Haseeb Saif Ullah <hsaif@intrepidcs.com>
License: MIT
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.31
Requires-Dist: graphql-core>=3.2
Requires-Dist: faker>=19.0
Requires-Dist: pydantic>=2.5
Requires-Dist: more-itertools>=9.1.0
Provides-Extra: dev
Requires-Dist: black>=23.3.0; extra == "dev"
Requires-Dist: isort>=5.12.0; extra == "dev"
Requires-Dist: pre-commit>=3.5.0; extra == "dev"
Requires-Dist: pytest>=7.4.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: mypy>=1.7.0; extra == "dev"

# Analytics Ingest Client

A lightweight Python library to batch and push signals, DTCs, GPS data, and network stats to a GraphQL backend.

---

## 🔧 Features

- Supports Python 3.11+
- Clean, single-class interface: `IcsAnalytics`
- In-memory caching for resolved IDs (message id or configuration)
- Batching support (by interval, count, or signal limit)
- Async-safe request queuing (only 1 request at a time)
- Minimal dependency footprint
- Easy to test and integrate

---

## 🚀 Installation

```bash
pip3 install analytics-ingest

or

pip install analytics-ingest

```

## Run Test Cases

```
PYTHONPATH=src python3 -m unittest discover -s tests -v
```

```
python3 -m build
python -m twine upload dist/*
```
