an unofficial tool for running anvil app locally in desktop environment
Project description
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
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 aviyal_desktop-0.0.1.tar.gz.
File metadata
- Download URL: aviyal_desktop-0.0.1.tar.gz
- Upload date:
- Size: 16.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ec5257db1c7744bf3e01c430390801334e4dd34fa47fa5c9a89240e5b44b258
|
|
| MD5 |
94d74e9b4f24ce015177e8078ace448f
|
|
| BLAKE2b-256 |
ff0acb15f71a93ad5e0abb1f120b15068fcde0b1ecd32af9b30eba13d90ae2df
|
File details
Details for the file aviyal_desktop-0.0.1-py3-none-any.whl.
File metadata
- Download URL: aviyal_desktop-0.0.1-py3-none-any.whl
- Upload date:
- Size: 17.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
007339237b559c28f66f78ed521c9c9fd13fd7a9ed8f042d254a7bcd420e77c6
|
|
| MD5 |
33d9bc98caed20dacfa6f28198164d24
|
|
| BLAKE2b-256 |
2deee90357af5363886d43e769b37e5c866de1d083b931f5e8b9b87195fa284b
|