Skip to main content

MozApp - Wine & Application Package Manager

MozApp is a unified Python CLI and Textual TUI package manager built on top of CheapWine and Maestro-Plus. It provides non-interactive and interactive workflows for downloading, mounting, and installing Windows applications, VST plugins, ISO images, and package archives inside a managed Wine prefix environment. Made with Gemini ! 🚀


🌟 Key Features

  • 🍷 CheapWine & Maestro-Plus Integration: Built-in environment isolation under ~/.mozapp/cheapwine with direct command passthrough (run, wine, winetricks, env, tui, chocolatey, export, etc.).
  • 🛡️ Guarded Initialisation (mozapp init): Fetches and executes the maestro-plus setup script in-place inside ~/.mozapp/cheapwine. Command execution is guarded until initialization completes successfully, with automated cleanup on failure or --force reset.
  • 📀 Automated ISO Mounting & Silent Installation (install_local_ni_iso):
    • Mounts ISO files via udisksctl with -o unhide.
    • Links to ~/.mozapp/iso_mount_point.
    • Detects top-level .exe installers and executes silent setup (/s SILENT=TRUE) via CheapWine.
  • ⚡ Google Drive Virus Warning Bypass: Automatically detects Google Drive "file is too large to scan" HTML warning pages, extracts session tokens (confirm=t, uuid), and streams the true binary payload.
  • 🔗 Workspace Prefix Mounting: Automatically mounts cheapwine/.cheapwine to workspace/.cheapwine during package installations.
  • 📦 Batch Repository & Direct CLI Installation:
    • mozapp install_package <repo_name> / mozapp install_iso <repo_name> installs all items in a repository.
    • Omission of arguments opens the interactive Textual TUI with default table keyboard focus.
  • 🖥️ Interactive Textual TUI: Live filtering, markdown details, progress bars, and keyboard shortcuts (Enter, b, q).

📁 Directory Structure (~/.mozapp)

All MozApp data and prefixes are isolated in ~/.mozapp:

Path Description
~/.mozapp/config.json Central configuration containing repository sources & sentinel state
~/.mozapp/cheapwine/ Wine prefix directory & cheapwine binary execution context
~/.mozapp/workspace/ Package archive extraction & build workspace
~/.mozapp/isos/ Downloaded ISO image storage
~/.mozapp/iso_mount_point/ Active ISO mountpoint target

🚀 Quick Start & Installation

Installation

Install MozApp in editable mode:

uv pip install -e .

Initialisation

Before running any application management commands, initialize the CheapWine prefix context:

mozapp init

To force re-initialization and clear the existing cheapwine directory, run mozapp init --force.


📖 Command Reference

🎛️ Interactive TUI

# Open TUI for package repositories
mozapp install_package

# Open TUI for ISO repositories
mozapp install_iso

📦 Non-Interactive Package & ISO Installation

# Install a single package from a repository
mozapp install_package "Official Packages" "Sample Package"

# Install ALL packages from a repository
mozapp install_package "Official Packages"

# Install a single ISO from a repository
mozapp install_iso "Google Drive ISO Repo" "Nucleus Lite Edition"

# Install ALL ISOs from a repository
mozapp install_iso "Google Drive ISO Repo"

💿 Local ISO Mounting & Silent Installation

# Unmount existing ISO, mount local file via udisksctl (-o unhide), and run silent installer
mozapp install_local_ni_iso /path/to/installer.iso

🍷 CheapWine & Registered Application Forwarding

MozApp forwards Wine commands directly to cheapwine with WINEPREFIX=~/.mozapp/cheapwine:

# Run a registered application or arbitrary Windows executable
mozapp run "Native Access"
mozapp run ./installer.exe

# List registered Wine applications
mozapp list_apps

# Run wine / winetricks inside local prefix
mozapp wine cfg
mozapp winetricks corefonts

🛠️ Repository Configuration Management

# List configured repositories or remote repo items
mozapp list
mozapp list package "Official Packages"
mozapp list iso "Google Drive ISO Repo"

# Add a package or ISO repository
mozapp add_repo package "Custom Repos" "https://example.com/packages.json"
mozapp add_repo iso "Custom ISOs" "https://example.com/isos.json"

# Remove a repository
mozapp remove_repo package "Custom Repos"

📝 Configuration (config.json)

Example configuration file located at ~/.mozapp/config.json:

{
  "initialized": true,
  "package_repos": [
    {
      "name": "Official Packages",
      "url": "https://raw.githubusercontent.com/mozapp/sample-repo/main/packages.json"
    }
  ],
  "iso_repos": [
    {
      "name": "Official ISOs",
      "url": "https://raw.githubusercontent.com/mozapp/sample-repo/main/isos.json"
    }
  ]
}

🧪 Testing

Run the full pytest suite:

pytest

Metadata

Release files for mozapp 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mozapp 0.1.5
File Size Uploaded
mozapp-0.1.5.tar.gz 20.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mozapp 0.1.5
File Interpreter ABI Platform
mozapp-0.1.5-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 39.2 kB

Release files / mozapp-0.1.5.tar.gz

Download URL mozapp-0.1.5.tar.gz
Size 20.0 kB
Tags Source
SHA-256 checksum
How to use checksums
c19657388bb07f918290ab1844d7eb313c7a8cc51de8e2b9ddefbd8d0158f88e
BLAKE2b-256 checksum
How to use checksums
f6a70bad31dee4e55b886adaa1aed0b3d65756b025479f7383fa1e66e0f5ae66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.

Transparency log

Release files / mozapp-0.1.5-py2.py3-none-any.whl

Download URL mozapp-0.1.5-py2.py3-none-any.whl
Size 19.2 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
203ef58aed2b248cbbd6bbca36ac973e32b7bedf58c583ff950467c0ab4cede6
BLAKE2b-256 checksum
How to use checksums
763569e36059371836d07a5a7689f7e22d39d833e29d375c554f07aefd055b87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.0

2 release files

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