Skip to main content

FrontEngine

Support this project on Steam

About

FrontEngine is a lightweight and flexible framework designed to simplify automation and visualization tasks.
It provides an intuitive interface and supports multiple media formats for interactive demonstrations.

FrontEngine UI


Features

  • GIFs & Animations
    (GIFs may take time to load)
    GIF
    WEBP

  • Video
    Video

  • Website
    Website

  • YouTube Showcase
    Watch on YouTube


Desktop pet

Spawn an animated sprite that lives on your desktop, from the Pet tab.

  • Sprites — pick a single GIF/WebP/PNG, or a pet pack folder whose file names map to states: walk, idle, sleep, climb, fall, drag (missing states fall back to walk).
  • Behaviour — walk on the floor with gravity (throw it and it bounces), wander freely, or chase the cursor. Floor pets can climb screen edges and stand on the top edge of other windows.
  • Life — mood, fullness and an affection level that persist between runs; the pet grows as it levels up, chats in speech bubbles, naps while you are away, and warns you about a low battery.
  • Interaction — drag it around, right-click to clone/feed/set a reminder, and drop a file onto it: an image or pet pack becomes its new look, anything else is eaten as a snack.
  • React to audio — the pet pulses to your speakers' output level. It reads only the Windows output meter (WASAPI IAudioMeterInformation); no audio is captured or recorded. Peaks are smoothed with an RMS window and a fast-attack/slow-decay envelope so the pulse breathes instead of flickering. On multi-monitor setups each pet follows the audio endpoint that matches its own screen, falling back to the default output device.

Audio features are Windows-only and degrade to "no pulse" elsewhere.


Install

  • System Requirements

    • Python 3.10+
    • Windows 10/11 is the primary target; macOS and Linux are supported but may need extra OS dependencies.
  • From PyPI

    pip install frontengine
    
  • Pre-built binaries


Development

  • Requires Python 3.10+.
  • Install the dev toolchain:
    pip install -r dev_requirements.txt
    pip install -e .
    
  • Run the unit smoke tests:
    python ./tests/unit_test/start/start_front_engine.py
    python ./tests/unit_test/start/extend_front_engine.py
    
  • Contributions and pull requests are welcome!

Continuous Integration & Release

This repository ships two GitHub Actions workflows:

Workflow Trigger Purpose
CI (.github/workflows/ci.yml) Push / PR to main or dev, daily cron Matrix smoke test across Python 3.10 / 3.11 / 3.12 on Windows
Release (.github/workflows/release.yml) A pull request is merged into main (or manual dispatch) Auto-bumps the version in stable.toml/pyproject.toml, commits the bump back to main, swaps stable.tomlpyproject.toml, builds sdist + wheel, uploads to PyPI as frontengine via twine, creates a GitHub release tagged v<version>

Publishing only happens on merge to main — pushing to dev runs CI but never publishes. On merge, the workflow automatically bumps the patch segment of the version (configurable via manual dispatch: patch / minor / major), commits the bump back to main with [skip ci], then builds, uploads, and releases under the new version. Both the PyPI upload and the GitHub release see the bumped version, not the previous one.

Cutting a new release

  1. Merge a pull request into main — the patch version bumps automatically.
  2. That's it. PyPI publish and GitHub release happen in one workflow run.

For a minor or major bump, trigger the workflow manually via Actions → Release → Run workflow and pick the bump segment. That path also works when you need to re-run a failed publish without a new merge.

Required repository secrets

Secret Used by Contents
PYPI_API_TOKEN release.yml A PyPI API token scoped to the frontengine project

The workflow uses __token__ as the twine username, so only the token itself needs to be stored.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

frontengine-1.0.27.tar.gz (114.3 kB view details)

Uploaded Source

Built Distribution

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

frontengine-1.0.27-py3-none-any.whl (160.1 kB view details)

Uploaded Python 3

File details

Details for the file frontengine-1.0.27.tar.gz.

File metadata

  • Download URL: frontengine-1.0.27.tar.gz
  • Upload date:
  • Size: 114.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for frontengine-1.0.27.tar.gz
Algorithm Hash digest
SHA256 c7c6a5f7eedb45a3730a89f3212493cd443f2934181bcb40ca3594bfb945c44c
MD5 679a82e9b6f5277ed6d0d2433645604e
BLAKE2b-256 0a44d6ba2e6142fc5ba2d716a54125c74001367337eafaf3b1a2f30862dba876

See more details on using hashes here.

File details

Details for the file frontengine-1.0.27-py3-none-any.whl.

File metadata

  • Download URL: frontengine-1.0.27-py3-none-any.whl
  • Upload date:
  • Size: 160.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for frontengine-1.0.27-py3-none-any.whl
Algorithm Hash digest
SHA256 43b7f5721b66bcd132be2360f07ceb13d3789c58c896c2a0b6021e6c57c1c377
MD5 68c4cc5bfd7f4aecd24546e45a10c897
BLAKE2b-256 68b7a42dacfb41efa14b124a92ce773decacf898a4fbae49f860ee9ccfaf1faa

See more details on using hashes here.

Release history Release notifications | RSS feed

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