u/Globover

Need a code review on my first two Python packages (MetaPathFinder and local networking)

I am learning how to properly package and structure Python projects. I usually run raw .py scripts for my local automation tools, but on an 8GB RAM machine, things were getting messy and slow. I decided to learn how to make actual libraries and built two tools to solve my own workflow issues.

Since I am self-taught in packaging, I would really appreciate it if more experienced Python developers could review my code and point out my mistakes.

1. Zenith (Speculative Imports) I tried to build an orchestration layer to speed up heavy imports. I am using a custom MetaPathFinder to load dependencies in the background.

  • My question: Is using sys.meta_path like this considered a bad practice? Is there a safer, more Pythonic way to handle background speculative loading?

2. Nerve (Local Offline Workflows) I built this to connect my different local applications so they can communicate entirely offline without a heavy server.

  • My question: Did I structure the PyPI package correctly? Are there better standard libraries for this kind of local script-to-script communication?

I really want to learn the right way to do this rather than just hacking things together. Any harsh feedback or advice on my repository structure is welcome.

reddit.com
u/Globover — 18 hours ago

I got tired of running scattered .py scripts, so I packaged my first two Python libraries for local automation

I usually create tools for indie game devs (like my recent projects FrameGrid and Giftly). To make them work well together on my 8GB RAM computer, I needed a way to prioritize speed and resource management. Instead of keeping everything as messy standalone scripts, I took the time to learn how to make proper Python packages.

The first one is Zenith. It's built to speed up app loading times. It acts as an orchestration layer for Python 3.14+ using free-threading to load heavy dependencies speculatively in the background. It is not flawless, but it gets the job done for my workflow and cuts down boot times significantly.

The second one is Nerve. It is a local connector that lets different tools communicate with each other completely offline. I rely on it to keep my local ecosystem running smoothly without needing external servers.

I am sharing them because I know this community has a lot of experienced developers. I would really appreciate any advice or feedback on the code structure, or anything else I might have missed.

(Links to both GitHub repositories are down in the comments).

reddit.com
u/Globover — 18 hours ago
▲ 0 r/Python

Alenia Porter: A lightweight FFmpeg GUI built with Python for batch media optimization

