Titan is a game/program launcher, tracker, and manager written in Python.
Latest Version: v0.11
- Minimally manage your game library.
- Easily "chain" programs together (Example: opening OBS, LiveSplit, and your favorite Speedgame with one click).
- Keep track of how much you've used any program (Example: track how long you've worked on a project in your editor, how long you've played a game for, etc.).
- Auto updater! Download once, easily update forever!
- A fully-featured game library manager, such as: Playnite, LaunchBox, etc.
- A program to analyze program usage in-depth (yet)
Titan can be installed either by downloading a binary from the releases page, or by compiling it yourself.
- Download the latest release (titan-vXXX-win.zip) from the releases page.
- Open the .zip file and extract the titan folder.
- Run titan.exe. Note: You may need to run Titan as Administrator depending on where you extracted it/what entries you make.
Requirements: (requirements.txt)
- Python 3.7.3 (other versions untested)
- wxPython -
pip install wxPython==4.0.6
- psutil -
pip install psutil==5.6.3
- wxasync -
pip install wxasync==0.4
- toml -
pip install toml==0.10.0
Compilation with PyInstaller:
git clone https://github.com/kyoto-shift/titan-py.git
cd titan/
pip install pyinstaller && pip install -r requirements.txt
pyinstaller -y -F -w -n titan_patcher --distpath "./titan/patcher/_dist" "./titan/patcher/patcher.py"
pyinstaller -y -w -i "./titan_logo.ico" --add-data "./titan_logo.ico";"." --add-data "./titan/patcher/_dist/titan_patcher.exe";"." --clean -n titan --distpath "./titan/_dist" "./titan/entrypoints/titan_gui.py"
rm -rf build/
The final built version is in titan/_dist
If you'd like to automate this process, use Auto PY To EXE and use the build_patcher_example.json
and build_titan_example.json
configurations. Be sure to edit them before using them.
Note: The Titan configuration requires Patcher to be built first.
When you open up Titan for the first time, you'll see a screen like this:
To add a new entry for a game/program, click "Add". You'll then see a screen like this:
This screen allows you to customize how the entry is executed by Titan.
- Title - The name Titan will use to reference the entry
- Location - The exact location of the executable
- Arguments (Command Line) - Command line arguments to be run with the main game/program. For example,
+exec autoexec.cfg
or-windowed
in CS:GO - External Programs/Entries - Locations of executables or entries to run before the main game/program
To chain entries, add a line to the External Program/Entries box using the following syntax:
ent[Exact Name Of Entry]
If you'd rather edit entries manually, you can edit the titan_games.toml
file in Titan's installation directory. Since Titan uses Toml as its configuration language, it's very human readable and easy to work with. For more information about Toml, click here.
["Entry Title"]
- The title of the current entrytime_played
(float) - How long a game/program has been run for (in seconds)times_opened
(int) - How many times the game/program has been openedlocation
(string) - The location of the game/program's executablearguments
(list of strings) - Command-line arguments to be run with the main programpreloads
(list of strings) - Executables and entries to be run before the main game/program
Notice: The Titan configuration file contains a table called titan_info
, this should not be modified.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
For third-party license information, see NOTICE.txt