# fw-pyqt-management <!-- omit in toc -->
A library containing common functionality for Flwywheel PyQt applications.
- [Current Applications that use `fw-pyqt-management`](#current-applications-that-use-fw-pyqt-management)
- [Modules and Classes](#modules-and-classes)
- [Installation](#installation)
- [Usage](#usage)
## Current Applications that use `fw-pyqt-management`
Current applications include:
- The [Flywheel-Connect](https://gitlab.com/flywheel-io/scientific-solutions/app/slicer_flywheel_connect) Slicer Extension
- The [Flwywheel-Case-Iterator](https://gitlab.com/flywheel-io/scientific-solutions/app/Slicerflywheelcaseiterator) Slicer Extension
- The [Flywheel-App-Launcher](https://gitlab.com/flywheel-io/scientific-solutions/app/fw-app-launcher) PyQt application
## Modules and Classes
The `fw-pyqt-managment` library contains the following modules and classes:
- `adaptive_qt.py` : A module that creates conditional Qt imports based on the version
of Qt installed. This allows for the use of Qt5, Qt6, or Slicer's PythonQt without
having to change the code.
- `config.py` : A module that contains the `Config` class. This class is used to store
and retrieve configuration settings for a PyQt application.
- `utils.py` : A module that contains utilities checking the system requirements for the
application.
- `tree_management.py` : A module that contains the `TreeManagement` class. This class
is used to manage the hierarchy tree in the PyQt Applications.
- `fw_container_items.py` : A module that contains all of the item classes (e.g.
`ProjectItem`, `SubjectItem`, etc.) that are used or displayed in the hierarchy tree.
## Installation
The `fw-pyqt-management` library can be installed using `pip`:
```bash
pip install fw-pyqt-management
```
Alternatively, the library can be installed from source:
```bash
git clone https://gitlab.com/flywheel-io/scientific-solutions/libraries/fw-pyqt-management.git
cd fw-pyqt-management
pip install .
```
## Usage
As noted above, there are three
[currently deployed applications](#current-applications-that-use-fw-pyqt-management)
that use the `fw-pyqt-management` library. These applications can be used as examples
of how to use the library.
For a simple example of how to use the `fw-pyqt-management` library, see the
[simple_example.py](./examples/simple_example.py) in the
[examples directory](./examples/) of this repository.
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/flywheel-io/scientific-solutions/lib/fw-pyqt-hierarchy-tree-items",
"name": "fw-pyqt-management",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.11,>=3.8",
"maintainer_email": null,
"keywords": "Flywheel, Libs",
"author": "Flywheel",
"author_email": "support@flywheel.io",
"download_url": null,
"platform": null,
"description": "# fw-pyqt-management <!-- omit in toc -->\n\nA library containing common functionality for Flwywheel PyQt applications.\n\n- [Current Applications that use `fw-pyqt-management`](#current-applications-that-use-fw-pyqt-management)\n- [Modules and Classes](#modules-and-classes)\n- [Installation](#installation)\n- [Usage](#usage)\n\n## Current Applications that use `fw-pyqt-management`\n\nCurrent applications include:\n\n- The [Flywheel-Connect](https://gitlab.com/flywheel-io/scientific-solutions/app/slicer_flywheel_connect) Slicer Extension\n- The [Flwywheel-Case-Iterator](https://gitlab.com/flywheel-io/scientific-solutions/app/Slicerflywheelcaseiterator) Slicer Extension\n- The [Flywheel-App-Launcher](https://gitlab.com/flywheel-io/scientific-solutions/app/fw-app-launcher) PyQt application\n\n## Modules and Classes\n\nThe `fw-pyqt-managment` library contains the following modules and classes:\n\n- `adaptive_qt.py` : A module that creates conditional Qt imports based on the version\n of Qt installed. This allows for the use of Qt5, Qt6, or Slicer's PythonQt without\n having to change the code.\n- `config.py` : A module that contains the `Config` class. This class is used to store\n and retrieve configuration settings for a PyQt application.\n- `utils.py` : A module that contains utilities checking the system requirements for the\n application.\n- `tree_management.py` : A module that contains the `TreeManagement` class. This class\n is used to manage the hierarchy tree in the PyQt Applications.\n- `fw_container_items.py` : A module that contains all of the item classes (e.g.\n `ProjectItem`, `SubjectItem`, etc.) that are used or displayed in the hierarchy tree.\n\n## Installation\n\nThe `fw-pyqt-management` library can be installed using `pip`:\n\n```bash\npip install fw-pyqt-management\n```\n\nAlternatively, the library can be installed from source:\n\n```bash\ngit clone https://gitlab.com/flywheel-io/scientific-solutions/libraries/fw-pyqt-management.git\ncd fw-pyqt-management\npip install .\n```\n\n## Usage\n\nAs noted above, there are three\n[currently deployed applications](#current-applications-that-use-fw-pyqt-management)\nthat use the `fw-pyqt-management` library. These applications can be used as examples\nof how to use the library.\n\nFor a simple example of how to use the `fw-pyqt-management` library, see the\n[simple_example.py](./examples/simple_example.py) in the\n[examples directory](./examples/) of this repository.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A cross-platform PyQt Library to represent the Flywheel hierarchy with specific tree nodes.",
"version": "0.0.5",
"project_urls": {
"Homepage": "https://gitlab.com/flywheel-io/scientific-solutions/lib/fw-pyqt-hierarchy-tree-items",
"Repository": "https://gitlab.com/flywheel-io/scientific-solutions/lib/fw-pyqt-hierarchy-tree-items"
},
"split_keywords": [
"flywheel",
" libs"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "634425de96d7b45e1877721b46ebcd04f6cfd1e435946426afccd8ef7c869357",
"md5": "e0e99eada9deb2787e78495de794cf9f",
"sha256": "c49d67a53631658bbef86001f42b5269e885234ec1020085ea22fc9edacd14d3"
},
"downloads": -1,
"filename": "fw_pyqt_management-0.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e0e99eada9deb2787e78495de794cf9f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.11,>=3.8",
"size": 442662,
"upload_time": "2024-09-20T02:41:52",
"upload_time_iso_8601": "2024-09-20T02:41:52.367265Z",
"url": "https://files.pythonhosted.org/packages/63/44/25de96d7b45e1877721b46ebcd04f6cfd1e435946426afccd8ef7c869357/fw_pyqt_management-0.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-20 02:41:52",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "flywheel-io",
"gitlab_project": "scientific-solutions",
"lcname": "fw-pyqt-management"
}