diff --git a/docs/wiki/Home.md b/docs/wiki/Home.md index 214e313a..4d8cd3c8 100644 --- a/docs/wiki/Home.md +++ b/docs/wiki/Home.md @@ -16,24 +16,49 @@ CSP (Composable Stream Processing) is a library for high-performance real-time e - **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 - - ## Get Started - [Install CSP](Installation) and [write your first CSP program](First-Steps) - Learn more about [nodes](CSP-Node), [graphs](CSP-Graph), and [execution modes](Execution-Modes) - Learn to extend CSP with [adapters](Adapters) - +## Applications -> \[!TIP\] -> Find relevant docs with GitHub’s search function, use `repo:Point72/csp type:wiki ` to search the documentation Wiki Pages. + + + + + + + + + + + +
Seismic waveform data processingNYC real-time transportation analysisWikimedia page edits monitoring
+ + + + + + + + + + + +
+ +Check out the [examples directory](https://github.com/Point72/csp/tree/main/examples) for more CSP features and use cases. ## Community - [Contribute](Contribute) to CSP and help improve the project - Read about future plans in the [project roadmap](Roadmap) +> \[!TIP\] +> Find relevant docs with GitHub’s search function, use `repo:Point72/csp type:wiki ` to search the documentation Wiki Pages. + ## License CSP is licensed under the Apache 2.0 license. See the [LICENSE](https://github.com/Point72/csp/blob/main/LICENSE) file for details. diff --git a/docs/wiki/_Sidebar.md b/docs/wiki/_Sidebar.md index 8d6c50d4..57ab0e86 100644 --- a/docs/wiki/_Sidebar.md +++ b/docs/wiki/_Sidebar.md @@ -48,8 +48,8 @@ Notes for editors: - [`csp.Struct` API](csp.Struct-API) - [`csp.dynamic` API](csp.dynamic-API) - [`csp.profiler` API](csp.profiler-API) -- [Examples](Examples) - [Glossary of Terms](Glossary) +- [Examples](https://github.com/Point72/csp/tree/main/examples) **Developer Guide** diff --git a/docs/wiki/images/mta-example.png b/docs/wiki/images/mta-example.png new file mode 100644 index 00000000..c819a4fe Binary files /dev/null and b/docs/wiki/images/mta-example.png differ diff --git a/docs/wiki/images/seismic-waveform-example.png b/docs/wiki/images/seismic-waveform-example.png new file mode 100644 index 00000000..ea2212f6 Binary files /dev/null and b/docs/wiki/images/seismic-waveform-example.png differ diff --git a/docs/wiki/images/wikimedia-example.png b/docs/wiki/images/wikimedia-example.png new file mode 100644 index 00000000..f56f53e0 Binary files /dev/null and b/docs/wiki/images/wikimedia-example.png differ diff --git a/docs/wiki/references/Examples.md b/docs/wiki/references/Examples.md deleted file mode 100644 index 0ad65ddb..00000000 --- a/docs/wiki/references/Examples.md +++ /dev/null @@ -1,11 +0,0 @@ -> \[!WARNING\] -> This page is a work in progress. - - - -# Examples - -To see a collection of examples that demonstrate how to use CSP, visit the [examples folder](https://github.com/Point72/csp/tree/main/examples). diff --git a/examples/01_basics/README.md b/examples/01_basics/README.md index 72ebc94f..599cb51e 100644 --- a/examples/01_basics/README.md +++ b/examples/01_basics/README.md @@ -2,5 +2,5 @@ - [Simplest Possible Graph](./e1_basic.py) - [Ticking Graphs](./e2_ticking.py) -- [Complete Example (Trading)](./e3_trade_pnl.py) -- [Visualizing a Graph](./e4_show_graph.py) +- [Visualizing a Graph](./e3_show_graph.py) +- [Complete Example (Trading)](./e4_trade_pnl.py) diff --git a/examples/03_using_adapters/websocket/README.md b/examples/03_using_adapters/websocket/README.md index 6596843f..7d228dc8 100644 --- a/examples/03_using_adapters/websocket/README.md +++ b/examples/03_using_adapters/websocket/README.md @@ -1,3 +1,4 @@ # Websocket Adapter +- [Websocket Client](./e1_websocket_client.py) - [Websocket Output](./e2_websocket_output.py) diff --git a/examples/README.md b/examples/README.md index 075acb9b..c8640a66 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,11 +1,159 @@ # `csp` examples -- [Basics](./01_basics/) -- [Intermediate](./02_intermediate/) -- [Adapters](./03_using_adapters/) -- [Writing Adapters](./04_writing_adapters/) -- [Writing C++ Nodes and Adapters](./05_cpp/) -- [Advanced](./06_advanced/) -- [End to End Examples](./07_end_to_end/) -- [Just for fun!](./98_just_for_fun/) -- [Developer Tools](./99_developer_tools/) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeExampleNotes
BasicsBasic GraphBasic sum of constant integers
Ticking GraphsCumulative sum of streaming integers
Visualizing a GraphAsk-bid spread of trade with graph visualization
Complete Example (Trading)Volume Weighted Average price (VWAP) and the Profit and Loss (PnL) of a trade
IntermediateGraph Loops (csp.feedback)Add cycles in an acyclic graph
Statistics NodesStatistical computations like rolling VWAP, Exponential Moving Average (EMA), and cumulative volume of + trades
Statistics Nodes with NumpyRolling window statistics on a set of three symbols using NumPy ndarrays
Expression Nodes with exprtkCalculate mathematical expressions with streaming data
Using AdaptersKafka Adapter Example + Stream data from a Kafka bus using `KafkaAdapterManager` and `MessageMapper`s +
Parquet Adapter Example + Read and write CSP-friendly data from/to Parquet files +
Websocket Client + Send and receive messages over a websocket connection +
Websocket Output + Send data over a websocket connection and view HTML output +
Writing AdaptersGeneric Push Adapter
Pull Input Adapter
Pull Input Adapter with Adapter + Manager
Push Input Adapter
Push Input Adapter with Adapter + Manager
Output Adapter
Complete Input/Output Adapter with + Adapter Manager
Writing C++ Nodes and AdaptersC++ Node
C++ Node with csp.Struct
AdvancedDynamic Graphs + Update shape of graph at runtime +
Pandas Extension + Use CSP within a pandas DataFrame +
End-to-end examplesMTA Subway Data + Access real-time NYC Transportation data feed +
Seismic Data with obspy + Analyze Seismic waveform data and compare it with batch processing methods +
Wikipedia Updates and Edits + Monitor live updates to all Wikimedia sites +
Just for fun!NAND Computer + Understand csp.node & csp.graph by connecting NAND logic gates +
Developer ToolsProfiling csp code + Profile a CSP Graph, view static attributes and runtime performance +