Arceion Qt
A professional collection of Qt components and framework for Python.
Arceion Qt is a comprehensive suite of UI components and a structured framework designed to accelerate the development of desktop applications using PyQt6. It provides a robust architecture for managing views, navigation, asynchronous tasks, and API interactions.
Key Features
- Structured UI Framework: Decoupled
WindowandViewarchitecture for clean application flow. - Advanced Icon System: Integrated Google Material Symbols support with customizable styles (Outlined, Rounded, Sharp).
- Asynchronous Execution: Built-in
ThreadPoolandWorkersystem for responsive UIs. - API Controller: Simplified REST API interaction with automatic retry logic and authentication support.
- ORM Integration: Ready-to-use SQLAlchemy-based database layer.
- Theming & Styles: Flexible theme management and utility functions for CSS/QSS styling.
- Logging: Integrated logging system for better debugging and monitoring.
Installation
Install Arceion Qt using pip:
pip install arceion-qt
Dependencies
- PyQt6
- SQLAlchemy
- Requests
- Cryptography
- FontTools
Quick Start
1. Creating a Basic Window and View
from arceion.qt.core import Window, View
from PyQt6.QtWidgets import QLabel, QVBoxLayout
class MainView(View):
def onCreate(self):
layout = QVBoxLayout(self)
layout.addWidget(QLabel("Hello from Arceion Qt!"))
def onResume(self):
print("View resumed")
def onDestroy(self) -> bool:
return super().onDestroy()
def main():
import sys
from PyQt6.QtWidgets import QApplication
app = QApplication(sys.argv)
window = Window()
window.navigate(MainView)
window.show()
sys.exit(app.exec())
if __name__ == "__main__":
main()
2. Using Icons
from arceion.qt.res import Icons
from PyQt6.QtWidgets import QPushButton
# Access material symbols easily
button = QPushButton()
button.setIcon(Icons.search.toPixmap(size=24, color="#FFFFFF"))
3. Background Tasks
from arceion.qt.thread import ThreadPool
def heavy_computation(data):
# Perform long-running task
return f"Processed {data}"
def on_finished(result):
print(f"Task result: {result}")
ThreadPool.start(heavy_computation, "my data", callback=on_finished)
Documentation
For full documentation, please visit the Wiki.
Project Structure
arceion.qt.core: Core Window and View management.arceion.qt.api: REST API client and controllers.arceion.qt.db: Database and ORM utilities.arceion.qt.res: Resource management (Icons, Themes, Colors).arceion.qt.thread: Multithreading and worker pools.arceion.qt.util: General purpose UI and stylesheet utilities.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
Distributed under a Proprietary License. See pyproject.toml for more information.
Built with ❤️ by Arceion
Metadata
Release files for arceion-qt 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| arceion_qt-0.1.0.tar.gz | 37.7 MB | Without provenance | Details for arceion_qt-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| arceion_qt-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for arceion_qt-0.1.0-py3-none-any.whl |
Total release size: 75.7 MB
Release files / arceion_qt-0.1.0.tar.gz
| Download URL | arceion_qt-0.1.0.tar.gz |
|---|---|
| Size | 37.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bbe6daa948f2374ec2b0a8bfd134a5a1737f52275aa1d8e477dae593b9dce97e
|
|
BLAKE2b-256 checksum How to use checksums |
83755fb5a72c8ade087fa19f8846ec977d9685466fe25d2a549c6121384a3399
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / arceion_qt-0.1.0-py3-none-any.whl
| Download URL | arceion_qt-0.1.0-py3-none-any.whl |
|---|---|
| Size | 38.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e235bab2b26a7b92b3840bc9702e21c9769b5b5af210fb71237a4bd7058fa7b0
|
|
BLAKE2b-256 checksum How to use checksums |
b3cb6f1de4e4bbb0efc48c119dad692ec14ee97c7daaa76d9099aada01cdf688
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Security for arceion-qt 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.