aviyal_desktop_library
An unofficial tool for running Anvil apps locally in a desktop environment.
This library allows you to programmatically run the Anvil runtime, internally using a Java command to run a JAR file bundled with your Anvil app. It is especially useful for embedding Anvil-based web apps into a desktop setting or automating local Anvil app launches.
Features
- Programmatic interface (
aviyalclass) to run Anvil apps without using the command line. - Mimics Python executable behavior for running scripts and modules, useful for PyInstaller-based desktop apps.
- Automatically manages Java runtime environment and port configuration.
- Supports passing configuration files and managing app dependencies.
- Handles SSL certificate setup for server JAR downloads (critical for Windows environments).
Installation
Clone the repository and include it in your Python environment:
git clone https://github.com/its-me-abi/aviyal_desktop_library.git
cd aviyal_desktop_library
# install dependencies as needed
Usage
Here is an example of starting an Anvil server locally with an app created using the online Anvil editor:
from aviyal_desktop.aviyal_desktop import aviyal
from pathlib import Path
app_path = Path("ANVIL_APPS/MyTodoList")
stub_path = Path("ANVIL_DESKTOP_DEPENDENCYS")
anvilobj = aviyal(app_path, ANVIL_DESKTOP_DEPENDECYS=stub_path)
anvilobj.run()
app_path: Path to your exported Anvil app.ANVIL_DESKTOP_DEPENDECYS: Path to the directory containing dependencies (e.g., Java Runtime).
How it works
- The
aviyalclass assembles command-line arguments, manages dependencies, and launches the Anvil server. - If a
config.yamlfile is present in the app directory, it will be used for additional server configuration. - The library sets up the environment so that embedded Java and Python executables work seamlessly for both direct launching and proxy execution.
License
This software is distributed under the GNU Affero General Public License v3 (AGPLv3), with a special exception for Anvil applications. See the LICENSE file for details.
credits
all credits goes to creators of anvil system.because this tool is created on top of it
Metadata
Release files for aviyal-desktop 0.0.3
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 |
|---|---|---|---|---|
| aviyal_desktop-0.0.3.tar.gz | 18.2 kB | Without provenance | Details for aviyal_desktop-0.0.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| aviyal_desktop-0.0.3-py3-none-any.whl | Python 3 | none | any | Details for aviyal_desktop-0.0.3-py3-none-any.whl |
Total release size: 37.7 kB
Release files / aviyal_desktop-0.0.3.tar.gz
| Download URL | aviyal_desktop-0.0.3.tar.gz |
|---|---|
| Size | 18.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
24e27217c9a4f524c90513dc71981bf1dc45f45bdf4fc67716aa654345600d53
|
|
BLAKE2b-256 checksum How to use checksums |
92b4cabb878d220aadbb667f4dc444af6900b4fe77f616af04dd0742eab48bb5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / aviyal_desktop-0.0.3-py3-none-any.whl
| Download URL | aviyal_desktop-0.0.3-py3-none-any.whl |
|---|---|
| Size | 19.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2b06b89be7d36c43e2d8d1b0ab65140d7d74c01b6630d55a11cbc74c3675d531
|
|
BLAKE2b-256 checksum How to use checksums |
16b8da59eab3d8f3f100e544908129ebb2447f33eec53e2ecdc93feb80891f70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Security for aviyal-desktop 0.0.3
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.