From a58f1e306c361bc79f4426138e2208c4eeb855bc Mon Sep 17 00:00:00 2001 From: louisnw Date: Mon, 29 May 2023 21:31:13 +0100 Subject: [PATCH] New Feature: `ChartAsync` - Added the ChartAsync class, allowing for more sophisticated Charts and SubCharts. - Symbol searching, timeframe selectors, and more is now possible with this varation of Chart. `QtChart` and `WxChart` have access to all the methods that `ChartAsync` has, however they utilize their own respective event loops rather than asyncio. New Feature: `StreamlitChart` - Chart window that can display static data within a Streamlit application. Removed the `subscribe_click` method. --- README.md | 81 +- docs/source/conf.py | 2 +- docs/source/docs.md | 156 +- examples/6_async/async.gif | Bin 0 -> 2807469 bytes examples/6_async/async.png | Bin 0 -> 515714 bytes examples/6_async/async.py | 56 + examples/6_async/bar_data/AAPL_1min.csv | 2084 ++++++++++++++ examples/6_async/bar_data/AAPL_30min.csv | 2371 ++++++++++++++++ examples/6_async/bar_data/AAPL_5min.csv | 1780 ++++++++++++ examples/6_async/bar_data/GOOGL_1min.csv | 2085 ++++++++++++++ examples/6_async/bar_data/GOOGL_30min.csv | 2371 ++++++++++++++++ examples/6_async/bar_data/GOOGL_5min.csv | 1780 ++++++++++++ examples/6_async/bar_data/TSLA_1min.csv | 2087 ++++++++++++++ examples/6_async/bar_data/TSLA_30min.csv | 2371 ++++++++++++++++ examples/6_async/bar_data/TSLA_5min.csv | 1802 +++++++++++++ examples/6_callbacks/callbacks.gif | Bin 648445 -> 0 bytes examples/6_callbacks/callbacks.py | 18 - examples/6_callbacks/ohlcv.csv | 2982 --------------------- lightweight_charts/__init__.py | 1 + lightweight_charts/chart.py | 30 +- lightweight_charts/chartasync.py | 246 ++ lightweight_charts/js.py | 134 +- lightweight_charts/widgets.py | 94 +- setup.py | 2 +- 24 files changed, 19390 insertions(+), 3143 deletions(-) create mode 100644 examples/6_async/async.gif create mode 100644 examples/6_async/async.png create mode 100644 examples/6_async/async.py create mode 100644 examples/6_async/bar_data/AAPL_1min.csv create mode 100644 examples/6_async/bar_data/AAPL_30min.csv create mode 100644 examples/6_async/bar_data/AAPL_5min.csv create mode 100644 examples/6_async/bar_data/GOOGL_1min.csv create mode 100644 examples/6_async/bar_data/GOOGL_30min.csv create mode 100644 examples/6_async/bar_data/GOOGL_5min.csv create mode 100644 examples/6_async/bar_data/TSLA_1min.csv create mode 100644 examples/6_async/bar_data/TSLA_30min.csv create mode 100644 examples/6_async/bar_data/TSLA_5min.csv delete mode 100644 examples/6_callbacks/callbacks.gif delete mode 100644 examples/6_callbacks/callbacks.py delete mode 100644 examples/6_callbacks/ohlcv.csv create mode 100644 lightweight_charts/chartasync.py diff --git a/README.md b/README.md index 50e8878..d9c1a35 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@
-# lightweight_charts_python +# lightweight-charts-python [![PyPi Release](https://img.shields.io/pypi/v/lightweight-charts?color=32a852&label=PyPi)](https://pypi.org/project/lightweight-charts/) [![Made with Python](https://img.shields.io/badge/Python-3.9+-c7a002?logo=python&logoColor=white)](https://python.org "Go to Python homepage") [![License](https://img.shields.io/github/license/louisnw01/lightweight-charts-python?color=9c2400)](https://github.com/louisnw01/lightweight-charts-python/blob/main/LICENSE) [![Documentation](https://img.shields.io/badge/documentation-006ee3)](https://lightweight-charts-python.readthedocs.io/en/latest/docs.html) - +![async](https://raw.githubusercontent.com/louisnw01/lightweight-charts-python/main/examples/6_async/async.png) ![cover](https://raw.githubusercontent.com/louisnw01/lightweight-charts-python/main/cover.png) lightweight-charts-python aims to provide a simple and pythonic way to access and implement [TradingView's Lightweight Charts](https://www.tradingview.com/lightweight-charts/). @@ -15,7 +15,7 @@ lightweight-charts-python aims to provide a simple and pythonic way to access an ## Installation ``` -pip install lightweight_charts +pip install lightweight-charts ``` ___ @@ -23,8 +23,13 @@ ___ 1. Simple and easy to use. 2. Blocking or non-blocking GUI. 3. Streamlined for live data, with methods for updating directly from tick data. -4. Support for PyQt and wxPython. -5. Multi-Pane Charts using the `SubChart` ([examples](https://lightweight-charts-python.readthedocs.io/en/latest/docs.html#subchart)). +4. Supports: + * PyQt + * wxPython + * Streamlit + * asyncio +5. [Callbacks](https://lightweight-charts-python.readthedocs.io/en/latest/docs.html#chartasync) allowing for timeframe (1min, 5min, 30min etc.) selectors, searching, and more. +6. Multi-Pane Charts using the `SubChart` ([examples](https://lightweight-charts-python.readthedocs.io/en/latest/docs.html#subchart)). ___ ### 1. Display data from a csv: @@ -183,30 +188,68 @@ if __name__ == '__main__': ![styling image](https://raw.githubusercontent.com/louisnw01/lightweight-charts-python/main/examples/5_styling/styling.png) ___ -### 6. Callbacks: +### 6. ChartAsync: ```python +import asyncio import pandas as pd -from lightweight_charts import Chart + +from lightweight_charts import ChartAsync -def on_click(bar: dict): - print(f"Time: {bar['time']} | Close: {bar['close']}") +def get_bar_data(symbol, timeframe): + return pd.read_csv(f'bar_data/{symbol}_{timeframe}.csv') + + +class API: + def __init__(self): + self.chart = None # Changes after each callback. + self.symbol = 'TSLA' + self.timeframe = '5min' + + async def on_search(self, searched_string): # Called when the user searches. + self.symbol = searched_string + new_data = await self.get_data() + if new_data.empty: + return + self.chart.set(new_data) + self.chart.corner_text(searched_string) + + async def on_timeframe_selection(self, timeframe): # Called when the user changes the timeframe. + self.timeframe = timeframe + new_data = await self.get_data() + if new_data.empty: + return + self.chart.set(new_data) + + async def get_data(self): + if self.symbol not in ('AAPL', 'GOOGL', 'TSLA'): + print(f'No data for "{self.symbol}"') + return pd.DataFrame() + data = get_bar_data(self.symbol, self.timeframe) + return data + + +async def main(): + api = API() + + chart = ChartAsync(api=api, debug=True) + chart.legend(True) + + chart.create_switcher(api.on_timeframe_selection, '1min', '5min', '30min', default='5min') + chart.corner_text(api.symbol) + + df = get_bar_data(api.symbol, api.timeframe) + chart.set(df) + + await chart.show(block=True) if __name__ == '__main__': - - chart = Chart() - - df = pd.read_csv('ohlcv.csv') - chart.set(df) - - chart.subscribe_click(on_click) - - chart.show(block=True) + asyncio.run(main()) ``` -![callbacks gif](https://raw.githubusercontent.com/louisnw01/lightweight-charts-python/main/examples/6_callbacks/callbacks.gif) +![async gif](https://raw.githubusercontent.com/louisnw01/lightweight-charts-python/main/examples/6_async/async.gif) ___
diff --git a/docs/source/conf.py b/docs/source/conf.py index 991f0ad..b0e782f 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -1,7 +1,7 @@ project = 'lightweight-charts-python' copyright = '2023, louisnw' author = 'louisnw' -release = '1.0.8' +release = '1.0.9' extensions = ["myst_parser"] diff --git a/docs/source/docs.md b/docs/source/docs.md index 6d79848..07f4dc3 100644 --- a/docs/source/docs.md +++ b/docs/source/docs.md @@ -9,7 +9,7 @@ ___ ## Common Methods -These methods can be used within the `Chart`, `SubChart`, `QtChart`, and `WxChart` objects. +These methods can be used within the [`Chart`](#chart), [`SubChart`](#subchart), [`ChartAsync`](#chartasync), [`QtChart`](#qtchart), [`WxChart`](#wxchart) and [`StreamlitChart`](#streamlitchart) objects. ___ ### `set` @@ -22,6 +22,10 @@ The data must be given as a DataFrame, with the columns: `time | open | high | low | close | volume` The `time` column can also be named `date`, and the `volume` column can be omitted if volume is not enabled. + +```{important} +the `time` column must have rows all of the same timezone and locale. This is particularly noticeable for data which crosses over daylight saving hours on data with intervals of less than 1 day. Errors are likely to be raised if they are not converted beforehand. +``` ___ ### `update` @@ -47,7 +51,6 @@ As before, the `time` can also be named `date`, and the `volume` can be omitted The provided ticks do not need to be rounded to an interval (1 min, 5 min etc.), as the library handles this automatically.``````` ``` - ___ ### `create_line` @@ -163,15 +166,6 @@ ___ Configures the legend of the chart. ___ -### `subscribe_click` -`function: object` - -Subscribes the given function to a chart 'click' event. - -The event emits a dictionary containing the bar at the time clicked, the id of the `Chart` or `SubChart`, and the hover price: - -`time | open | high | low | close | id | hover` -___ ### `create_subchart` `volume_enabled: bool` | `position: 'left'/'right'/'top'/'bottom'`, `width: float` | `height: float` | `sync: bool/str` | `-> SubChart` @@ -191,7 +185,7 @@ Creates and returns a [SubChart](#subchart) object, placing it adjacent to the d ___ -## `Chart` +## Chart `volume_enabled: bool` | `width: int` | `height: int` | `x: int` | `y: int` | `on_top: bool` | `debug: bool` The main object used for the normal functionality of lightweight-charts-python, built on the pywebview library. @@ -214,7 +208,7 @@ Exits and destroys the chart and window. ___ -## `Line` +## Line The `Line` object represents a `LineSeries` object in Lightweight Charts and can be used to create indicators. As well as the methods described below, the `Line` object also has access to the [`title`](#title), [`marker`](#marker) and [`horizontal_line`](#horizontal-line) methods. @@ -239,7 +233,7 @@ Updates the data for the line. This should be given as a Series object, with labels akin to the `line.set()` function. ___ -## `SubChart` +## SubChart The `SubChart` object allows for the use of multiple chart panels within the same `Chart` window. All of the [Common Methods](#common-methods) can be used within a `SubChart`. Its instance should be accessed using the [create_subchart](#create-subchart) method. @@ -302,11 +296,112 @@ if __name__ == '__main__': ``` ___ +## ChartAsync +`api: object` | `top_bar: bool` | `search_box: bool` -## `QtChart` +The `ChartAsync` object allows for asyncronous callbacks to be passed back to python, allowing for more sophisticated chart layouts including search boxes and timeframe selectors. + +[`QtChart`](#qtchart) and [`WxChart`](#wxchart) also have access to the methods specific to `ChartAsync`, however they use their respective event loops to emit callbacks rather than asyncio. + +* `api`: The class object that the callbacks will be emitted to (see [How to use Callbacks](#how-to-use-callbacks)). +* `top_bar`: Adds a Top Bar to the `Chart` or `SubChart` and allows use of the `create_switcher` method. +* `search_box`: Adds a search box onto the `Chart` or `SubChart` that is activated by typing. + +___ +### How to use Callbacks + +Callbacks are emitted to the class given as the `api` parameter shown above. + +Take a look at this minimal example: + +```python +class API: + def __init__(self): + self.chart = None + + async def on_search(self, string): + print(f'You searched for {string}, within the chart holding the id: "{self.chart.id}"') +``` +Upon searching in a `Chart` or `SubChart` window, the expected output would be akin to: +``` +You searched for AAPL, within the chart holding the id: "window.blyjagcr" +``` +When using `SubChart`'s, the id will change depending upon which pane was used to search, due to the instance of `self.chart` dynamically updating to the latest pane which triggered the callback. +This allows access to the specific [Common Methods](#common-methods) for the pane in question. + +Certain callback methods must be specifically named: +* Search callbacks will always be emitted to a method named `on_search` +___ + +### `create_switcher` +`method: function` | `*options: str` | `default: str` + +* `method`: The function from the `api` class given to the constructor that will receive the callback. +* `options`: The strings to be displayed within the switcher. This may be a variety of timeframes, security types, or whatever needs to be updated directly from the chart. +* `default`: The initial switcher option set. +___ + +### Example: + +```python +import asyncio +import pandas as pd +from my_favorite_broker import get_bar_data + +from lightweight_charts import ChartAsync + + +class API: + def __init__(self): + self.chart = None + self.symbol = 'TSLA' + self.timeframe = '5min' + + async def on_search(self, searched_string): # Called when the user searches. + self.symbol = searched_string + new_data = await self.get_data() + if not new_data: + return + self.chart.set(new_data) # sets data for the Chart or SubChart in question. + self.chart.corner_text(searched_string) + + async def on_timeframe(self, timeframe): # Called when the user changes the timeframe. + self.timeframe = timeframe + new_data = await self.get_data() + if not new_data: + return + self.chart.set(new_data) + + async def get_data(self): + data = await get_bar_data(self.symbol, self.timeframe) + return data + + +async def main(): + api = API() + + chart = ChartAsync(api=api, debug=True) + + chart.corner_text('TSLA') + chart.create_switcher(api.on_timeframe, '1min', '5min', '30min', 'H', 'D', 'W', default='5min') + + df = pd.read_csv('ohlcv.csv') + chart.set(df) + + await chart.show(block=True) + + +if __name__ == '__main__': + asyncio.run(main()) +``` +___ + +## QtChart `widget: QWidget` | `volume_enabled: bool` -The `QtChart` object allows the use of charts within a `QMainWindow` object, and has similar functionality to the `Chart` object for manipulating data, configuring and styling. +The `QtChart` object allows the use of charts within a `QMainWindow` object, and has similar functionality to the `Chart` and `ChartAsync` objects for manipulating data, configuring and styling. + +Callbacks can be recieved through the Qt event loop, using an [API](#how-to-use-callbacks) class that uses **syncronous** methods instead of **asyncronous** methods. ___ ### `get_webview` @@ -347,11 +442,12 @@ app.exec_() ``` ___ -## `WxChart` +## WxChart `parent: wx.Panel` | `volume_enabled: bool` -The WxChart object allows the use of charts within a `wx.Frame` object, and has similar functionality to the `Chart` object for manipulating data, configuring and styling. +The WxChart object allows the use of charts within a `wx.Frame` object, and has similar functionality to the `Chart` and `ChartAsync` objects for manipulating data, configuring and styling. +Callbacks can be recieved through the Wx event loop, using an [API](#how-to-use-callbacks) class that uses **syncronous** methods instead of **asyncronous** methods. ___ ### `get_webview` @@ -394,6 +490,30 @@ if __name__ == '__main__': app.MainLoop() ``` +___ +## StreamlitChart +`parent: wx.Panel` | `volume_enabled: bool` +The `StreamlitChart` object allows the use of charts within a Streamlit app, and has similar functionality to the `Chart` object for manipulating data, configuring and styling. +This object only supports the displaying of **static** data, and should not be used with the `update_from_tick` or `update` methods. Every call to the chart object must occur **before** calling `load`. +___ + +### `load` + +Loads the chart into the Streamlit app. This should be called after setting, styling, and configuring the chart, as no further calls to the `StreamlitChart` will be acknowledged. +___ + +### Example: +```python +import pandas as pd +from lightweight_charts.widgets import StreamlitChart + +chart = StreamlitChart(width=900, height=600) + +df = pd.read_csv('ohlcv.csv') +chart.set(df) + +chart.load() +``` diff --git a/examples/6_async/async.gif b/examples/6_async/async.gif new file mode 100644 index 0000000000000000000000000000000000000000..6f68f3c28c7c094c9540f0ef7db63a72fcee4a4b GIT binary patch literal 2807469 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%0D)r(O&kL5BMdkj? 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

Qq>gkEAs3 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 z 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