What My Project Does: Alenia Porter is a standalone Python application (packaged with PyInstaller) that provides an ultra-lightweight GUI for batch media conversion. It utilizes FFmpeg under the hood to convert heavy audio to OGG/OPUS and videos to WebM. It also features a logic module that scans directories and automatically writes registry scripts (.gd for Godot, .rpy for Ren'Py).

Target Audience: Indie game developers, solo creators, and anyone on low-end hardware who needs batch media conversion but prefers not to use command-line interfaces.

Comparison: Unlike heavy tools like Handbrake, Alenia Porter is designed to consume less than 10MB of RAM during operation. Unlike generic FFmpeg wrappers, it is specifically tailored to output game-engine-ready code alongside the converted media files.

The Development Process: I built this on an 8GB RAM PC running Linux Mint. Compressing assets manually was a massive bottleneck for my own projects. Using Python allowed me to keep the logic clean and cross-platform. The app is open-source and currently supports 5 languages (English, Spanish, French, Japanese, Simplified Chinese - translated by KXLT).

reddit.com
u/Globover — 4 days ago

Alenia Porter v3.1: A lightweight FFmpeg GUI tailored for game devs (and general use).

I recently updated my side project, Alenia Porter. Originally, it was a simple script to compress audio, but version 3.1 introduces full video-to-WebM conversion and a multi-language interface.

While it has a specific mode to generate code registries for Godot and Ren'Py, it also functions as a general, ultra-lightweight media converter for anyone who needs to batch-process files without dealing with terminal commands.

It is fully open-source and natively supports English, Spanish, French, Japanese, and Simplified Chinese (translated by KXLT).

I am looking for constructive feedback on the user interface and the Python codebase. If you have suggestions for adding new engines or improving the workflow, please let me know.

reddit.com
u/Globover — 4 days ago

I built a free standalone media optimizer to run on my 8GB RAM PC.

As a solo developer working on an 8GB RAM workstation, opening heavy DAWs or video editors just to compress assets was killing my workflow. Not everyone wants to use a command-line terminal to run FFmpeg, so I built Alenia Porter.

It is a lightweight desktop app that batch-converts heavy audio to OGG/OPUS and videos to WebM. To save even more time, it automatically writes the registry scripts for your engine (currently supporting Godot and Ren'Py).

My goal is to keep this tool completely free and open-source, and eventually expand it to support more engines. It currently supports 5 languages (English, Spanish, French, Japanese, and Simplified Chinese - translated by KXLT).

links on comments

u/Globover — 4 days ago

I built a free standalone media optimizer to run on my 8GB RAM PC.

As a solo developer working on an 8GB RAM workstation, opening heavy DAWs or video editors just to compress assets was killing my workflow. Not everyone wants to use a command-line terminal to run FFmpeg, so I built Alenia Porter.

It is a lightweight desktop app that batch-converts heavy audio to OGG/OPUS and videos to WebM. To save even more time, it automatically writes the registry scripts for your engine (currently supporting Godot and Ren'Py).

My goal is to keep this tool completely free and open-source, and eventually expand it to support more engines. It currently supports 5 languages (English, Spanish, French, Japanese, and Simplified Chinese - translated by KXLT).

Link son comments

u/Globover — 4 days ago
▲ 12 r/godot

Open Source Media Optimizer: Batch convert Audio/Video

Hello everyone. Dealing with unoptimized media assets can bloat a project quickly. To solve this, I updated Alenia Porter to v3.1. It is a lightweight, standalone GUI that batch-processes your media folders specifically for game engines.

It converts heavy audio into OGG/OPUS and large videos into Godot-friendly formats (WebM and OGV). More importantly, it automatically generates an AudioRegistry.gd script matching your folder structure, saving you the manual work of registering every sound effect and track.

The tool is completely open-source, free, and explicitly prohibits AI training. It is currently available in English, Spanish, French, Japanese, and Simplified Chinese (translated by KXLT).

Links on comemnts

u/Globover — 4 days ago
▲ 2 r/RenPy

[Tool Update] Alenia Porter v3.1 - Batch Audio/Video Optimizer & Auto-Code Generator

It has been a while since my last update here. I just released version 3.1 of Alenia Porter, a free standalone media optimizer.

The biggest addition in this update is video support. It now batch-converts heavy video files (MP4, MKV) into streaming-optimized WebM format, which is highly requested for visual novel backgrounds and cutscenes. For audio, it continues to compress heavy formats into OGG or OPUS.

The core feature remains intact: after conversion, the tool automatically generates your audio_defines.rpy file so you do not have to write registry lines manually.

It is completely free, open-source, and natively available in 5 languages (English, Spanish, French, Japanese, and Simplified Chinese - all translated by KXLT). My goal is to keep it updated with more languages and engine support.

link on coments

u/Globover — 4 days ago
▲ 5 r/hobbygamedev+2 crossposts

Kingdom Come - 55-Track Medieval & Fantasy Music Pack developed with a Custom Python DAW

I am sharing a project I have been working on for the indie community: Kingdom Come. It is a high-fidelity 16-bit music pack with 55 tracks designed for medieval and fantasy settings.

The main technical challenge of this project was the production method. Instead of using a traditional DAW, I developed a proprietary tool called Alenia Maker. This is a digital audio workstation built entirely in Python that uses custom MIDI pipelines and SoundFonts to generate music.

This process allowed me to bridge the gap between retro 16-bit nostalgia and modern symphonic depth through analogue mastering emulation (tape compression and sub-bass harmonics). The pack is organized into three suites:

  • Acoustic-Fantasy Suite: 19 tracks featuring lutes, harps, and Celtic instruments.
  • Ambient & Battle Suite: 22 tracks for exploration and high-intensity combat.
  • Orchestral Suite: 14 symphonic compositions with heavy brass and battle choirs.

I will leave the link to the full pack in the comments to avoid any issues with site filters. I would be happy to discuss the technical aspects of building a music pipeline in Python if anyone is interested in the process.

youtu.be
u/Globover — 5 days ago

I just updated my two primary 2D workflow tools, FrameGrid and Giftly, to be fully functional web applications.

FrameGrid allows you to drag and drop complex spritesheets and automatically slice them into individual frames based on your exact pixel dimensions.

Giftly is designed for devlogs and showcases. You drop a spritesheet, define the frame width and FPS, and it generates a high-fidelity GIF. I specifically rebuilt the rendering engine to eliminate dithering, meaning your pixel art will not suffer from color bleeding or dirty pixels during the 256-color compression.

Both tools run entirely in the browser and output your files via a ZIP download. (FrameGrid also retains its Windows executable version for offline batch processing).

They are free to use for your projects.

Giftly:https://alenia-studios.itch.io/giftly-alenia
FrameGrid:https://alenia-studios.itch.io/framegrid

u/Globover — 11 days ago

Formatting assets for engine import or creating clean GIFs for devlogs can be tedious. I originally built two desktop utilities for my own workflow to handle this: FrameGrid (for slicing spritesheets into individual frames) and Giftly (to convert spritesheets directly into animated GIFs).

Recently, I ported both tools to HTML5 so anyone can use them directly in the browser without having to download or install standalone executables.

The main reason for this web rebuild was a rendering issue with the GIF exporter. The previous desktop engine struggled with the 256-color limit on complex pixel art, applying a dithering effect that dirtied the solid colors. The new web-native engine uses a much better quantization method with zero dithering, ensuring that the GIFs you generate for your devlogs or social media look exactly as crisp as they do in your engine viewport.

Both tools support drag-and-drop batch processing and output everything neatly into a ZIP file.

You can use them straight from the browser here:

Giftly (High-Fidelity GIF Export):https://alenia-studios.itch.io/giftly-alenia

FrameGrid (Spritesheet Slicer):https://alenia-studios.itch.io/framegrid

How do you usually handle your GIF captures for devlogs? I built this to skip the video-to-gif pipeline entirely, but I am curious about other workflows.

u/Globover — 11 days ago

As a solo developer, building tools to speed up my workflow is essential, but sharing them is a different challenge. I recently released two desktop tools: FrameGrid (a spritesheet slicer) and Giftly (a spritesheet to GIF converter for devlogs).

However, I ran into a major roadblock: the indie trust barrier. Nobody wants to download a random .exe from a developer they do not know.

To solve this, I decided to port both tools entirely to HTML5 using Vanilla JS and the Canvas API. Now, they run completely in the browser. Developers can test them, slice their sprites, and generate GIFs instantly without downloading anything.

This transition also allowed me to fix a severe technical issue. The original Python-based engine for the GIF converter was ruining complex pixel art. When processing large files, it applied an aggressive dithering algorithm to fit the 256-color limit, which resulted in color bleeding and dirty pixels. By rebuilding the rendering engine for the web, I was able to disable dithering entirely and optimize the quantization, resulting in pixel-perfect GIFs that are 100% faithful to the original spritesheet colors.

FrameGrid is also live on the web, though I kept the original offline executable available for massive batch processing.

If you need a fast way to slice spritesheets or create high-quality GIFs for your devlogs, you can test them directly in your browser here. I would appreciate any feedback on the web performance.

Giftly (GIF Converter):https://alenia-studios.itch.io/giftly-alenia

FrameGrid (Slicer):https://alenia-studios.itch.io/framegrid

u/Globover — 11 days ago

As a solo developer, building tools to speed up my workflow is essential, but sharing them is a different challenge. I recently released two desktop tools: FrameGrid (a spritesheet slicer) and Giftly (a spritesheet to GIF converter for devlogs).

However, I ran into a major roadblock: the indie trust barrier. Nobody wants to download a random .exe from a developer they do not know.

To solve this, I decided to port both tools entirely to HTML5 using Vanilla JS and the Canvas API. Now, they run completely in the browser. Developers can test them, slice their sprites, and generate GIFs instantly without downloading anything.

This transition also allowed me to fix a severe technical issue. The original Python-based engine for the GIF converter was ruining complex pixel art. When processing large files, it applied an aggressive dithering algorithm to fit the 256-color limit, which resulted in color bleeding and dirty pixels. By rebuilding the rendering engine for the web, I was able to disable dithering entirely and optimize the quantization, resulting in pixel-perfect GIFs that are 100% faithful to the original spritesheet colors.

FrameGrid is also live on the web, though I kept the original offline executable available for massive batch processing.

If you need a fast way to slice spritesheets or create high-quality GIFs for your devlogs, you can test them directly in your browser here. I would appreciate any feedback on the web performance.

Giftly (GIF Converter):https://alenia-studios.itch.io/giftly-alenia

FrameGrid (Slicer):https://alenia-studios.itch.io/framegrid

u/Globover — 11 days ago
▲ 2 r/itchio

The Alenia Ecosystem is receiving a major structural update. Both Giftly and FrameGrid have been ported to HTML5 and are now fully functional directly from your web browser.

The transition to a web-native architecture stems from two main reasons. First, the trust barrier. As a relatively new developer in the community, I understand the hesitation to download and run standalone executables from an unknown source. By bringing these tools to the browser, you can instantly test the workflow, verify the results, and see if it fits your pipeline without installing anything. If you find the tools useful, your ratings and comments will help build that trust over time.

Second, a critical technical limitation required a complete engine rebuild. The original desktop version of Giftly struggled with complex pixel art containing large color palettes. The underlying engine forced a dithering process to compress the image into 256 colors, which resulted in color shifting and dirty pixels that ruined the clean look of high-fidelity spritesheets.

The new HTML5 version of Giftly solves this completely. The rendering engine was rebuilt to maximize the color mapping without dithering, resulting in pixel-perfect GIFs that remain 100% faithful to your original spritesheets, regardless of the scale or color count.

FrameGrid has also received its web version for instant spritesheet slicing. However, the original lightweight Windows executable remains available for download for those who prefer offline, massive batch processing. The desktop version of Giftly is currently being reworked to match the web version's rendering quality.

You can try the new web versions here:

Giftly:https://alenia-studios.itch.io/giftly-alenia

FrameGrid:https://alenia-studios.itch.io/framegrid

u/Globover — 11 days ago

I have been working on expanding the Pixel Art Atmospheric VFX pack. It just went from 10 to 20 animations. The new additions are Magic Wind, Swamp Bubbles, Explosive Bubbles, Splash Rain, Freezing Frost, Cinematic Snow, Thick Fog, Thunderstorm, Caustics, and Aurora Borealis. Everything is handcrafted, no AI.

I am still working on improving my pixel art skills, so I apologize if some of these lack the quality of top-tier assets. I would really appreciate your honest opinions and feedback on the assets so I can keep learning and getting better.

While making these, testing and exporting the sprite sheets became a huge headache. To solve my own workflow issues, I built Giftly (Alenia GifPreview v3.0). It is a tool I made to inspect sprite sheets, remove background colors, add dynamic backgrounds, and export to GIFs or PNG sequences. It saved me a lot of time preparing this update.

You can check them out here:

VFX Pack:https://alenia-studios.itch.io/10-pixel-art-atmospheric-vfx-pack
Giftly Tool:https://alenia-studios.itch.io/giftly-alenia

u/Globover — 15 days ago

I have been working on expanding the Pixel Art Atmospheric VFX pack. It just went from 10 to 20 animations. The new additions are Magic Wind, Swamp Bubbles, Explosive Bubbles, Splash Rain, Freezing Frost, Cinematic Snow, Thick Fog, Thunderstorm, Caustics, and Aurora Borealis. All handcrafted, no AI.

I am still working on improving my pixel art skills, so I apologize if some of these lack the quality of top-tier assets. The biggest challenge this time was figuring out the motion and lighting for complex effects like the Aurora Borealis and the Splash Rain without making the frames look messy. I would really appreciate your honest opinions and feedback on the assets so I can keep learning and getting better.

Also, while making these, testing and exporting the sprite sheets became a huge headache. To solve my own workflow issues, I released Giftly (Alenia GifPreview v3.0). It is a tool I made to inspect sprite sheets, remove background colors, add dynamic backgrounds, and export to GIFs or PNG sequences. It saved me a lot of time preparing this update.

You can check them out here:

VFX Pack:https://alenia-studios.itch.io/10-pixel-art-atmospheric-vfx-pack
Giftly Tool:https://alenia-studios.itch.io/giftly-alenia

u/Globover — 15 days ago

Recientemente actualicé mi pack de VFX atmosféricos de Pixel Art hecho a mano, ampliándolo de 10 a 20 animaciones de bucle sin interrupciones. Estos están diseñados específicamente para añadir profundidad climática y ambiental a proyectos 2D en Unity.

Junto a esta expansión, estoy lanzando Giftly, una herramienta dedicada a visualizar y componer diseñada para ayudar a desarrolladores y artistas a inspeccionar, personalizar y exportar hojas de sprites antes de incorporarlas al motor.

La expansión del paquete de VFX (20 recursos):

  • Se añadieron 10 nuevos efectos ambientales: Viento Mágico, Burbujas de Pantano, Burbujas Explosivas, Lluvia Salpicadura, Escarcha Helada, Nieve Cinematográfica, Niebla Espesa, Tormenta Eléctrica, Cáusticas y Aurora Boreal.
  • Resolución base: 320x180 px.
  • 48 fotogramas por animación (Seamless Loop).
  • Formatos incluidos: tiras completas de sprites (.png), secuencias de fotogramas individuales y vistas previas de GIF.

Giftly - Herramienta de Vista previa y Composición de Sprites:

  • Fondos avanzados: Prueba tus hojas de sprites con colores RGB sólidos personalizados, o carga cualquier imagen externa/GIF para usarla como fondo dinámico.
  • Eliminación de color de fondo: Chroma key incorporado para eliminar el color de fondo original de un GIF o hoja de sprites importada, haciéndola transparente.
  • Segmentación inteligente: Analizar automáticamente las hojas de sprites definiendo columnas, filas o dimensiones exactas de los fotogramas.
  • Reproducción y exportación: Controles de reproducción en tiempo real con retraso de fotograma ajustable. Exporta tu composición final como una secuencia GIF o PNG de alta calidad.

Enlaces:

u/Globover — 15 days ago
▲ 3 r/itchio

I have just updated my Pixel Art Atmospheric VFX pack on itch.io, expanding it from 10 to 20 loopable animations. Alongside this update, I am releasing Giftly, a dedicated visualizer tool designed to help developers and artists inspect, customize, and export sprite sheets.

The VFX Pack Expansion (20 Assets):

  • Added 10 new environmental effects: Magic Wind, Swamp Bubbles, Explosive Bubbles, Splash Rain, Freezing Frost, Cinematic Snow, Thick Fog, Thunderstorm, Caustics, and Aurora Borealis.
  • Base Resolution: 320x180 px.
  • 48 frames per animation (Seamless Loop).
  • Included formats: Full sprite strips (.png), Individual frame sequences, and GIF previews.

Giftly - Sprite Preview & Composition Tool:

  • Advanced Backgrounds: Test your sprite sheets against custom RGB solid colors, or load any external image/GIF to use as a dynamic background.
  • Background Color Removal: Built-in chroma keying to remove the original background color of an imported GIF or sprite sheet, making it transparent.
  • Smart Slicing: Automatically parse sprite sheets by defining exact columns, rows, or frame dimensions.
  • Playback & Export: Real-time playback controls with adjustable frame delay. Export your final composition as a high-quality GIF or PNG sequence.

Links:

u/Globover — 15 days ago