Skip to main content

Hubstore is built with the TkF Framework. But since Gaspium Framework outperforms TkF, Hubstore should be refactored to work with Gaspium

Work in progress... (new version in April)

Hubstore Cover

Overview of the Pyrustic Open Ecosystem

Hubstore

Distribute, promote, discover, install, and run Python desktop applications

This project is part of the Pyrustic Open Ecosystem.

Installation | User side | Developer side | Demo

Overview

Hubstore allows software developers to distribute their apps to users through Github.

Let's visit both sides of the distribution pipeline.

User side

Let's discover Hubstore through a series of screenshots

Figure

A minimalist, clean and elegant graphical user interface


Figure

Type developer/app-name in the search bar to install an app


Figure

You can rollback to the previously installed version of an app


Figure

Hubstore uses Suggestion to implement the autocomplete feature


Figure

Install apps, run apps, and close apps from the same interface


Figure

Discover new apps through the Promoted feature


Figure

Built-in bug reporting system to allow users to help improve the apps


Developer side

Once you have developed a Python desktop application with or without Pyrustic Framework, the next goal is to distribute it to end users.

Suppose you already have a Github profile and have already created a repository named as your project name.

To allow users to access your apps through Hubstore, you need to publish your app's distribution package (Wheel) on Github. Concretely, it is a question of doing this:

  • test your project;
  • create the distribution package (Wheel) of your application (the project must have a __main__.py entry point);
  • create a Release on Github;
  • upload the Wheel file of your application as a Release asset.

You can use the Backstage project management tool's build and release commands, respectively, to automate these steps. Backstage also manages the versioning of your project.

Then, the user just has to copy and paste the URL of your project's repository into Hubstore.

Hubstore assigns a default nice image to your app. You can modify the image by editing the configuration file $APP_DIR/pyrustic_data/hubstore/img.json. The image must have the following characteristics: 200x80 .PNG

To promote other apps of which you are the author or friend of the authors, modify the configuration file $APP_DIR/pyrustic_data/hubstore/promotion.json as follows:

{ 
    "developer/app-name": "A short description",
    "developer/another-app-name": "A short description"
}

Hubstore is built with Pyrustic framework and is available on PyPI. As Hubstore uses the standard Python Wheel package format, it is compatible with many existing projects.

Demo

Install Hubstore in a new Python virtual environment. Open Hubstore, accept the default configuration to store data in $HOME, then just type in the search bar pyrustic/demo or copy-paste https://github.com/pyrustic/demo. You will be asked if you want to install the demo app. Once installed, you can run the app. You can also deliberately crash the demo app: just click the crash button. Hubstore will intercept the crash and it will offer you to report it.

If you are an old user of Hubstore, please delete/move $HOME/hubstore-apps and $HOME/PyrusticData before you open the new version of Hubstore. Yes this new version isn't compatible with the previous one.

Enjoy the demo !

Installation

If you have never installed a package from PyPI, you must install the pip tool enabling you to download and install a PyPI package. There are several methods which are described on this page.

Install for the first time

$ pip install hubstore

I recommend even for the first time to use the next command (upgrade). Hubstore needs the latest version of its dependencies.

Upgrade

$ pip install hubstore --upgrade --upgrade-strategy eager

Note: this project is for early-adopters ! Work in progress...

Metadata

Release files for hubstore 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hubstore 0.1.4
File Size Uploaded
hubstore-0.1.4.tar.gz 38.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hubstore 0.1.4
File Interpreter ABI Platform
hubstore-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 127.4 kB

Release files / hubstore-0.1.4.tar.gz

Download URL hubstore-0.1.4.tar.gz
Size 38.2 kB
Tags Source
SHA-256 checksum
How to use checksums
e3bbc9a59df6ab83a18b2dc284ae938db4b7e9e3c885b49480b40c06ea6ea8ec
BLAKE2b-256 checksum
How to use checksums
eddf86a0c50df556744add39a20c358965f4f6beedebd035709964909d306ee6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.6.1 requests/2.9.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.5.2

Release files / hubstore-0.1.4-py3-none-any.whl

Download URL hubstore-0.1.4-py3-none-any.whl
Size 89.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b85648b6a057666e6f106ed69cf61b387488b30d9af95ff174004e9f87a86557
BLAKE2b-256 checksum
How to use checksums
fb0b8ea8024cfeca1efdde385c2df6bb1bfe26245dfd21c2d0061e2769319922
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.6.1 requests/2.9.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.5.2

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page