This is a Python-based market data tool with a graphical user interface (GUI) built using Tkinter. The application allows users to manage a list of symbols, start and stop a WebSocket connection for live data, and view stored market data saved as JSON files.
main.py
Entry point of the application. It launches the GUI by instantiating ui.main_form.MainForm.
Contains modules that handle key functionalities:
- config_manager.py: Manages the configuration and storage of symbol settings.
- data_storage.py: Handles saving received market data as JSON files in the
data/folder, with timestamps. - websocket_client.py: Manages WebSocket connections, including starting and stopping the client.
Contains the GUI components:
- main_form.py: Implements the main application window with two tabs:
- ConfigTab: Provides CRUD operations for symbols, logs actions, and controls the WebSocket connection (start/stop).
- DataTab: Loads and displays stored market data with filtering options.
Directory where JSON files containing market data are stored.
Contains build artifacts generated by tools such as PyInstaller. Files such as main.exe and related TOC files can be found here.
Specifies files and directories to ignore, including build artifacts and caches.
- Python 3.11
- Tkinter (bundled with Python)
- Additional Python packages:
requestswebsocket-clienttkcalendar
Use pip to install the required packages:
pip install -r requirements.txtTo start the application, run the following command:
python main.pyThis command launches the GUI, where you can manage symbols, control the WebSocket connection, and view market data.
The ConfigTab in main_form.py allows users to add and remove symbols, and logs system messages with different levels (info, error).
The DataTab in main_form.py reads JSON files from the data/ folder, applying filters based on user input, and displays data in a tabular format.
Files under the build/ folder are generated by build tools and are excluded by the .gitignore file.
This project is distributed under the terms specified in your preferred license.