We’re excited to announce that CSP (Composable Stream Processing), a library developed at Point72, is now available under an open-source license. CSP is a library for high-performance real-time event stream processing in Python. It combines a powerful C++ Graph Processing Engine with the flexibility of Python for rapid prototyping and development.
“With CSP, quant developers are now able to write robust production-quality code once for both their research and real time production runs in a familiar Python setting, while getting the performance benefits of a C++ engine. They are able to quickly develop and test against historical or simulated data, and then quickly deploy it to production on live data.” – Rob Ambalu, Point72/Cubist
Designed for performance and customization, CSP is uniquely suited for a range of real-time streaming applications. Key features of CSP include:
- Simulation (i.e., offline) mode: Test workflows on historical data and quickly move to real-time data in deployment
- Infrastructure-agnostic architecture: Connect to any data format or storage database using built-in or custom adapters
- Library of built-in operations: Write workflows quickly using CSP’s built-in set of general, statistical, mathematical “nodes” that define common runtime computations
- Highly customizable API: Write your own input and output adapters for any data/storage formats and real-time adapters for specific workflows
- PyData interoperability: Use your favorite libraries from the Scientific Python Ecosystem for numerical and statistical computations
- Functional/declarative style: Write concise and composable code for stream processing by building graphs in Python
“We decided to open source CSP to help build our brand, to attract and retain talent, and to give the CSP project more room to grow and evolve. We are excited to give back to the open-source community and look forward to collaborating on future developments.” – Pascal Tomecek, Point72/Cubist
CSP is now developed in the open on GitHub under the Apache-2.0 license. Check out more details in the project’s repository.
And if you’d like to get more involved, visit the project’s documentation wiki to try out CSP for your applications, and check out our contribution guidelines to contribute code, documentation, report a bug, or suggest new features. Learn the technical development plan for the CSP library, including short- and long-term ideas in the project roadmap.
For a gentler introduction to event streaming and CSP, join us this week at PyData London 2024 for our talk on Enabling real-time insights through stream processing in Python.