CLI tool
flattool/warehouse avatar
flattool/warehouse

Warehouse: a Flatpak toolbox for rollback, leftover data and batch uninstalls

A versatile toolbox for viewing flatpak info, managing user data, and batch managing installed flatpaks

629 stars45 forksPythonGPL-3.0

At a glance

What is it?
Warehouse puts Flatpak version rollback, leftover user data cleanup and batch uninstalls behind a GTK window, aimed at desktop users who want those jobs done without memorising command line flags.
Who is it for?
Warehouse suits a desktop user who wants to inspect Flatpak details, walk back a bad update and clear stale user data without learning the command line, and it is packaged on Flathub as io.github.flattool.Warehouse for exactly that. It is a poor fit for servers, for machines where Flatpak data has been moved away from ~/.var/app, or for anyone who needs the batch actions from a script, since no scripting interface is described.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 93 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Warehouse only manages the default Flatpak data path

Warehouse is a Python and GTK toolbox that puts a window in front of Flatpak chores that normally mean typing commands: reading package details, undoing an unwanted update, removing an app together with the data it left behind, and copying application IDs in bulk. Its own documentation states the assumption that shapes most of the behaviour, stating that flatpak user data is expected in `~/.var/app`. Every check for leftovers, every delete-only operation and every offer to reinstall a matching Flatpak is done against that one folder. The project also states plainly that it does not aim to replace Flatpak, it simply makes the appropriate Flatpak commands easier to trigger. That framing matters when judging the tool, because a graphical front end cannot offer an option the underlying command line does not have.

Rollback stops at the versions a remote still holds

The update-undo feature is described as rolling back unwanted updates for any package, with one condition attached: the remote has to have older versions available. That condition is the entire limitation, because the depth of history depends on what the configured remote retains and Warehouse keeps no separate archive of old builds. A separate window can display everything the `flatpak list` command reports, and each entry carries a button for copying, which turns a long column of identifiers into a few clicks. Version changes are presented as a per-package operation rather than a global one, so a single bad update can be walked back without disturbing the rest of the installed set.

Batch mode trades review for speed

A batch mode covers uninstallations, user data deletions and app ID copying in bulk, and for a machine carrying many Flatpaks that is the part that saves time. The cost is review. A bulk removal that includes user data erases everything the application stored, and the copy operation places many identifiers at once, so a mistaken selection propagates faster than a single click would. The project documentation does not mention a dry run, an undo for a bulk delete, or a confirmation summary, which means the practical workaround is to work in smaller groups and to check the data listing before each group. The same caution applies to leftover entries, since those are also deletable in bulk.

Copying user data before a destructive edit

A dedicated copy feature takes quick backups of app user data before anything risky happens with that data, listed in the feature set as a quick backup of user data. Because it copies rather than moves the data, it can keep a spare of a configuration tree before a rollback or a removal. The feature pairs with the leftover workflow: when the data folder holds an entry whose application is no longer installed, Warehouse can either delete that entry or attempt to install a Flatpak that matches it. That install path is an attempt rather than a guarantee, so it is worth confirming afterwards that what got installed is the application you expected.

Remote management sits next to app management

Installed and enabled Flatpak remotes can be deleted, and new remotes can be added, from the same window as the applications. This matters more than it first appears, because remotes decide which updates arrive and which older versions stay reachable, and rollback only works while some remote still carries the older build. Removing a remote therefore narrows what the rollback feature can do later, and removing the wrong one can strand a package that can no longer be updated. Adding a remote is the fix for a machine that lost its source list, although the documentation does not spell out which fields the add dialog asks for, so expect to read the values from another Flatpak installation.

Building from source pulls the GNOME 47 runtime

Warehouse is published on Flathub as `io.github.flattool.Warehouse`, so the shortest route is to search for Warehouse in a software store. A second route is the releases page, where a file named `io.github.flattool.Warehouse.Flatpak` is published for local installation through a software store or a path install:

shell
   flatpak install /path/to/io.github.flattool.Warehouse.flatpak

Once installed, the application is launched from your app menu or by running:

shell
flatpak run io.github.flattool.Warehouse

To build from the repository instead, `flatpak` and `git` must both be available, and the build pulls in the builder along with the GNOME 47 SDK and platform:

bash
# Install build dependencies
flatpak install org.flatpak.Builder org.gnome.Sdk//47 org.gnome.Platform//47 -y

# Build and install Warehouse
flatpak run org.flatpak.Builder _build ./build-aux/io.github.flattool.Warehouse.json --install --user --force-clean

A source build runs under the branch identifier rather than a release tag:

bash
flatpak run io.github.flattool.Warehouse//master

The first launch opens the window listing installed Flatpaks, and the copy button on a row is the quickest way to get an application ID out of the list.

Early stage scope and the gaps in the documentation

The project describes itself as still being in its early stages, developed by a newcomer, and it says that understanding of potential bugs is appreciated. Translation is hosted on Weblate at Fyra Labs, and the tree carries a `po/` directory, meson build files, a `PLANNED & NOT PLANNED.md` file that is the most likely place to look for scope decisions, and screenshots under `app_page_screeshots/`. Code style is enforced with pre-commit, and `pyproject.toml` sets ruff to a line length of 160 with tab indentation while codespell skips the code of conduct file and the translation catalogues. What the documentation leaves open is the recovery side of the data tools: it describes no way to undo a data deletion once performed, and no command line or API surface for scripting the batch actions. The last push was on 2026-07-22, and the most recent release, 2.2.0, is dated 2026-01-17.

Editorial conclusion

Warehouse suits a desktop user who wants to inspect Flatpak details, walk back a bad update and clear stale user data without learning the command line, and it is packaged on Flathub as io.github.flattool.Warehouse for exactly that. It is a poor fit for servers, for machines where Flatpak data has been moved away from ~/.var/app, or for anyone who needs the batch actions from a script, since no scripting interface is described. Before letting it delete anything, confirm that your apps really keep data in the default directory, copy that folder yourself first, and check that the remote you depend on still carries the older version you want to roll back to.

Frequently asked questions

How do I install Warehouse on my Linux desktop?

Warehouse is available on Flathub, so you can search for it in your software store and install the app id io.github.flattool.Warehouse. The releases page also publishes io.github.flattool.Warehouse.Flatpak for a local path install, and the source tree can be built with org.flatpak.Builder against the GNOME 47 SDK.

Where does Warehouse look for Flatpak user data?

The project states that Warehouse assumes flatpak user data is located in the default directory ~/.var/app. Its leftover scans, data deletions and reinstall attempts all work against that folder.

Can Warehouse roll back a Flatpak I updated by mistake?

Yes, provided the remote still has older versions of that package available. The depth of rollback is therefore bounded by what your configured remotes retain rather than by anything Warehouse stores itself.

Does Warehouse replace the flatpak command line?

No. The project states that it does not aim to replace Flatpak and instead facilitates the appropriate Flatpak commands for the actions you pick in the window.

Is Warehouse mature enough to trust with my application data?

The project describes itself as still in its early stages, developed by a newcomer, and it asks for reports of potential bugs. No undo is described for data deletions, so keeping your own copy of the data folder before using it is the sensible precaution.

Official sources

  1. flattool/warehouse on GitHub
  2. Issues
  3. License: GPL-3.0
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/flattool-warehouse.svg)](https://hysenlabs.com/projects/flattool-warehouse)

Was this useful?