{"id":18555974,"url":"https://github.com/freqtrade/ftui","last_synced_at":"2025-04-04T17:04:01.308Z","repository":{"id":236523213,"uuid":"605136616","full_name":"freqtrade/ftui","owner":"freqtrade","description":"FTUI - a terminal-based Freqtrade UI client","archived":false,"fork":false,"pushed_at":"2025-02-10T12:28:58.000Z","size":236,"stargazers_count":102,"open_issues_count":3,"forks_count":15,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-03-28T16:04:09.806Z","etag":null,"topics":["alpha","crypto","freqtrade","textual","tui"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/freqtrade.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-22T14:22:45.000Z","updated_at":"2025-03-23T18:20:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"0db04a51-c57b-4766-bc98-f03449a355b6","html_url":"https://github.com/freqtrade/ftui","commit_stats":null,"previous_names":["freqtrade/ftui"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freqtrade%2Fftui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freqtrade%2Fftui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freqtrade%2Fftui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freqtrade%2Fftui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/freqtrade","download_url":"https://codeload.github.com/freqtrade/ftui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247217174,"owners_count":20903008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alpha","crypto","freqtrade","textual","tui"],"created_at":"2024-11-06T21:28:36.064Z","updated_at":"2025-04-04T17:04:01.287Z","avatar_url":"https://github.com/freqtrade.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Welcome to FTUI\r\n\r\nFreqtrade Textual User Interface (FTUI) is a text-based interface for the \r\n[Freqtrade](https://github.com/freqtrade/freqtrade) bot.\r\n\r\nFTUI is developed using the awesome [Textual](https://textual.textualize.io/) and\r\n[Rich](https://rich.readthedocs.io/en/stable/introduction.html) frameworks.\r\n\r\n- Original concept and development: [@froggleston](https://github.com/froggleston)\r\n- Github : [https://github.com/freqtrade/ftui](https://github.com/freqtrade/ftui)\r\n\r\n### FTUI is in an alpha state so there will be bugs and missing features\r\n\r\n![image](https://github.com/freqtrade/ftui/assets/1872302/60deca56-421b-436d-85e3-eea4befe4c37)\r\n\r\n## Getting Started\r\n\r\nFTUI is designed to mimic the [FreqUI](https://github.com/freqtrade/frequi) interface as\r\nmuch as possible, but the main difference is that FTUI does not currenty support\r\ncontrolling a running bot. Rather FTUI acts as a lightweight passive monitoring system\r\nfor running Freqtrade bots.\r\n\r\n### Installation\r\n\r\nCurrently, FTUI is only supported on Linux systems. We hope to provide a Docker container\r\nin future.\r\n\r\nThe easiest way to install FTUI is via pip: `pip install ftui`\r\n\r\n__Linux__\r\n\r\nFTUI can be installed into an existing venv (e.g. a existing freqtrade venv) or in a \r\nnew directory, e.g. `~/ftui`, and venv as follows:\r\n\r\n```bash\r\n$ mkdir ~/ftui\r\n$ cd ftui\r\n$ python3 -m venv .venv\r\n$ source .venv/bin/activate\r\n$ pip3 install -r requirements.txt\r\n$ pip3 install -e .\r\n```\r\n\r\nOnce installed, a `config.yaml` needs to be provided to FTUI, so create it in your new\r\n`ftui/` directory and edit it with a cli text editor like `nano`:\r\n\r\n```bash\r\n$ touch config.yaml\r\n$ nano config.yaml\r\n```\r\n\r\n### Configuration\r\n\r\nFTUI is configured using a `config.yaml` file, where a list of running Freqtrade bots needs\r\nto be provided. An example has been provided to get you started as below:\r\n\r\n```yaml\r\n---\r\nservers:\r\n    - name        : \"botA\"\r\n      username    : \"you\"\r\n      password    : \"your_password\"\r\n      ip          : 1.2.3.4\r\n      port        : 8080\r\n    - name        : \"botB\"\r\n      username    : \"you\"\r\n      password    : \"your_password\"\r\n      ip          : 1.2.3.4\r\n      port        : 8081\r\n\r\n    - name        : \"botC\"\r\n      username    : \"you\"\r\n      password    : \"your_password\"\r\n      ip          : 5.6.7.8\r\n      port        : 8080\r\n\r\ncolours:\r\n    pair_col: \"purple\"\r\n    bot_col: \"yellow\"\r\n    bot_start_col: \"white\"\r\n    trade_id_col: \"white\"\r\n    open_rate_col: \"white\"\r\n    current_rate_col: \"white\"\r\n    open_date_col: \"cyan\"\r\n    winrate_col: \"cyan\"\r\n    open_trade_num_col: \"cyan\"\r\n    closed_trade_num_col: \"purple\"\r\n    profit_chart_col: \"orange\"\r\n    link_col: \"yellow\"\r\n    candlestick_trade_text_col: \"orange\"\r\n    candlestick_trade_open_col: \"blue\"\r\n    candlestick_trade_close_col: \"purple\"\r\n\r\ndebug: False\r\nshow_fear: True\r\n```\r\n\r\nAdd a corresponding `servers` block into your own `config.yaml`, making note of the\r\nindentation.\r\n\r\nYou can monitor bots across multiple servers easily in one FTUI interface. FTUI uses\r\nthe [freqtrade-client](https://pypi.org/project/freqtrade-client/) REST API client, so\r\nyou do not need to wrestle with any CORS setup as you have to do in FreqUI to access\r\nmultiple bots.\r\n\r\nYou can also set custom colours for some of the UI elements as per the example above. \r\nThe supported list of colour names can be found \r\n[here](https://textual.textualize.io/api/color/#textual.color--named-colors). You can\r\nleave the `colours` option out of the configuration and defaults will be used.\r\n\r\nIn future, the Settings screen will allow configuration of the `config.yaml` from inside the\r\nFTUI interface.\r\n\r\n### Running FTUI\r\n\r\nOnce you have saved your `config.yaml` file, make sure you are in your ftui directory with your \r\nvenv activated, and run FTUI as below. FTUI will load each bot client, and preload trade data\r\ninto memory:\r\n\r\n```bash\r\n$ ftui -y config.yaml\r\n\r\n███████╗████████╗██╗   ██╗██╗\r\n██╔════╝╚══██╔══╝██║   ██║██║\r\n█████╗     ██║   ██║   ██║██║\r\n██╔══╝     ██║   ██║   ██║██║\r\n██║        ██║   ╚██████╔╝██║\r\n╚═╝        ╚═╝    ╚═════╝ ╚═╝\r\n\r\nFreqtrade Textual User Interface (FTUI)\r\n\r\nRun with:\r\n\r\n    ftui -y config.yaml\r\n\r\nSetting up botA version 2024.1-dev-1b70e9b07 at http://1.2.3.4:8080: SampleStrategy running dry_run 5m\r\nSetting up botB version 2024.1-dev-1b70e9b07 at http://1.2.3.4:8081: SampleStrategy running dry_run 5m\r\nSetting up botC version 2024.1-dev-1b70e9b07 at http://5.6.7.8:8080: SampleStrategy running dry_run 5m\r\n\r\nStarting FTUI - preloading all dataframes.......\r\n```\r\n\r\n### Screens\r\n\r\n__Dashboard__\r\n\r\nThe main dashboard shows summary statistics from all bots. You can access the dashboard by\r\nclicking the Dashboard button in the bottom left, or hitting the `D` key.\r\n\r\n![image](https://github.com/freqtrade/ftui/assets/1872302/53d9e2ca-1afd-4d0d-ace6-a7a5419a0397)\r\n\r\n__View Bots__\r\n\r\nThe bot view allows selection of a running bot from the dropdown at the top of the screen.\r\nOnce selected, various information about the bot will be shown in the tabs in the bottom half\r\nof the screen. You can access the View Bots screen by clicking the button in the bottom left,\r\nor hitting the `B` key.\r\n\r\nOpen trades:\r\n![image](https://github.com/freqtrade/ftui/assets/1872302/ac12cf57-2235-4215-9463-8072ef9d9f02)\r\n\r\nClosed trades:\r\n![image](https://github.com/freqtrade/ftui/assets/1872302/abdd62ef-f9dc-4eb3-b33e-05e4611141c5)\r\n\r\nTag summary:\r\n![image](https://github.com/freqtrade/ftui/assets/1872302/906f644b-f203-45a3-b821-c7b0d25a01e7)\r\n\r\nPerformance:\r\n![image](https://github.com/freqtrade/ftui/assets/1872302/16cce9a9-61f0-4caa-98f2-823b57a82ef8)\r\n\r\nGeneral bot information:\r\n![image](https://github.com/freqtrade/ftui/assets/1872302/6e597102-59f2-4456-b321-f5ce787ab89d)\r\n\r\nLogs:\r\n![image](https://github.com/freqtrade/ftui/assets/1872302/1dcc8b43-7bd4-43ae-907f-0dc749a717ea)\r\n\r\nSysinfo:\r\n![image](https://github.com/freqtrade/ftui/assets/1872302/b1377e21-03f8-47a1-92eb-11b523753ad7)\r\n\r\n\r\n__Settings__\r\n\r\nThe Settings screen shows the list of configured bots on the left hand side of the screen.\r\nOther configuration options are shown on the right. You can access the Settings\r\nscreen by clicking the button in the bottom left, or hitting the `S` key.\r\n\r\nIn future, you will be able to show and hide bots in FTUI by selecting/deselecting them \r\nin the bot list, as well as changing other configuration options. Currently this feature\r\nis disabled in this alpha release.\r\n\r\n__Help__\r\n\r\nThis README! \r\n\r\n## Known Issues\r\n\r\n### General\r\n\r\n- When the bot is been running and you put your PC to sleep, the async worker will bug out\r\n  and intermittently crash the UI.\r\n- The Settings screen save functionality is currently disabled.\r\n\r\n### urllib pool connection errors\r\n\r\nWhen running a larger number of bots within one FTUI instance, you may see urllib/requests \r\nwarnings about the pool connections being exhausted:\r\n\r\n`connection pool is full, discarding connection: 127.0.0.1.  Connection pools size: 10`\r\n\r\nRaising the pool size limits can help avoid these warnings.\r\n\r\nThere are two command line/yaml config options that can be adjusted:\r\n\r\n#### CLI\r\n\r\n`ftui -c config.json --pool_connections 20 --pool_maxsize 15`\r\n\r\n#### YAML config\r\n\r\n```yaml\r\npool_connections: 20\r\npool_maxsize: 15\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreqtrade%2Fftui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreqtrade%2Fftui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreqtrade%2Fftui/lists"}