GithubHelp home page GithubHelp logo

hierosoft / qbhle Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 61 KB

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.

License: MIT License

Python 97.04% BASIC 1.47% Visual Basic 6.0 1.50%

qbhle's Introduction

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.

qbhle's People

Contributors

poikilos avatar

Watchers

 avatar

qbhle's Issues

Underclock TIMER

As for actually using TIMER for framerate locking, I will try to find an example, otherwise post here if you know of any.

I suppose (optionally) accessing TIMER could actually sleep CPU when the TIMER global is accessed. Let CPU rest 1ms maybe? The math would have to be worked out, but that may be fine enough since even locking to 60fps is 16.6... [repeating 6] ms so it is probably fine-grained enough.

Just demos, so it is hard to tell if speed is as expected:


Implement "subscript out of range"

Requires:

  • #3 (required since the new max int constant can be reused)

Consider adding more baselines

Underclock WAIT if followed by a screen refresh memory address

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.