Skip to main content

Build applications in Python with Vyre Framework.

Project description

vyre

vyre is a Python-based application runner and package manager. It allows you to build, install, run, list, export, verify, and uninstall self-contained applications packaged as .vy files.

Version: 0.2.0


Features

  • Build applications into a single .vy package
  • Install and uninstall applications locally
  • Run applications by package name, app name, directory, or .vy file
  • Isolated runtime environment (applications only see their own content/ directory)
  • Manifest-based configuration using build.json
  • Deterministic builds and installs with controlled timing
  • Uses only the Python standard library

Application Structure

A vyre application must follow this structure:

MyApp/ ├── content/ │ ├── main.py │ └── other_files.py ├── build.json ├── README.md (optional) └── LICENSE (optional)


Rules

  • content/ is the runtime root of the application
  • Only files inside content/ are visible at runtime
  • The entry file must exist inside content/

build.json Format

Example:

{ "author": "john", "app_name": "helloapp", "version": "1.0.0", "entry_file": "main.py", "deps": ["colorama"], "readme": "README.md", "license": "LICENSE" }


Required fields

  • author
  • app_name
  • version
  • entry_file

Optional fields

  • deps
    A list of Python package dependencies required by the application. These are standard pip package names.

Example:

"deps": ["colorama", "requests"]


Automatically generated

  • package_name: vyre..<app_name>

Commands

Build an application

vyre build MyApp/ --verbose

Creates a .vy file in the current directory.


Install a package

vyre install vyre.john.helloapp-1.0.0.vy

Installed location:

~/.local/share/vyre/vyre.john.helloapp/


Run an application

vyre run vyre.john.helloapp vyre run helloapp vyre run path/to/app/ vyre run app.vy

Arguments after the application name are passed directly to the application.


List installed applications

vyre list

Output format:

package_name - app_name - version - author


Application information

vyre info vyre.john.helloapp

Displays metadata including version, author, entry file, and timestamps.


Uninstall an application

vyre uninstall vyre.john.helloapp


Verify a package

vyre verify app.vy

Validates package structure and metadata.


Export an installed application

vyre export vyre.john.helloapp

Creates a .vy file from an installed application.


Version

vyre version


Runtime Isolation

  • Applications run with content/ as the working directory
  • PYTHONPATH is set so imports resolve only inside the application
  • Applications cannot access files outside their own package by default

License

Please read the LICENSE file before using this.

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

vyre-0.2.0.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

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

vyre-0.2.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file vyre-0.2.0.tar.gz.

File metadata

  • Download URL: vyre-0.2.0.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for vyre-0.2.0.tar.gz
Algorithm Hash digest
SHA256 62c272b978b8e2c60a7b2f6b9ff44a3fc1a695a8328aa5c8b6a6b194a9256f9c
MD5 bee639a0bf13e342f4eac23744912989
BLAKE2b-256 79182ba27059e9f5f027a014907ea8e7406316542e36a756bc48304cef31b4d5

See more details on using hashes here.

File details

Details for the file vyre-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: vyre-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for vyre-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc97b32dee715756531e0aed6cca10eb5b029592c84b7faf0ca547f48d94770e
MD5 88210ee1d76422721c9aa97579af67b7
BLAKE2b-256 c9bc8862e82006c40d06c54849040eb8c92582bdcc94396eadc4d81cb6170677

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