stocksTUI


NamestocksTUI JSON
Version 0.1.0b2 PyPI version JSON
download
home_pageNone
SummaryA stylish and feature-rich Terminal User Interface for monitoring stock prices, news, and historical data.
upload_time2025-07-12 02:35:13
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords tui stocks finance terminal textual yfinance
VCS
bugtrack_url
requirements textual yfinance pandas-market-calendars plotext textual_plotext pandas
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # stocksTUI

A Terminal User Interface for monitoring stock prices, news, and historical data, built with [Textual](https://github.com/textualize/textual). Information is fetched using the [yfinance](https://github.com/ranaroussi/yfinance) API.

![stocksTUI Screenshot](https://raw.githubusercontent.com/andriy-git/stocksTUI/main/assets/screenshot.png)

## Features

-   📈 **Real-Time(ish) Price Data** – Because latency is still better than CNBC ads.
-   🧮 **Custom Watchlists** – Sort your tech bros from your energy overlords.
-   📊 **Historical Charts** – Plots your portfolio’s regrets with style.
-   📰 **Ticker News** – Stay smarter than the talking heads.
-   🎨 **Theming** – Dark mode? Light mode? You've got taste, and now you’ve got options.
-   ⚙️ **Configurable Everything** – Refresh rate, default views, and more are all tweakable from the config screen.

**Note:** All ticker symbols must be in the format used by [Yahoo Finance](https://finance.yahoo.com/) (e.g., `AAPL` for Apple, `^GSPC` for S&P 500, `BTC-USD` for Bitcoin).

## Requirements

-   **Python:** 3.9 or newer.
-   **Operating System:**
    -   **Linux / macOS:** Fully supported.
    -   **Windows:** Requires **Windows Terminal** with PowerShell, or **WSL2**. The application will *not* work correctly in the legacy `cmd.exe` console due to its reliance on advanced terminal features.

## Installation

The recommended way to install stocksTUI is with `pipx`. This installs the application and its dependencies in an isolated environment, ensuring that it does not conflict with any other Python packages on your system.

#### 1. Install `pipx`

If you don't have `pipx` installed, you can install it with your system's package manager or with `pip`.

```bash
# On Debian/Ubuntu
sudo apt install pipx

# On Arch Linux
sudo pacman -S python-pipx

# On macOS
brew install pipx

# Or, using pip (ensure ~/.local/bin is in your PATH)
python3 -m pip install --user pipx
python3 -m pipx ensurepath
```

#### 2. Install stocksTUI

Once `pipx` is installed, you can install stocksTUI with a single command:

```bash
pipx install stocksTUI
```

## Usage

To run the application, simply execute the following command in your terminal:

```bash
stockstui
```

## Keybindings

| Key             | Action                        | Context      |
| --------------- | ----------------------------- | ------------ |
| `q`             | Quit the application          | Global       |
| `r`             | Refresh current view          | Global       |
| `R` (`Shift+R`) | Refresh all lists in background | Global       |
| `s`             | Enter Sort Mode               | Price/History |
| `?`             | Toggle Help Screen            | Global       |
| `/`             | Search in current table       | Tables       |
| `1-0`           | Switch to corresponding tab   | Global       |
| `h, j, k, l`    | Navigate / Scroll             | All          |
| `Up, Down`      | Navigate / Scroll             | All          |
| `Left, Right`   | Navigate                      | All          |
| `Tab, Shift+Tab`| Focus next/previous widget    | Global       |
| `Enter`         | Select / Action               | All          |
| `Esc`           | Close dialog/search, exit sort mode, or focus tabs | Global |

In Sort Mode (after pressing `s`):

| Key | Action               | Context       |
| --- | -------------------- | ------------- |
| `d` | Sort by Description/Date | Price/History |
| `p` | Sort by Price        | Price         |
| `c` | Sort by Change/Close | Price/History |
| `e` | Sort by % Change     | Price         |
| `t` | Sort by Ticker       | Price         |
| `u` | Undo Sort            | Price         |
| `H` | Sort by High         | History       |
| `L` | Sort by Low          | History       |
| `v` | Sort by Volume       | History       |

## For Developers: Installing from Source

If you want to run the latest code or contribute to development, you can install from the source repository.

1.  **Clone the repository:**
    ```bash
    git clone https://github.com/andriy-git/stocksTUI.git
    cd stocksTUI
    ```

2.  **Run the installation script:**
    This script will create a virtual environment, install all dependencies in editable mode, and create a symlink for the `stockstui` command.
    ```bash
    ./install.sh
    ```

3.  **Run the application:**
    You can now run the application from anywhere.
    ```bash
    stockstui
    ```

## License

This project is licensed under the GNU General Public License v3.0. See the `LICENSE` file for details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "stocksTUI",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "tui, stocks, finance, terminal, textual, yfinance",
    "author": null,
    "author_email": "Andriy <project-git@techie.com>",
    "download_url": "https://files.pythonhosted.org/packages/c2/55/eefc04bc526e827d7e4b5783e5dd013b50abfe040e414884b3091ce10448/stockstui-0.1.0b2.tar.gz",
    "platform": null,
    "description": "# stocksTUI\n\nA Terminal User Interface for monitoring stock prices, news, and historical data, built with [Textual](https://github.com/textualize/textual). Information is fetched using the [yfinance](https://github.com/ranaroussi/yfinance) API.\n\n![stocksTUI Screenshot](https://raw.githubusercontent.com/andriy-git/stocksTUI/main/assets/screenshot.png)\n\n## Features\n\n-   \ud83d\udcc8 **Real-Time(ish) Price Data** \u2013 Because latency is still better than CNBC ads.\n-   \ud83e\uddee **Custom Watchlists** \u2013 Sort your tech bros from your energy overlords.\n-   \ud83d\udcca **Historical Charts** \u2013 Plots your portfolio\u2019s regrets with style.\n-   \ud83d\udcf0 **Ticker News** \u2013 Stay smarter than the talking heads.\n-   \ud83c\udfa8 **Theming** \u2013 Dark mode? Light mode? You've got taste, and now you\u2019ve got options.\n-   \u2699\ufe0f **Configurable Everything** \u2013 Refresh rate, default views, and more are all tweakable from the config screen.\n\n**Note:** All ticker symbols must be in the format used by [Yahoo Finance](https://finance.yahoo.com/) (e.g., `AAPL` for Apple, `^GSPC` for S&P 500, `BTC-USD` for Bitcoin).\n\n## Requirements\n\n-   **Python:** 3.9 or newer.\n-   **Operating System:**\n    -   **Linux / macOS:** Fully supported.\n    -   **Windows:** Requires **Windows Terminal** with PowerShell, or **WSL2**. The application will *not* work correctly in the legacy `cmd.exe` console due to its reliance on advanced terminal features.\n\n## Installation\n\nThe recommended way to install stocksTUI is with `pipx`. This installs the application and its dependencies in an isolated environment, ensuring that it does not conflict with any other Python packages on your system.\n\n#### 1. Install `pipx`\n\nIf you don't have `pipx` installed, you can install it with your system's package manager or with `pip`.\n\n```bash\n# On Debian/Ubuntu\nsudo apt install pipx\n\n# On Arch Linux\nsudo pacman -S python-pipx\n\n# On macOS\nbrew install pipx\n\n# Or, using pip (ensure ~/.local/bin is in your PATH)\npython3 -m pip install --user pipx\npython3 -m pipx ensurepath\n```\n\n#### 2. Install stocksTUI\n\nOnce `pipx` is installed, you can install stocksTUI with a single command:\n\n```bash\npipx install stocksTUI\n```\n\n## Usage\n\nTo run the application, simply execute the following command in your terminal:\n\n```bash\nstockstui\n```\n\n## Keybindings\n\n| Key             | Action                        | Context      |\n| --------------- | ----------------------------- | ------------ |\n| `q`             | Quit the application          | Global       |\n| `r`             | Refresh current view          | Global       |\n| `R` (`Shift+R`) | Refresh all lists in background | Global       |\n| `s`             | Enter Sort Mode               | Price/History |\n| `?`             | Toggle Help Screen            | Global       |\n| `/`             | Search in current table       | Tables       |\n| `1-0`           | Switch to corresponding tab   | Global       |\n| `h, j, k, l`    | Navigate / Scroll             | All          |\n| `Up, Down`      | Navigate / Scroll             | All          |\n| `Left, Right`   | Navigate                      | All          |\n| `Tab, Shift+Tab`| Focus next/previous widget    | Global       |\n| `Enter`         | Select / Action               | All          |\n| `Esc`           | Close dialog/search, exit sort mode, or focus tabs | Global |\n\nIn Sort Mode (after pressing `s`):\n\n| Key | Action               | Context       |\n| --- | -------------------- | ------------- |\n| `d` | Sort by Description/Date | Price/History |\n| `p` | Sort by Price        | Price         |\n| `c` | Sort by Change/Close | Price/History |\n| `e` | Sort by % Change     | Price         |\n| `t` | Sort by Ticker       | Price         |\n| `u` | Undo Sort            | Price         |\n| `H` | Sort by High         | History       |\n| `L` | Sort by Low          | History       |\n| `v` | Sort by Volume       | History       |\n\n## For Developers: Installing from Source\n\nIf you want to run the latest code or contribute to development, you can install from the source repository.\n\n1.  **Clone the repository:**\n    ```bash\n    git clone https://github.com/andriy-git/stocksTUI.git\n    cd stocksTUI\n    ```\n\n2.  **Run the installation script:**\n    This script will create a virtual environment, install all dependencies in editable mode, and create a symlink for the `stockstui` command.\n    ```bash\n    ./install.sh\n    ```\n\n3.  **Run the application:**\n    You can now run the application from anywhere.\n    ```bash\n    stockstui\n    ```\n\n## License\n\nThis project is licensed under the GNU General Public License v3.0. See the `LICENSE` file for details.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A stylish and feature-rich Terminal User Interface for monitoring stock prices, news, and historical data.",
    "version": "0.1.0b2",
    "project_urls": {
        "Bug Tracker": "https://github.com/andriy-git/stocksTUI/issues",
        "Homepage": "https://github.com/andriy-git/stocksTUI"
    },
    "split_keywords": [
        "tui",
        " stocks",
        " finance",
        " terminal",
        " textual",
        " yfinance"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1e9d2d39ec9e2de530e3918af03f69dfd02aa505657a598e0963838316d54394",
                "md5": "b6c8c998fa06590ae0e1c13930122ad1",
                "sha256": "34813e8400f32592c1e24996d2abfad18724e466a8d23b11be4c73f42e488d20"
            },
            "downloads": -1,
            "filename": "stockstui-0.1.0b2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b6c8c998fa06590ae0e1c13930122ad1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 66540,
            "upload_time": "2025-07-12T02:35:11",
            "upload_time_iso_8601": "2025-07-12T02:35:11.666199Z",
            "url": "https://files.pythonhosted.org/packages/1e/9d/2d39ec9e2de530e3918af03f69dfd02aa505657a598e0963838316d54394/stockstui-0.1.0b2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c255eefc04bc526e827d7e4b5783e5dd013b50abfe040e414884b3091ce10448",
                "md5": "7f283ce2f44b14ad6b48522ed4a61205",
                "sha256": "b54c9e30b2a013e2630995fd7cebc44d93ee7157be2101a4566767a7e3800733"
            },
            "downloads": -1,
            "filename": "stockstui-0.1.0b2.tar.gz",
            "has_sig": false,
            "md5_digest": "7f283ce2f44b14ad6b48522ed4a61205",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 59221,
            "upload_time": "2025-07-12T02:35:13",
            "upload_time_iso_8601": "2025-07-12T02:35:13.085734Z",
            "url": "https://files.pythonhosted.org/packages/c2/55/eefc04bc526e827d7e4b5783e5dd013b50abfe040e414884b3091ce10448/stockstui-0.1.0b2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-12 02:35:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "andriy-git",
    "github_project": "stocksTUI",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "textual",
            "specs": [
                [
                    "==",
                    "3.5.0"
                ]
            ]
        },
        {
            "name": "yfinance",
            "specs": [
                [
                    "==",
                    "0.2.65"
                ]
            ]
        },
        {
            "name": "pandas-market-calendars",
            "specs": [
                [
                    "==",
                    "5.1.1"
                ]
            ]
        },
        {
            "name": "plotext",
            "specs": [
                [
                    "==",
                    "5.3.2"
                ]
            ]
        },
        {
            "name": "textual_plotext",
            "specs": [
                [
                    "==",
                    "1.0.1"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    "==",
                    "2.3.0"
                ]
            ]
        }
    ],
    "lcname": "stockstui"
}
        
Elapsed time: 0.43197s