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.1.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.1.0.tar.gz (10.0 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.1.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for vyre-0.1.0.tar.gz
Algorithm Hash digest
SHA256 59e3e4e6671fdd1693ddba7ff5b96439486a0cf3fd3df946bc567dc43cc2a2cc
MD5 6cd04a2a80e137c8c4079bb776fea8bf
BLAKE2b-256 8b7f29bfb30ebbed1b567f1a481cca8444987722ee5d281ccf25f80513b33e7c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vyre-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.3 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 40c37ddcb3debce5a25ce5347e42fea2528eefb137a8f57016bb698146f350a3
MD5 b96266c4d30e598a2aeefee3926556de
BLAKE2b-256 94f6cb75c2d63f445ee887da8f0974c35e092cb95e2e8e732f5450d1a5253abf

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