Hubstore – Apps distribution and friend-to-friend promotion

Hi devs !

I am excited to showcase Hubstore.

Hubstore is available on PyPI and is not intended to be an alternative to PyPI. I think Hubstore lends itself well to situations where, for example, you want to be able to name your project whatever you want without worrying about name collisions: for example a programming course where the name of the project is the same for each student who must build it and publish it on the same platform.

Hubstore not only allows you to install applications, but also to run them from the same interface in order to be able to intercept crashes and offer to report them (Github Issues).

I wanted Hubstore to offer a default list of apps that can be updated with new app recommendations. But instead, I implemented the Promoted feature which allows each developer to promote other apps. So as a user, when you download an application X from developer Y whom you trust, this developer Y can present to you other apps A, B, C and D which come either from him or from other developers in who he trusts. Let's not be naive, the goal is not to create a perfect chain of trust ! I'm just curious to know how it will turn out.

Regarding the promotion algorithm, for the moment it is almost non-existent: Hubstore just displays a list of all the promoted applications (avoiding duplicates). For the next release, I am thinking of an algorithm which: - introduces randomness; - limits to 3 or 4 the number of apps in the Promotion list (user can always click on the More button to refresh the window); - ensures that more an app is recommended by different developers, as well as a chance to be in the promotion list often (until the user decides to install it).

The choice to put a Promoted button on which the user can click may seem naive. Implementing intrusive pop-ups can be recommended as a more pragmatic method. This choice to trust the altruistic curiosity of users was influenced by an observation (I have 0 statistics to show) I made here on Hackernews: there are always users who click on Newest (https://news.ycombinator.com/shownew) to bring up posts that might deserve attention, though these users are not affiliated with these posts.

I want Hubstore to make it easy to distribute and promote Python apps (built with Pyrustic Framework or not). This is still a beta version for early-adopters.

Under the hood:

  • Hubstore is built with Pyrustic Framework [1]

  • data storage is done with Shared [2]

  • autocomplete is done with Suggestion [3]

  • GUI-compatible multithreading is done with Threadom [4]

  • Hubstore consumes Python Wheels

  • Hubstore uses Github's Release Asset feature [5]

  • Apps can be built and released with Backstage [6]

  • the dark theme is based on Cyberpunk-Theme [7]

  • all views implement Viewable [8]

  • Hubstore uses Kurl [9] to fetch resources from api.github.com

15