Skip to content

Universal Portfolio Importer - Liberate your financial data from closed platforms.

License

Notifications You must be signed in to change notification settings

tumtrak/Lumosid

Repository files navigation

LumosID - Universal Portfolio Importer 🔐

Python Version License Status Engine

LumosID is an open-source middleware tool designed to liberate financial data from closed dashboards. It acts as a bridge between proprietary financial platforms and your personal analysis environment, ensuring Data Sovereignty.

LumosID Architecture

🚀 Features

  • Anti-Gravity Engine: Built on Playwright (WebKit), optimized for macOS to handle complex DOM structures without crashing.
  • Human-in-the-Loop Authentication: Smartly bypasses dynamic 2FA, Captcha, and OTP barriers by allowing the user to handle the login phase manually, while the bot handles the data extraction automatically.
  • Smart Tab Scanner: Automatically detects the correct portfolio tab among multiple open windows.
  • Privacy First: Zero-cloud dependency. All data is extracted locally to the output/ directory (.json & .csv). Credentials are stored in a local secrets.json file which is git-ignored by default.
  • Universal Architecture: Configurable selectors via config.json allow it to adapt to various financial dashboards.

🛠 Installation

  1. Clone the Repository

    git clone https://github.com/tumtrak/LumosID.git
    cd LumosID
  2. Install Dependencies

    pip install playwright pandas
    python3 -m playwright install webkit
  3. Configuration Create a secrets.json file in the root directory (do not commit this file):

    {
      "username": "YOUR_PHONE_OR_ID",
      "password": "YOUR_PASSWORD"
    }

    Note: The target URLs and CSS selectors are managed in config.json.

💻 Usage

Run the engine in your terminal:

python3 main.py
1. The bot will launch a WebKit browser instance.
2. Manual Login: Log in to your financial dashboard manually (handle SMS/OTP).
3. Navigate to your Portfolio Summary page.
4. Return to the terminal and press [ENTER].
5. LumosID will scan all open tabs, identify the data table, and export it to:
    ◦ output/my_portfolio.json
    ◦ output/my_portfolio.csv
📊 Dashboard (Optional)
LumosID comes with a local HTML dashboard (index.html) to visualize your extracted data instantly. Just open the file in your browser and drop the generated JSON file.
⚠️ Disclaimer
This tool is intended for personal data portability purposes only. It is designed to help users access their own data for personal analysis. Please respect the Terms of Service of the platforms you interact with.

--------------------------------------------------------------------------------
LumosID Open Source Initiative - Your Data. Your Key. Your Control.

## 🗺️ Roadmap

- [x] **v1.0:** Core Engine & Data Ingestion (Done)
- [ ] **v1.1:** Multi-Account Support
- [ ] **v1.2:** Automated Data Normalization
- [ ] **v2.0:** **FinAImate Integration** (AI-Powered Portfolio Analysis)

About

Universal Portfolio Importer - Liberate your financial data from closed platforms.

Topics

Resources

License

Stars

Watchers

Forks

Packages