A modern desktop application for exploring, organizing, and viewing your local media collection through a smooth, immersive, cinematic experience.
In Development / Preview
PelisFlow 3D is still under development. The interface, internal modules, external-service integrations, and various features may change between versions.
The project should be considered a work in progress and not necessarily a final or stable release.
Right now, I have set up the project structure, documentation, and UI previews. I am currently cleaning up and refactoring the source code before pushing the initial release.
PelisFlow 3D / CatalogApp is a desktop media catalog developed with Python + PyQt6, designed to explore local collections of movies and other media files, especially .mkv y .mp4.
The project combines a Cover Flow 3D, direct playback through media players installed on the system, metadata extraction, optional integration with The Movie Database (TMDb), local caching y various visual customization options.
The main goal is to provide a modern, visual, and fluid media-library experience while keeping the user's media content stored locally on their device.
| Feature | Description |
|---|---|
| ๐จ Cover Flow 3D | Dynamic navigation between covers with depth, focus, rotation, and smooth transitions. |
| ๐ฌ Direct Playback | Opens media files using players installed on the system, such as VLC or MPC-HC. |
| ๐ TMDb Integration | Searches for information, covers, and metadata through The Movie Database API. |
| ๐ Metadata Extraction | Reads available information from .mkv and .mp4 files, including tags and embedded covers when available. |
| ๐ผ๏ธ Custom Covers | Allows covers to be manually changed using locally stored images. |
| โก Local Cache | Guarda imรกgenes y datos localmente mediante identificadores basados en hashes MD5 para acelerar cargas posteriores. |
| ๐ Local Catalog | Explores local directories and visually organizes discovered media files. |
| ๐ญ Details View | Displays expanded information associated with each movie or file. |
| โ๏ธ Customizable Settings | Settings for paths, appearance, backgrounds, logos, cover size, and external-service configuration. |
| ๐ฅ๏ธ Adaptive Interface | Designed to work in both the standard interface and full-screen mode. |
| ๐ Visual Customization | Backgrounds, logos, cover size, visual effects, and cover presentation options. |
| ๐ Background Loading | Background processes using PyQt6 threads to avoid unnecessarily blocking the interface during loading tasks. |
The application can optionally use The Movie Database (TMDb) to supplement the information available for movies.
The data it can retrieve includes:
- ๐ท๏ธ Title.
- ๐ Year and release date.
- โญ Rating.
- ๐ Overview / synopsis.
- ๐ผ๏ธ Posters and covers.
- ๐๏ธ Additional information available through TMDb.
- ๐ Automatic search and information lookup.
The integration requires configuring a TMDb API key in the application settings.
Importante: TMDb es un servicio externo. Su disponibilidad, API, lรญmites, contenido y condiciones de uso dependen de The Movie Database.
PelisFlow 3D is designed to combine information from different sources:
The application can analyze compatible media files, primarily:
.mkv
.mp4
When available, file metadata and tags can be used to supplement the movie details.
It can also work with embedded covers when the file contains them and the format/tagging allows them to be extracted.
When TMDb is enabled, the application can supplement local information with data retrieved through its API.
Covers can also be manually changed from the user's device, allowing the library to be visually customized without modifying the original media file.
The project includes a local caching system to avoid repeatedly downloading or processing the same resources.
The cache may store:
- ๐ผ๏ธ Images and thumbnails.
- ๐ Information and metadata in JSON format.
- ๐ MD5-based identifiers.
- ๐ Information associated with previously processed items.
This helps speed up subsequent catalog launches and reduce unnecessary requests to external services.
The cache folder contains information generated locally by the application and may be regenerated depending on the configuration and catalog state.
- Python 3.10 or later
- PyQt6
- Operating system:
- Windows
- macOS
- Linux
- VLC Media Player o MPC-HC recomendado para reproducciรณn externa.
The project is primarily aimed at Windows, although the architecture can be used on other systems compatible with Python and PyQt6.
The project's Python dependencies are listed in:
requirements.txt
git clone https://github.com/FlixForge/PelisFlow3D.git
cd PelisFlow3DYou can also download the source code directly from GitHub.
Using a virtual environment is recommended to keep dependencies isolated:
python -m venv .venv.venv\Scripts\activatesource .venv/bin/activatepip install -r requirements.txtpython main.py- Start the application.
- Use the folder ๐ button in the interface.
- Select the directory containing your media files.
- The application will scan compatible files and build the catalog.
Puedes utilizar:
- โฌ ๏ธ Flecha izquierda
- โก๏ธ Flecha derecha
- ๐ฑ๏ธ Rueda del ratรณn
- ๐ฑ๏ธ Doble clic
- โจ๏ธ Enter
to navigate through the covers and access the available information.
The application can open the selected file using a media player installed on the system, such as:
- VLC
- MPC-HC
The playback button available in the interface can also be used when applicable.
From the settings panel, you can enter your TMDb API key to enable features related to searching for and retrieving external information.
The application is built around a cover-focused visual interface.
Available options include:
- ๐จ Background customization.
- ๐ผ๏ธ Logo customization.
- ๐ Cover size adjustment.
- ๐ Visual modes for secondary covers.
- โจ Animations and transition effects.
- ๐ฅ๏ธ Full-screen view.
- ๐ Media-library-style visual presentation.
๐ PelisFlow3D/
โ
โโโ ๐ cache/ # Local image and metadata cache
โโโ ๐ icons/ # Interface icons
โโโ ๐ recursos/ # Logos, screenshots, and visual assets
โ
โโโ ๐ main.py # Main entry point
โโโ ๐ main_window.py # Main window and global controls
โโโ ๐ cover_flow.py # Main Cover Flow engine and components
โโโ ๐ cover_widgets.py # Visual components and cards
โโโ ๐ detail_dialog.py # Details view and information editing
โโโ ๐ tmdb_dialog.py # TMDb interface and related processes
โโโ ๐ config_dialog.py # Settings and customization window
โโโ ๐ dialogs.py # Facade for simplified dialog imports
โโโ ๐ workers.py # Background processes using QThread
โโโ ๐ utils.py # Helper functions and utilities
โโโ ๐ config.py # Base paths and constants
โ
โโโ โ๏ธ config_catalogo.json # Persistent configuration
โโโ ๐ .gitignore # Files excluded from version control
โโโ ๐ requirements.txt # Python dependencies
โโโ ๐ LICENSE # Project license
โโโ ๐ README.md # Documentation
The structure may change as the project evolves and is further modularized.
Planned areas for future improvements include:
- ๐จ Theme system and advanced customization.
- ๐ Advanced filters and search by genre, year, and rating.
- ๐ฎ Gamepad / controller support.
- ๐งฉ Additional catalog organization improvements.
- โก Ongoing performance optimization.
- ๐๏ธ Further improvements to the visual experience and animations.
- ๐ฅ๏ธ Additional improvements for full-screen mode and different resolutions.
PelisFlow 3D is exclusively a desktop application, graphical interface, and local media file cataloger.
The project does not provide, host, store, distribute, stream, or include movies, TV shows, videos, or other copyrighted content.
The application is designed to work with files that are already stored locally on the user's device. The user is solely responsible for the files they use with the application and for ensuring that they have the necessary rights, permissions, or licenses to access, play, and use such content.
The playback function can only open files available on the user's device through locally installed media players. PelisFlow 3D does not provide streaming services or content servers.
The TMDb integration is used to retrieve information and resources available through its API. Use of such data is subject to TMDb's applicable terms, policies, and conditions.
Screenshots, names, posters, logos, titles, and other audiovisual references included in the project's documentation or demonstrations are presented solely for illustrative, educational, and interface demonstration purposes. Rights to such works, trademarks, and images belong to their respective owners.
The developer is not responsible for content that users store, import, play, or manage through the application, nor for how third parties use the software.
Users are responsible for complying with all applicable laws and regulations in their jurisdiction.
PelisFlow 3D is designed to manage locally stored content.
The application may process information related to files selected by the user, such as:
- File names.
- Local paths.
- Media metadata.
- Images and covers.
- Information stored in the cache.
When external services such as TMDb are enabled, certain search data may be sent to that service to retrieve corresponding information.
Users should review the settings and policies of the external service being used before enabling it.
This project may interact with third-party software and services, including:
- The Movie Database (TMDb) para informaciรณn multimedia.
- VLC Media Player para reproducciรณn.
- MPC-HC para reproducciรณn.
- PyQt6 para la interfaz grรกfica.
- Mutagen para determinadas operaciones relacionadas con metadatos.
Each third-party project or service maintains its own licenses, terms, and conditions.
If you like PelisFlow 3D and want to support its development:
- ๐ Star the repository.
- ๐ฌ Share suggestions through Issues.
- ๐ Report bugs or issues you encounter.
- ๐ก Suggest new features and improvements.
- ๐ค Contribute to the project when possible.
This project is distributed under the MIT License.
See the LICENSE file for the full license terms.
Designed with โค๏ธ by FlixForge
๐ฌ PelisFlow 3D โ Your local, visual, and organized media library.

