GithubHelp home page GithubHelp logo

Hierosoft Update

Solve Python distribution with a one-click install solution!

Integrate Python programs with the system in various ways:

  • Request an assigned directory where files can be placed such as for icons (pixmaps), shortcuts, or cache.
    • hierosoft.get_unique_path
      • Has an "allow_cloud" option to detect a Nextcloud or ownCloud directory containing a "profile" directory (for the "Configs:Unique" option)
  • Create a desktop shortcut in a way that works in any operating system.
    • from hierosoft.moreplatform import make_shortcut
  • Get more metadata such as for images.
    • hierosoft.moremeta
  • Emulate grep but also: Get a list of files; Process .gitignore files (and optionally get include and exclude filters for rsync).
    • from hierosoft.ggrep import (ggrep, gitignore_to_rsync_pair)
  • Emulate netcat but get callbacks during the upload.
    • from hierosoft.moreweb import netcat
  • See nonexistent paths that may be safe to remove from the environment's PATH variable.
    • hierosoft.checkpath
  • See if your repo's latest tag matches the version stored in your repo.
    • hierosoft.checkversion
  • Process URL requests in a Python 3 way regardless of the Python version.
    • hierosoft.moreweb

Filesystem shortcuts

Example projects

(using this module)

Core features

Hierosoft Update is the Python manager and virtualenv manager module to download or run a Python program such as an updated copy of:

  • itself
  • the Hierosoft Launcher (See Project Status).
  • any program (when used by the launcher or blendernightly)

Checkpath

To learn more, see the comment (docstring) at the top of checkpath.py.

Project Status

  • The gui_tk main function should be launched by the icon.
  • In Windows, Hierosoft Icon should be compiled as an exe such as using PyOxidizer so that it runs without having to install anything first.
  • Download and run itself (updated Python copy) as the main program which should run the launcher.
    • The process of installing apps should move to the launcher which should use the downloaded python version of this module.
  • Complete the launcher a separate project and run that instead of running a single program.
    • Potentially, nopackage could become the launcher or a component in the same virtualenv). It has the advantage of having download locations of icons for certain programs.
    • Make a special virtualenv named hierosoft-launcher that only contains what Hierosoft Launcher needs to operate, and a copy of Hierosoft Update.
  • Add https://pypi.org/project/eric-ide as a test case except use ~/.virtualenvs. Keep the eric7_venv directory if it exists in case manual steps were used prior.
    • Remember to include eric7_post_install.
  • Check for an existing venv directory such as if ~/venv/kivy were used according to manual instructions.

Development

Purpose

The purpose of Hierosoft Update is to ensure that the launcher can start, and serve as a platform for installing other Python programs as well. The way the Hierosoft Update works is by setting up a virtualenv for a program or set of programs after trying to detect the correct version of Python regardless of how the program is packaged.

The Python distribution dilemma is that programs are scripts users must open unless the author puts some custom system in place to install an icon and to do one of the following:

  • Ensure a correct Python version is installed, and where it is.
  • Compile the Python code into an exe such as using PyOxidizer.

The dilemma is that though solutions exist, there isn't a de facto standard other than solutions which already assume you have Python and require Command-Line Interface (CLI) commands.

Hierosoft LLC's Projects

axe icon axe

Albert's XML editor

backupall icon backupall

Win2k is old but now you can backup your Windows computer required by manufacturing devices (requiring only old Python 3.2 and modules able to be patched offline).

backupmorefiles icon backupmorefiles

Backup files that don't change date nor size but change in content (such as encrypted files)! Hard-coded: safe your file as Documents\safe.hc and this program will try to back it up.

binarycsv icon binarycsv

Read csv files with binary (avoid "UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 473: character maps to <undefined>" during the codecs.charmap_decode call where 0x9d is any character not in the encoding codec. Analyze CSV exported from Electronic Team's Serial Port Monitor.

forest-ttk-theme-py2 icon forest-ttk-theme-py2

Hierosoft fork for old applications dependent on Python 2. A beautiful modern theme for ttk, inspired by MS Excel's look 🌲🌳

gcodesynth icon gcodesynth

Play back g-code M300 music in Python 3 using audiogen_p3!

gtumbler icon gtumbler

gtumbler is based on gtumbler by Gabriele N. Tornetta. This fork tries to convert to Python 3 and modernize the code in other ways to get it working.

hierosoft icon hierosoft

A launcher for applications that have no installer. Run those zip and gz programs with ease. Make icons and run them. Upgrade them in place and keep rollback data. A single-executable launcher (if compiled using PyInstaller) that runs an upgraded Python copy of itself (unless in --offline mode).

kivy-designer icon kivy-designer

UI designer for Kivy (Hierosoft's WIP fork for recent versions of Kivy)

kivymdbuilder icon kivymdbuilder

Drag and drop components, and turn designs into real application screens in minutes instead of hours. Take advantage of the various widgets and their properties to build elaborate and beautiful apps.

metabin icon metabin

Describe binary files and work with ImHex format.

modelrr icon modelrr

A set of OpenLCB compliance scripts.

moreplatform icon moreplatform

This has been replaced by https://github.com/Hierosoft/hierosoft. Find out more about the platform, like what the special folders are and how healthy the path is.

nopackage icon nopackage

Install a deb, zip, gz, appimage, binary or directory onto ANY GNU-like OS!

python-openlcb icon python-openlcb

(Hierosoft fork for code contributions) OpenLCB model train protocol subset for Python

qbhle icon qbhle

QBHLE High-Level Emulator (formerly BluffBASIC) is for running QBASIC programs like console emulators run games: High-level emulation means improving the quality or convenience of the program while avoiding overhead & complexity of emulating low-level operations. Targets: QBasic 1.1; eventually enough QuickBASIC 4.5 features for 90s QB scene games.

qjak icon qjak

QJak Entertainment Pack for QBasic includes a couple small games; a drawing program and sound program which generate code for later use by other QBasic programs; and a stand-alone program for obtaining QBasic palette indices.

rotocanvas icon rotocanvas

This is a WIP video processing library with an emphasis on single-image processing that is repeatable across a video.

tabletopmanualminer icon tabletopmanualminer

This set of tools analyzes and attempts to collect rules and statistics as machine-usable metadata from the System Reference Document 5.1 and possibly other 2-column documents.

thepathofresistance-tmp icon thepathofresistance-tmp

~~The new repo will no longer use content from THAT COMPANY, the SRD5 licensor, who may choose to baselessly prosecute independent creators you love who don't switch to the controlling OGL 1.x which attempts to revoke the OGL 1.0a which was intended to be irrevocable. See the website (and Discord and social media links there) for updates.~~ see old

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.