aviyal-desktop


Nameaviyal-desktop JSON
Version 0.0.2 PyPI version JSON
download
home_pageNone
Summaryan unofficial tool for running anvil app locally in desktop environment
upload_time2025-09-08 13:51:33
maintainerNone
docs_urlNone
authorNone
requires_python>=3.6
licenseNone
keywords desktop anvi run local generate
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ### 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:

```sh
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:

```python
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](LICENSE) file for details.

#### credits
all credits goes to creators of anvil system.because this tool is created on top of it


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "aviyal-desktop",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "desktop, anvi, run, local, generate",
    "author": null,
    "author_email": "keralaboy <keralaboypypi@keralaboy.anonaddy.com>",
    "download_url": "https://files.pythonhosted.org/packages/ea/c3/d515d7850362fdf74a4fc85c9ddbadb24ecbf22c1e129df5e771157f4122/aviyal_desktop-0.0.2.tar.gz",
    "platform": null,
    "description": "### aviyal_desktop_library\r\n\r\nAn unofficial tool for running Anvil apps locally in a desktop environment.  \r\nThis 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.\r\n\r\n#### Features\r\n\r\n- Programmatic interface (`aviyal` class) to run Anvil apps without using the command line.\r\n- Mimics Python executable behavior for running scripts and modules, useful for PyInstaller-based desktop apps.\r\n- Automatically manages Java runtime environment and port configuration.\r\n- Supports passing configuration files and managing app dependencies.\r\n- Handles SSL certificate setup for server JAR downloads (critical for Windows environments).\r\n\r\n#### Installation\r\n\r\nClone the repository and include it in your Python environment:\r\n\r\n```sh\r\ngit clone https://github.com/its-me-abi/aviyal_desktop_library.git\r\ncd aviyal_desktop_library\r\n# install dependencies as needed\r\n```\r\n\r\n#### Usage\r\n\r\nHere is an example of starting an Anvil server locally with an app created using the online Anvil editor:\r\n\r\n```python\r\nfrom aviyal_desktop.aviyal_desktop import aviyal\r\nfrom pathlib import Path\r\n\r\napp_path = Path(\"ANVIL_APPS/MyTodoList\")\r\nstub_path = Path(\"ANVIL_DESKTOP_DEPENDENCYS\")\r\nanvilobj = aviyal(app_path, ANVIL_DESKTOP_DEPENDECYS=stub_path)\r\nanvilobj.run()\r\n```\r\n\r\n- `app_path`: Path to your exported Anvil app.\r\n- `ANVIL_DESKTOP_DEPENDECYS`: Path to the directory containing dependencies (e.g., Java Runtime).\r\n\r\n#### How it works\r\n\r\n- The `aviyal` class assembles command-line arguments, manages dependencies, and launches the Anvil server.\r\n- If a `config.yaml` file is present in the app directory, it will be used for additional server configuration.\r\n- The library sets up the environment so that embedded Java and Python executables work seamlessly for both direct launching and proxy execution.\r\n\r\n#### License\r\nThis software is distributed under the GNU Affero General Public License v3 (AGPLv3), with a special exception for Anvil applications. See the [LICENSE](LICENSE) file for details.\r\n\r\n#### credits\r\nall credits goes to creators of anvil system.because this tool is created on top of it\r\n\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "an unofficial tool for running anvil app locally in desktop environment",
    "version": "0.0.2",
    "project_urls": {
        "Homepage": "https://github.com/its-me-abi/aviyal_desktop_library"
    },
    "split_keywords": [
        "desktop",
        " anvi",
        " run",
        " local",
        " generate"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "39952282da2f7199727321663394b581a869477c071473b3242cad4b87aad5af",
                "md5": "6140f5f4a626e734e1909c063d6efcb9",
                "sha256": "49067d86d52be7a98e9b5a32dfcb2632c6c5a4c7165349ba1d4498a70ca15456"
            },
            "downloads": -1,
            "filename": "aviyal_desktop-0.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6140f5f4a626e734e1909c063d6efcb9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 18280,
            "upload_time": "2025-09-08T13:51:32",
            "upload_time_iso_8601": "2025-09-08T13:51:32.171530Z",
            "url": "https://files.pythonhosted.org/packages/39/95/2282da2f7199727321663394b581a869477c071473b3242cad4b87aad5af/aviyal_desktop-0.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "eac3d515d7850362fdf74a4fc85c9ddbadb24ecbf22c1e129df5e771157f4122",
                "md5": "bdfe77d99cd5d6337b7ae1f83082bca3",
                "sha256": "4b2ae010fab69d63fb369eaa1a0cf3bde104228eb79e01ed7f70a3e36b78b74f"
            },
            "downloads": -1,
            "filename": "aviyal_desktop-0.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "bdfe77d99cd5d6337b7ae1f83082bca3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 17224,
            "upload_time": "2025-09-08T13:51:33",
            "upload_time_iso_8601": "2025-09-08T13:51:33.259548Z",
            "url": "https://files.pythonhosted.org/packages/ea/c3/d515d7850362fdf74a4fc85c9ddbadb24ecbf22c1e129df5e771157f4122/aviyal_desktop-0.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-08 13:51:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "its-me-abi",
    "github_project": "aviyal_desktop_library",
    "github_not_found": true,
    "lcname": "aviyal-desktop"
}
        
Elapsed time: 0.68845s