Skip to main content

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

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)

Source distribution for aviyal-desktop 0.0.3
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)

Table of built distributions (wheels) for aviyal-desktop 0.0.3
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page