Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pyrustic/hubstore
Distribute, promote, discover, install, and run Python desktop applications
https://github.com/pyrustic/hubstore
app-distribution app-installation app-management app-usage desktop-app graphical gui package peer-to-peer promotion pyrustic python tkinter user
Last synced: 17 days ago
JSON representation
Distribute, promote, discover, install, and run Python desktop applications
- Host: GitHub
- URL: https://github.com/pyrustic/hubstore
- Owner: pyrustic
- License: mit
- Created: 2021-02-02T18:39:51.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-03-21T20:33:30.000Z (almost 3 years ago)
- Last Synced: 2024-12-20T18:39:46.154Z (about 2 months ago)
- Topics: app-distribution, app-installation, app-management, app-usage, desktop-app, graphical, gui, package, peer-to-peer, promotion, pyrustic, python, tkinter, user
- Language: Python
- Homepage: https://pyrustic.github.io
- Size: 201 KB
- Stars: 5
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
**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)
![]()
Overview of the Pyrustic Open Ecosystem
# Hubstore
Distribute, promote, discover, install, and run Python desktop applicationsThis project is part of the [Pyrustic Open Ecosystem](https://pyrustic.github.io).
[Installation](#installation) | [User side](#user-side) | [Developer side](#developer-side) | [Demo](#demo)
## Overview
`Hubstore` allows software developers to distribute their apps to users through [Github](https://github.com/about).Let's visit both sides of the distribution pipeline.
### User side
Let's discover Hubstore through a series of screenshots
![]()
A minimalist, clean and elegant graphical user interface
![]()
Type developer/app-name in the search bar to install an app
![]()
You can rollback to the previously installed version of an app
![]()
Install apps, run apps, and close apps from the same interface
![]()
Discover new apps through the Promoted feature
![]()
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](https://github.com/pyrustic/pyrustic#readme), 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](https://github.com/pyrustic/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:
```bash
{
"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](#installation) `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](https://pip.pypa.io/en/latest/installing/).### Install for the first time
```bash
$ 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
```bash
$ pip install hubstore --upgrade --upgrade-strategy eager
```Note: this project is for early-adopters ! Work in progress...