A Python application for managing ThetaData's ThetaTerminal.jar with a simple GUI interface.
This section is for users who just want to use the ThetaData Terminal Manager application without setting up a development environment.
-
Download the Application
- Download the latest
ThetaDataTerminalManager.exefrom the releases section - No installation required - it's a standalone executable
- Download the latest
-
First Time Setup
- Double-click
ThetaDataTerminalManager.exeto launch the application - You will be prompted to download the thetaterminal.jar file if it's not present
- Double-click
-
Using the Application
-
Enter your ThetaData username and password in the provided fields

-
Username/Password: Enter your ThetaData credentials
-
Show Password: Check this box to reveal your password while typing
-
Save Credentials: Your credentials will be saved securely for future use
-
Start Button: Click to launch the ThetaTerminal
-
Stop Button: Click to terminate the ThetaTerminal
-
Logs Button: Open the logs folder to view ThetaTerminal log files
-
Config Button: Open the configuration folder
-
Servers Button: Configure server regions (MDDS/FPSS settings)
-
Log Area: View real-time output from the terminal
-
Clear Log: Clear the log display
-
Copy Log: Copy log contents to clipboard
-
-
Starting the Terminal
- Click the "Start" button to launch ThetaTerminal
- The log area will show the terminal's output
- Wait for the terminal to fully initialize before using it
-
Stopping the Terminal
- Click the "Stop" button to safely terminate the terminal
- Wait for the process to fully stop before closing the application
-
Server Configuration (Advanced Users)
- Click the "🌐 Servers" button to open server settings
- MDDS Region: Select the market data server region
- FPSS Region: Select the fundamental data server region
- Production Servers: Use NJ_HOSTS for live trading data
- Testing Servers: STAGE and DEV servers are for testing only
- Reset to Production: Quickly reset both regions to production servers
- Changes take effect when ThetaTerminal is restarted
- Operating System: Windows 10 or newer
- Java: Java Runtime Environment (JRE) 8 or newer must be installed
- Download from: https://www.java.com/download/
- Internet Connection: Required for initial ThetaTerminal.jar download
Application won't start:
- Ensure Java is installed on your system
- Try running as administrator
- Check Windows Defender/antivirus isn't blocking the application
Can't connect to ThetaData:
- Verify your username and password are correct
- Check your internet connection
- Ensure ThetaData services are operational
Terminal crashes or stops unexpectedly:
- Check the log area for error messages
- Try restarting the application
- Ensure you have sufficient system resources
Server configuration issues:
- Server settings only work after ThetaTerminal has run at least once
- Use production servers (NJ_HOSTS) for live data
- Test servers may have incomplete or unstable data
- Changes require restarting ThetaTerminal to take effect
If you encounter issues:
- Check the log area for error messages
- Take a screenshot of any error dialogs
- Report issues on the GitHub repository with:
- Your operating system version
- Java version (run
java -versionin command prompt) - Screenshot of the error
- Contents of the log area
This section contains technical information for developers who want to build, modify, or contribute to the project.
- Automatically downloads ThetaTerminal.jar if not present
- Saves and loads username/password credentials
- Start and stop ThetaTerminal with a click
- Log viewing with clear and copy functionality
- Password reveal option for ease of use
- Python 3.12 or newer
- Java Runtime Environment (JRE) for running ThetaTerminal.jar
- uv package manager
-
Clone this repository
-
Install uv if you haven't already:
# On Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # On macOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Or with pip pip install uv -
Install dependencies and create virtual environment:
uv sync
Run the application:
uv run main.py
Or activate the virtual environment and run directly:
# Activate the environment
source .venv/bin/activate # On Unix/macOS
# or
.venv\Scripts\activate # On Windows
# Run the application
python main.py
- Enter your ThetaData username and password
- Click "Start" to launch the terminal
- The log area will display output from the terminal
- Click "Stop" to terminate the terminal when done
To work on the project:
-
Install development dependencies:
uv sync --dev -
Add new dependencies:
uv add package-name -
Add development dependencies:
uv add --dev package-name
To update the version number:
# Update to version 1.0.1
uv run python update_version.py 1 0 1
# Update to version 1.2.0 build 5
uv run python update_version.py 1 2 0 5This will automatically update:
version_info.py- Version metadata for the executablepyproject.toml- Package version
The version information will be embedded in the built executable and visible in Windows Properties.
To build a standalone executable:
-
Ensure dependencies are installed:
uv sync -
On Windows, run:
build.batOr run the Python build script directly:
uv run build.py -
The executable will be created in the
distdirectory
You can also build with PyInstaller directly:
uv run pyinstaller --name=ThetaDataTerminalManager --onefile --windowed main.py
main.py- Entry point for the applicationapp/terminal_manager.py- Core logic for managing the terminalapp/ui/main_window.py- User interface implementationbuild.py- Build script for creating the executablepyproject.toml- Project configuration and dependencies
This project is licensed under the MIT License - see the LICENSE file for details.
Created by ajnaduvil
Copyright (c) 2025 ajnaduvil
If you see warnings about VIRTUAL_ENV not matching or if you have an old pipenv environment active, you can:
- Run
deactivate.batto clear old virtual environment variables - Or manually deactivate pipenv:
exitfrom the pipenv shell - The
build.batscript automatically handles this by clearing environment variables
If the build fails:
- Ensure all dependencies are installed:
uv sync - Check that Python 3.12+ is available
- Verify Java Runtime Environment is installed for ThetaTerminal.jar
If the executable doesn't show the custom icon:
- Verify icon is included: The build script will show "Using icon: --icon=app\resources\icon.ico" if found
- Refresh Windows icon cache: Run
refresh_icon.batto clear and refresh the icon cache - Check icon format: Ensure the icon.ico file is a valid Windows icon format
- Alternative icons: The build script will try these files in order:
app/resources/icon.icoapp/resources/icon_32x32.icoapp/resources/icon_128x128.ico
- Manual verification: Right-click the executable → Properties to see if the icon appears there



