Metadata-Version: 2.4
Name: csp-gateway
Version: 2.2.0
Summary: csp-gateway is a framework for building high-performance streaming applications
Project-URL: Repository, https://github.com/Point72/csp-gateway
Project-URL: Homepage, https://github.com/Point72/csp-gateway/wiki
Author-email: "Point72, L.P." <OpenSource@point72.com>
License: Apache-2.0
License-File: LICENSE
Keywords: csp,csp-gateway
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.9
Requires-Dist: atomic-counter>=0.1.3
Requires-Dist: ccflow<1,>=0.5.9
Requires-Dist: colorlog
Requires-Dist: csp<1,>=0.8.0
Requires-Dist: deprecation
Requires-Dist: duckdb>=0.10
Requires-Dist: fastapi>=0.110
Requires-Dist: fsspec
Requires-Dist: httpx
Requires-Dist: hydra-core
Requires-Dist: janus
Requires-Dist: jsonref
Requires-Dist: nest-asyncio
Requires-Dist: omegaconf
Requires-Dist: orjson
Requires-Dist: packaging
Requires-Dist: perspective-python<4,>=3.7
Requires-Dist: psutil
Requires-Dist: pyarrow
Requires-Dist: pydantic>=2
Requires-Dist: uvicorn<0.31,>=0.28.1
Requires-Dist: uvloop
Requires-Dist: websockets
Provides-Extra: client
Requires-Dist: httpx; extra == 'client'
Requires-Dist: jsonref; extra == 'client'
Requires-Dist: nest-asyncio; extra == 'client'
Requires-Dist: packaging; extra == 'client'
Requires-Dist: pydantic>=2; extra == 'client'
Provides-Extra: develop
Requires-Dist: aiohttp; extra == 'develop'
Requires-Dist: aiostream; extra == 'develop'
Requires-Dist: arrow-odbc; extra == 'develop'
Requires-Dist: asv; extra == 'develop'
Requires-Dist: build; extra == 'develop'
Requires-Dist: bump-my-version; extra == 'develop'
Requires-Dist: check-manifest; extra == 'develop'
Requires-Dist: codespell<2.5,>=2.4; extra == 'develop'
Requires-Dist: datadog; extra == 'develop'
Requires-Dist: hatch-js; extra == 'develop'
Requires-Dist: hatch-multi>=1; extra == 'develop'
Requires-Dist: hatchling; extra == 'develop'
Requires-Dist: httpx; extra == 'develop'
Requires-Dist: jsonref; extra == 'develop'
Requires-Dist: mdformat-tables>=1; extra == 'develop'
Requires-Dist: mdformat<0.8,>=0.7.22; extra == 'develop'
Requires-Dist: nest-asyncio; extra == 'develop'
Requires-Dist: opsgenie-sdk; extra == 'develop'
Requires-Dist: packaging; extra == 'develop'
Requires-Dist: pandas; extra == 'develop'
Requires-Dist: polars; extra == 'develop'
Requires-Dist: pytest; extra == 'develop'
Requires-Dist: pytest-aiohttp; extra == 'develop'
Requires-Dist: pytest-asyncio; extra == 'develop'
Requires-Dist: pytest-cov; extra == 'develop'
Requires-Dist: python-magic; extra == 'develop'
Requires-Dist: ruff<0.13,>=0.9; extra == 'develop'
Requires-Dist: sqlalchemy; extra == 'develop'
Requires-Dist: twine; extra == 'develop'
Requires-Dist: watchdog; extra == 'develop'
Requires-Dist: wheel; extra == 'develop'
Provides-Extra: server
Requires-Dist: atomic-counter>=0.1.3; extra == 'server'
Requires-Dist: ccflow<1,>=0.5.9; extra == 'server'
Requires-Dist: colorlog; extra == 'server'
Requires-Dist: csp<1,>=0.8.0; extra == 'server'
Requires-Dist: deprecation; extra == 'server'
Requires-Dist: duckdb>=0.10; extra == 'server'
Requires-Dist: fastapi>=0.110; extra == 'server'
Requires-Dist: fsspec; extra == 'server'
Requires-Dist: hydra-core; extra == 'server'
Requires-Dist: janus; extra == 'server'
Requires-Dist: omegaconf; extra == 'server'
Requires-Dist: orjson; extra == 'server'
Requires-Dist: perspective-python<4,>=3.7; extra == 'server'
Requires-Dist: psutil; extra == 'server'
Requires-Dist: pyarrow; extra == 'server'
Requires-Dist: pydantic>=2; extra == 'server'
Requires-Dist: uvicorn<0.31,>=0.28.1; extra == 'server'
Requires-Dist: uvloop; extra == 'server'
Requires-Dist: websockets; extra == 'server'
Description-Content-Type: text/markdown

<a href="https://github.com/point72/csp-gateway">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://github.com/point72/csp-gateway/raw/main/docs/img/logo-name-dark.png?raw=true">
    <img alt="csp-gateway logo, overlapping blue chevrons facing right" src="https://github.com/point72/csp-gateway/raw/main/docs/img/logo-name.png?raw=true" width="400">
  </picture>
</a>

<br />

[![Build Status](https://github.com/Point72/csp-gateway/actions/workflows/build.yaml/badge.svg?branch=main&event=push)](https://github.com/Point72/csp-gateway/actions/workflows/build.yaml)
[![codecov](https://codecov.io/gh/Point72/csp-gateway/branch/main/graph/badge.svg)](https://codecov.io/gh/Point72/csp-gateway)
[![License](https://img.shields.io/github/license/Point72/csp-gateway)](https://github.com/Point72/csp-gateway)
[![PyPI](https://img.shields.io/pypi/v/csp-gateway.svg)](https://pypi.python.org/pypi/csp-gateway)

## Overview

`csp-gateway` is a framework for building high-performance streaming applications.
It is is composed of four major components:

- Engine: [csp](https://github.com/point72/csp), a streaming, complex event processor core
- API: [FastAPI](https://fastapi.tiangolo.com) REST/WebSocket API
- UI: [Perspective](https://perspective.finos.org) and React based frontend with automatic table and chart visualizations
- Configuration: [ccflow](https://github.com/point72/ccflow), a [Pydantic](https://docs.pydantic.dev/latest/)/[Hydra](https://hydra.cc) based extensible, composeable dependency injection and configuration framework

For a detailed overview, see our [Documentation](https://github.com/Point72/csp-gateway/wiki/Overview).

![A brief demo gif of csp-gateway ui, graph viewer, rest api docs, and rest api](https://raw.githubusercontent.com/point72/csp-gateway/main/docs/img/demo.gif)

## Installation

`csp-gateway` can be installed via [pip](https://pip.pypa.io) or [conda](https://docs.conda.io/en/latest/), the two primary package managers for the Python ecosystem.

To install `csp-gateway` via **pip**, run this command in your terminal:

```bash
pip install csp-gateway
```

To install `csp-gateway` via **conda**, run this command in your terminal:

```bash
conda install csp-gateway -c conda-forge
```

## Getting Started

See [our wiki!](https://github.com/Point72/csp-gateway/wiki)

## Development

Check out the [contribution guide](https://github.com/Point72/csp-gateway/wiki/Contribute) for more information.

## License

This software is licensed under the Apache 2.0 license. See the [LICENSE](https://github.com/Point72/csp-gateway/blob/main/LICENSE) file for details.
