Skip to main content

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 (aviyal class) 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 aviyal class assembles command-line arguments, manages dependencies, and launches the Anvil server.
  • If a config.yaml file 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aviyal_desktop-0.0.1.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aviyal_desktop-0.0.1-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

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

Hashes for aviyal_desktop-0.0.1.tar.gz
Algorithm Hash digest
SHA256 6ec5257db1c7744bf3e01c430390801334e4dd34fa47fa5c9a89240e5b44b258
MD5 94d74e9b4f24ce015177e8078ace448f
BLAKE2b-256 ff0acb15f71a93ad5e0abb1f120b15068fcde0b1ecd32af9b30eba13d90ae2df

See more details on using hashes here.

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

Hashes for aviyal_desktop-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 007339237b559c28f66f78ed521c9c9fd13fd7a9ed8f042d254a7bcd420e77c6
MD5 33d9bc98caed20dacfa6f28198164d24
BLAKE2b-256 2deee90357af5363886d43e769b37e5c866de1d083b931f5e8b9b87195fa284b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page