Python + HTML desktop app framework
Project description
Pype
Fast and Simple GUI framework for Python
Render Python computed values and interact them via HTML in a webview application
Good for fast visualization or lightweight applications
| The application | The backend | The frontend |
|---|---|---|
Documentation
Project creation
Generates the project with all needed files.
Project-Name
├── frontend - HTML, CSS, Pype frontend library.
│ └── assets - Any asset file.
└── app.py
plumber new project-name
Project build
Generates an .exe executable file from the given project.
The project should follow the generated structure.
plumber build project-name
Expose
Description:
Exposes a function to the frontend side to be called
Example:
app.expose(functionFromPython)
Call
Description:
Calls an exposed function from the frontend
Example:
onclick="call('functionFromPython')"
State Management
Push
Applies and finalizes state changes by triggering observers and hooks. Updates are batched for efficiency, ensuring cleaner and more controlled state management. It offers on-demand state updates, reducing unnecessary processing.
Python:
app.state["numbers"].append(value)
app.push(["numbers","some other key","...another"]) #finalizes state change
JavaScript:
onclick="state['count']++; push(['count'])"
Pull
Gets a state values deep copied value, for other usage then just immidietly setting state.
Python:
app.pull("count")
JavaScript:
onclick="alert(pull('count'))"
Binds
Description:
Binds a state to an element via its key attribute and specifies which attribute should be updated upon a state change.
Example:
app.bind('state-key', 'element-key', HTMLAttributes.INNERHTML)
Hooks
Description:
Attaches a function to a specific state change. When the state updates, the hooked function is called.
Example:
app.hook('state-key', hooked_function)
Prefabs
Creation
Description:
Users can create prefabs that can be instantiated or destroyed by the app. Attributes are passed as Python dictionaries.
Example (HTML):
<prefab id="prefab-name">
<div class="number" style="color: $attribute-name-2; border-color: $attribute-name-2;">$attribute-name</div>
</prefab>
Instantiate
Description:
Instantiates a prefab with a unique key under a specified parent element, passing attributes to customize its content.
Example:
app.instantiate("prefab-name", f"key-prefix-{count}", "prefab-parent-id", {"attribute1": 'something', "attribute2": 0})
Destroy
Description:
Destroys a prefab with the specified ID and key. During destruction, the prefab enters its destruction phase and receives the .destroyed class for exit animations.
Example:
app.destroy("prefab-name", f"key-prefix-{prevCount}")
Observer
Description:
Observes a state array that contains attributes for prefabs, upon its change automatically instantiates or destroys prefabs.
Example:
app.observe('state-key','prefab-id','key-prefix','prefab-parent-id')
Load Page
Description:
Loads a given page exposed to the run function. .unloaded class for the current page for exit animations.
Example:
app.run([updatingFunc],["index.html","new-page.html"]) #Expose pages to app
app.load_page(1)
Custom Window Handle
Description:
All pages has a .window-handle div at top. This area is customizable too for making it fit with your app.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pype_framework-1.0.4.tar.gz.
File metadata
- Download URL: pype_framework-1.0.4.tar.gz
- Upload date:
- Size: 34.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6042ba4191d74b4b055f3923b176dc4aed7212a0bffcc96f62daa30b4b10543
|
|
| MD5 |
058106efb52389bd3c713f41a68d490d
|
|
| BLAKE2b-256 |
ff249775aa28f58792d061c1f5b4eedf050433608845536939c72903d090bed1
|
File details
Details for the file pype_framework-1.0.4-py3-none-any.whl.
File metadata
- Download URL: pype_framework-1.0.4-py3-none-any.whl
- Upload date:
- Size: 31.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48aeae45c7a344bcf95d101df26b1bc5bc0cb5d892cc39b6944519a6ab775d3e
|
|
| MD5 |
6b3997616888aa827023146252571641
|
|
| BLAKE2b-256 |
389429a55a294d56405942e96199dc4028f91adb482f3f156d088d262ffdc2f4
|