spil-ui


Namespil-ui JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryQt UI for Spil, The Simple Pipeline Lib.
upload_time2024-07-02 21:25:02
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseMIT License Copyright (c) 2024 Michael Haussmann Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords cg cg-pipeline path templates vfx vfx-pipeline
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Spil UI

Spil UI is part of [Spil, the Simple Pipeline Lib](https://github.com/MichaelHaussmann/spil).

It ships a dynamic Sid Browser and Action launcher.

[![Spil Qt UI](https://raw.githubusercontent.com/MichaelHaussmann/spil_ui/main/docs/img/spil_ui_dark.png?token=GHSAT0AAAAAACT3SBZGNFHI6PANN2SOK7BOZUEMPLA)](https://github.com/MichaelHaussmann/spil_ui)

The **Browser** finds Sids (Scene IDs) using Spil's `Finder` classes.  
It is dynamic, and adapts to the Sids length and content.  

Spil UI also includes a simple Sid Search Bar. 

![Spil Qt UI Bar](https://raw.githubusercontent.com/MichaelHaussmann/spil_ui/main/docs/img/bar.png?token=GHSAT0AAAAAACT3SBZGJFFV3ZPHHFN22AMAZUEMTYQ)

The **Bar** allows quick keyboard navigation by using tab and arrow keys.

Both UIs is built using [QtPy](https://github.com/spyder-ide/qtpy), and [QDarkStyle](https://github.com/ColinDuquesnoy/QDarkStyleSheet), and work with PyQt5, PySide2, PyQt6, PySide6.
(Spil works with python >=3.7)

They runs on all major DCCs as well as standalone. It was tested in Maya, Houdini, Nuke, and others.

ActionHandlers can be implemented to show and call actions matching the selected Sid.    
An example ActionHandler is included (with "explore" and "open" actions).


## Documentation

To lean more about **spil**, please visit [spil.readthedocs.io](https://spil.readthedocs.io)

Usage documentation of **spil_ui**: [Usage](docs/usage.md).

Technical overview of **spil_ui**: [Tech Notes](docs/notes.md).

## Installation

spil_UI can be pip installed.

```shell
pip install spil_ui
```
It installs `spil_ui`, `spil` and its dependencies.  
It also installs `spil_hamplet_conf`, a sample configuration.   

A Qt package must be installed separately.    
Any [QtPy](https://github.com/spyder-ide/qtpy) compatible Qt version: PySide2, PySide6, PyQt5, or PyQt6.  
  
```shell
pip install PySide2
```

### Running

Initialize demo files and folders from the sample configuration: 
```python
import spil  # adds spil_hamlet_conf to the python path
import hamlet_scripts.save_examples_to_mock_fs as mfs
mfs.run()
```

Then you can run the app.
```python
from spil_ui import app
app()
```

From within a DCC already running a QApplication Instance, run:
```python
from spil_ui import open_browser
open_browser()
```

## Limitations

Although it has been and is used in production, the current version of spil_ui is quite rudimentary.
It is work in progress. There are still hard coded elements in the browser.
General code cleanup is planned (typing, tests, etc.).

Spil_UI has been released as early beta to help demonstrate the usage of Spil.

### Todo

- code: cleanup, documentation, typing, formatting (apologies to you reader)
- window opening size and position, better default, and store for user
- stylesheet & choice of light/dark
- tab order (and arrows left/right) for mouseless navigation
- arrow keys (up/down) in listwidgets
- last action in conf for double click / default action
- double-click "unsticks"
- actions refresh browser when done
- use Getter to show images

## Contact

Don't hesitate to get in touch : [spil@xeo.info](mailto:spil@xeo.info).  
We will be happy to respond.  

**spil_ui** is released under MIT licence.

<br>

*This documentation is work in progress.*

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "spil-ui",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "cg, cg-pipeline, path templates, vfx, vfx-pipeline",
    "author": null,
    "author_email": "Michael Haussmann <spil@xeo.info>",
    "download_url": "https://files.pythonhosted.org/packages/f6/49/0729ba10e11c1fa750d9eca1f5e51181ba25b42498f42d93fec21a362b85/spil_ui-0.1.0.tar.gz",
    "platform": null,
    "description": "# Spil UI\n\nSpil UI is part of [Spil, the Simple Pipeline Lib](https://github.com/MichaelHaussmann/spil).\n\nIt ships a dynamic Sid Browser and Action launcher.\n\n[![Spil Qt UI](https://raw.githubusercontent.com/MichaelHaussmann/spil_ui/main/docs/img/spil_ui_dark.png?token=GHSAT0AAAAAACT3SBZGNFHI6PANN2SOK7BOZUEMPLA)](https://github.com/MichaelHaussmann/spil_ui)\n\nThe **Browser** finds Sids (Scene IDs) using Spil's `Finder` classes.  \nIt is dynamic, and adapts to the Sids length and content.  \n\nSpil UI also includes a simple Sid Search Bar. \n\n![Spil Qt UI Bar](https://raw.githubusercontent.com/MichaelHaussmann/spil_ui/main/docs/img/bar.png?token=GHSAT0AAAAAACT3SBZGJFFV3ZPHHFN22AMAZUEMTYQ)\n\nThe **Bar** allows quick keyboard navigation by using tab and arrow keys.\n\nBoth UIs is built using [QtPy](https://github.com/spyder-ide/qtpy), and [QDarkStyle](https://github.com/ColinDuquesnoy/QDarkStyleSheet), and work with PyQt5, PySide2, PyQt6, PySide6.\n(Spil works with python >=3.7)\n\nThey runs on all major DCCs as well as standalone. It was tested in Maya, Houdini, Nuke, and others.\n\nActionHandlers can be implemented to show and call actions matching the selected Sid.    \nAn example ActionHandler is included (with \"explore\" and \"open\" actions).\n\n\n## Documentation\n\nTo lean more about **spil**, please visit [spil.readthedocs.io](https://spil.readthedocs.io)\n\nUsage documentation of **spil_ui**: [Usage](docs/usage.md).\n\nTechnical overview of **spil_ui**: [Tech Notes](docs/notes.md).\n\n## Installation\n\nspil_UI can be pip installed.\n\n```shell\npip install spil_ui\n```\nIt installs `spil_ui`, `spil` and its dependencies.  \nIt also installs `spil_hamplet_conf`, a sample configuration.   \n\nA Qt package must be installed separately.    \nAny [QtPy](https://github.com/spyder-ide/qtpy) compatible Qt version: PySide2, PySide6, PyQt5, or PyQt6.  \n  \n```shell\npip install PySide2\n```\n\n### Running\n\nInitialize demo files and folders from the sample configuration: \n```python\nimport spil  # adds spil_hamlet_conf to the python path\nimport hamlet_scripts.save_examples_to_mock_fs as mfs\nmfs.run()\n```\n\nThen you can run the app.\n```python\nfrom spil_ui import app\napp()\n```\n\nFrom within a DCC already running a QApplication Instance, run:\n```python\nfrom spil_ui import open_browser\nopen_browser()\n```\n\n## Limitations\n\nAlthough it has been and is used in production, the current version of spil_ui is quite rudimentary.\nIt is work in progress. There are still hard coded elements in the browser.\nGeneral code cleanup is planned (typing, tests, etc.).\n\nSpil_UI has been released as early beta to help demonstrate the usage of Spil.\n\n### Todo\n\n- code: cleanup, documentation, typing, formatting (apologies to you reader)\n- window opening size and position, better default, and store for user\n- stylesheet & choice of light/dark\n- tab order (and arrows left/right) for mouseless navigation\n- arrow keys (up/down) in listwidgets\n- last action in conf for double click / default action\n- double-click \"unsticks\"\n- actions refresh browser when done\n- use Getter to show images\n\n## Contact\n\nDon't hesitate to get in touch : [spil@xeo.info](mailto:spil@xeo.info).  \nWe will be happy to respond.  \n\n**spil_ui** is released under MIT licence.\n\n<br>\n\n*This documentation is work in progress.*\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2024 Michael Haussmann  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "Qt UI for Spil, The Simple Pipeline Lib.",
    "version": "0.1.0",
    "project_urls": {
        "Documentation": "https://spil.readthedocs.io",
        "Homepage": "https://github.com/MichaelHaussmann/spil_ui"
    },
    "split_keywords": [
        "cg",
        " cg-pipeline",
        " path templates",
        " vfx",
        " vfx-pipeline"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c75c0a9f2a6df76ce40431e059df66a72554fbd9d06d722fd02a4adb91cc43ff",
                "md5": "e2b9c2ac7addf884cd60d14c1903b24c",
                "sha256": "0736f5f565752d7b6ba4fc56a01c1edeb8b55867dd36fdf0f45f5c494a2a8b7b"
            },
            "downloads": -1,
            "filename": "spil_ui-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e2b9c2ac7addf884cd60d14c1903b24c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 32064,
            "upload_time": "2024-07-02T21:25:00",
            "upload_time_iso_8601": "2024-07-02T21:25:00.286405Z",
            "url": "https://files.pythonhosted.org/packages/c7/5c/0a9f2a6df76ce40431e059df66a72554fbd9d06d722fd02a4adb91cc43ff/spil_ui-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f6490729ba10e11c1fa750d9eca1f5e51181ba25b42498f42d93fec21a362b85",
                "md5": "0fd1ca35d629b21327f900a24d5a31cb",
                "sha256": "11c33710c5d9f0b3680d1ac8fef14a2d233bf27a221838a7f52355c437a0bbae"
            },
            "downloads": -1,
            "filename": "spil_ui-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "0fd1ca35d629b21327f900a24d5a31cb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 22261,
            "upload_time": "2024-07-02T21:25:02",
            "upload_time_iso_8601": "2024-07-02T21:25:02.593087Z",
            "url": "https://files.pythonhosted.org/packages/f6/49/0729ba10e11c1fa750d9eca1f5e51181ba25b42498f42d93fec21a362b85/spil_ui-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-02 21:25:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "MichaelHaussmann",
    "github_project": "spil_ui",
    "github_not_found": true,
    "lcname": "spil-ui"
}
        
Elapsed time: 0.26312s