csp
csp copied to clipboard
csp is a high performance reactive stream processing library, written in C++ and Python
The CSP Engine doesnt need to deal with the lock free queue with optional blocking, it's never really going to be used in non-blocking / busy looping mode. We can...
Will allow **local** documentation set up with `mkdocs serve --clean` Also fixes a few broken links resulting from the documentation restructure.
We rely on an unstable C++ ABI for pyarrow (https://github.com/Point72/csp/tree/main/cpp/csp/python/adapters/vendored/) for historical reasons. This does not work in all circumstances (e.g. when we built mac wheels with `gcc`, we were...
The current build process uses `macos-14` native arm runner to build our arm wheels: https://github.com/Point72/csp/blob/063b137f61867cf391b97abf31031d4621844e3b/.github/workflows/build.yml#L223 That limits the build to only python 3.8/3.9. Instead, we can remove the macos-14 arm...
```python import csp from datetime import datetime class MyClass: @csp.graph def my_graph(self, x: int): csp.print("x", csp.const(x)) class MySubClass(MyClass): @csp.graph def my_graph(self): super().my_graph(x=5) msc = MySubClass() csp.run(msc.my_graph, realtime=True, starttime=datetime.now()) ``` ```raw...
This will be tricky given our use of threading, our various external adapters, reliance on filesystem, etc etc.
**Describe the bug** csp mutates dict/list baskets of ints when casting to float (instead of making a copy when casting is needed). This can cause errors in downstream code. **To...
**Describe the bug** Trying to run this node will segault, though it's not immediately clear you shouldn't do stuff like this. ```python import csp from typing import Optional @csp.node def...
reported in https://github.com/Point72/csp/issues/88#issuecomment-1959057012 ``` Python 3.8.10 | packaged by conda-forge | (default, Sep 13 2021, 21:46:58) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>...
A few C++ examples have been added, we should ensure these build/run in CI/CD so that we know they work across our 2 (soon to be 3) supported operating systems.