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.3.tar.gz (18.2 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.3-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file aviyal_desktop-0.0.3.tar.gz.

File metadata

  • Download URL: aviyal_desktop-0.0.3.tar.gz
  • Upload date:
  • Size: 18.2 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.3.tar.gz
Algorithm Hash digest
SHA256 24e27217c9a4f524c90513dc71981bf1dc45f45bdf4fc67716aa654345600d53
MD5 7731a2ba4626e820ef8f0a24c027fe2c
BLAKE2b-256 92b4cabb878d220aadbb667f4dc444af6900b4fe77f616af04dd0742eab48bb5

See more details on using hashes here.

File details

Details for the file aviyal_desktop-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: aviyal_desktop-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 19.5 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2b06b89be7d36c43e2d8d1b0ab65140d7d74c01b6630d55a11cbc74c3675d531
MD5 3350e3518be149741553daec9c06da12
BLAKE2b-256 16b8da59eab3d8f3f100e544908129ebb2447f33eec53e2ecdc93feb80891f70

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