Skip to main content

ingot Icon
ingot

GitHub: Repo License: MIT PyPI version Downloads

A lightweight, themeable boilerplate for creating tab-based PyQt applications.

ingot is a Python library designed to accelerate desktop application development by providing a self-configuring main window, an intelligent SASS-based theming engine, a data-driven menu bar, and a flexible layout system.

🚦 Getting Started

Installation

uv add ingot

Quick Start

Here's a minimal example to get you started:

# your_project/main.py
import sys
from PyQt6.QtWidgets import QApplication, QLabel
from ingot.app import IngotApp
from ingot.views.base import BaseView

# 1. Define your application's configuration
APP_CONFIG = {
    "title": "My Awesome Ingot App",
    "icon": "img.my_icon"  # A rune-lib friendly path
}

# 2. Define your menu structure
MENU_CONFIG = {
    "File": [
        {"name": "Exit", "shortcut": "Esc", "function": sys.exit}
    ],
    "Help": [
        {"name": "About", "function": lambda: print("About This App!")}
    ]
}

# 3. Define the content for your tabs
class MyCustomView(BaseView):
    def __init__(self):
        super().__init__()
        self.layout().addWidget(QLabel("This is my application's content!"))

# 4. Launch the app
def main():
    app = QApplication(sys.argv)
    
    main_window = IngotApp(view_factory=MyCustomView, config=APP_CONFIG)
    main_window.set_menu(MENU_CONFIG)

    main_window.show()
    sys.exit(app.exec())

if __name__ == "__main__":
    main()

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

Metadata

Release files for ingot 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ingot 0.0.1
File Size Uploaded
ingot-0.0.1.tar.gz 35.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ingot 0.0.1
File Interpreter ABI Platform
ingot-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 63.2 kB

Release files / ingot-0.0.1.tar.gz

Download URL ingot-0.0.1.tar.gz
Size 35.8 kB
Tags Source
SHA-256 checksum
How to use checksums
99f2a4e0b6b8ac0c21a670710c911c68e285ed66582bd09d796af5181699a046
BLAKE2b-256 checksum
How to use checksums
58b5ed42b785221eb9c5173d8561a4c96b14e98462213fe74a671e292da71020
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"NixOS","version":"25.11","id":"xantusia","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / ingot-0.0.1-py3-none-any.whl

Download URL ingot-0.0.1-py3-none-any.whl
Size 27.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c691813aa9221e27b4ac62ed0f38685ff7fe0a18b1d1a870a2f9a86f303e2c46
BLAKE2b-256 checksum
How to use checksums
597fd45817d04a0c06e6dd129c304a8a0786936c01b6bc281a2e06ce3eae4f1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"NixOS","version":"25.11","id":"xantusia","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page