Skip to main content

To Connect Apps With Users

Project description

Hubstore Cover

Hubstore - built with Pyrustic

Hubstore

Hubstore is a lightweight software that allows you to download, install, manage, and run Python desktop applications.

This is an emailware. You are encouraged to send a feedback.

Demo | Features | Installation

Table Of Contents

Overview

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

You can use Pyrustic to build the distribution package (Wheel) and then publish your application on Github with the Pyrustic tool Hubway.

You can still ignore Pyrustic and use your favorite tools to build a Wheel then release it as an asset on Github.

Now imagine a modern lightweight desktop application where end-users could simply type your Github profile name slash your repository name (Example: pyrustic/demo) or simply paste your repository URL (Example: https://github.com/pyrustic/demo).

End-users will then just click a button to get the latest version of the built distribution (Wheel) of your project and then decide to install it.

This modern lightweight desktop application exists: Hubstore.

What else end-users could do ? Well, they can update the previously installed app, rollback to a previous version (because the latest release sucks ! and yes Hubstore makes backup duh !), uninstall apps (with its dependencies !), open more than one apps with the possibility of closing them from the Hubstore taskbar. And guess what, end-users don't have to think about your application's dependencies because Hubstore takes care of these details and end-users aren't probably even programmers !

Hubstore will assign a beautiful default image to your app once it is installed. As a software producer, you can control this detail and some others details like requirements.txt you would expect the end-users to pip install, or the script you would like Hubstore to execute at installation and/or uninstallation. It is easy to configure these details, just open the command-line tool Pyrustic Manager, issue the command init (yes even in existing project, it shouldn't break it, but you know this is still Beta, so... ;-), go inside the JSON file hubstore.json in the folder $APP_DIR/pyrustic_data, change the values, build a Wheel, publish a new release on Github, done ! So easy !

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

Only three constraints:

  • you have to follow the conventional Python project structure as described in the Python Packaging User Guide;
  • you need to have a __main__.py file in the source package;
  • the project name should be the same as the source package.

In fact, these aren't constraints but simply elegance and proactivity. It will save you a lot of trouble in the future (believe me). By the way, the Pyrustic command-line tool Manager will take care of these details for you, you will just need to link a project directory, then issue the command init. Manager can be used programmatically and is an optional tool.

This is a beta version of Hubstore, so it's recommended to be a curious hacker and play with a demo project.

The repository hubstore-apps will store a curated list of Hubstore trendy compatible apps. Therefore, if you like this project and/or want to showcase your app, you know what to do :-)

Demo

Hubstore First Time

Using Hubstore for the first time. You can really reproduce it as it.



Hubstore Fictional

This is obviously fictional

Philosophy

Wisdom from Antiquity


He owned a cup which served also as a bowl for food but threw it away when he saw a boy drinking water from his hands and realized one did not even need a cup to sustain oneself.

--Mark, J. J. (2014, August 02). Diogenes of Sinope. Ancient History Encyclopedia. Retrieved from https://www.ancient.eu/Diogenes_of_Sinope/


Advertisement from the twentieth century

IBM

By Cecile & Presbrey advertising agency for International Business Machines. - Scanned from the December 1951 issue of Fortune by User:Swtpc6800 Michael Holley. The image was touched up with Adobe Photo Elements., Public Domain, Link

Features

You can export and import a list of apps. You can auth yourself with your Github personal access token to increase the API rate limit. It is easy to generate a personal access token. Read this article.

You can update your apps, and even rollback to the previous version if the update is buggy.

Play with Hubstore to discover more about it.

Installation

Hubstore is available on PyPI (the Python Package Index) to simplify the life of Python developers.

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.

$ pip install hubstore
$ hubstore

To upgrade Hubstore:

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

I recommend you to try the demo: just type pyrustic/demo in Hubstore. You can go to check the demo code source, it has a conventional Python project structure, there are not any voodoo magic. You can alter the main.py file and put there a dumb Tkinter calc code, build the project with your favorite tool or with Pyrustic Manager, publish it on Github, then update the previous installed version via Hubstore. By the way, Hubstore doesn't mess with sys.path or any environment variable. It is fully cross platform, and it doesn't use any virtual environment tool, just the good old vanilla Python ;)

Hubstore simply take profit of the elegance of Python itself to avoid platform-specific scripts/stuff/voodoo.

A better README will come later. A better serious documentation well written and more stuff... For the moment, the audience is: only early adopters, hackers, curious...

License

Pyrustic is licensed under the terms of the permissive free software license MIT License.

Contact

Hi ! I'm Alex, operating by "Crocker's Rules"

email

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hubstore-0.0.4.tar.gz (40.6 kB view hashes)

Uploaded Source

Built Distribution

hubstore-0.0.4-py3-none-any.whl (44.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page