Name | aviyal-desktop JSON |
Version |
0.0.2
JSON |
| download |
home_page | None |
Summary | an unofficial tool for running anvil app locally in desktop environment |
upload_time | 2025-09-08 13:51:33 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.6 |
license | None |
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"
}