Code Monkey home page Code Monkey logo

retroarcher's People

Contributors

dependabot[bot] avatar github-actions[bot] avatar lizardbyte-bot avatar reenignearcher avatar tatacontreras avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

retroarcher's Issues

General - Document the project

  • Use sphinx to document RetroArcher
    • Document the code
    • Document goals, usage, building, contributing, etc.
  • Test Docstrings
  • Integrate with readthedocs

General - Create x86 (32 bit) packages

Adding 32 bit packages would probably be good to allow support for more systems.

Retro gamers often use older hardware to play games which may not support 64 bit architectures. I do not know how well game streaming on a 32 bit host would work; however as the new RetroArcher is intended to be plugin based, there may be cases where there is no game streaming.

I believe that just using a 32 bit version of python may be enough to create a proper package. https://github.com/actions/setup-python

Additionally, we can add other architectures to the docker image.

Investigate replacing Flask with an ASGI framework

Describe the Bug

Flask is a WSGI based framework. This doesn't allow asynchronous calls and can be slow.

While RetroArcher does not require many simultaneous connections or calls, let's investigate replacing it with an ASGI framework. While the app is still relatively small it will be easier to replace.

Expected Behavior

No response

Additional Context

quart appears to be mostly a drop in replacement for Flask.

RetroArcher Server Operating System and Version

RetroArcher Version

General - Add Tasktray Icon

Description

Add tasktry icon, similar to Tautulli. pystray is a library that makes it easy to add a system tray icon.

Availability

  • Windows
  • MacOS
  • Linux (Limited)

Ideas for functions

  • Open Web UI
  • Open GitHub Releases (for now)
  • Donate (submenu)
  • Quit (function needs to be added to RetroArcher as well)
  • Restart (function needs to be added to RetroArcher as well)
  • Disable icon

Can be added later

  • Check for updates
  • Start RetroArcher on boot/login

General - Add resource monitor

I would like to add a basic resource monitor the web ui of RetroArcher. The idea is to be something similar to what is shown in Plex's dashboard, but with relevant information related to RetroArcher.

Option 1:
Plotly

Option 2:
Pygal can help us generate the graphics as svg. These are interactive... Individual lines can be toggled on and off. Additionally you can hover over a point of interest to see the exact value.

image

This is a basic tutorial for using pygal. Note that the javascript file urls need to be changed to 'github.io' instead of 'github.com'. https://towardsdatascience.com/interactive-data-visualization-in-python-with-pygal-4696fccc8c96

And from the pygal documentation; how to embed directly in the html code

General - Create Docker image

Supporting Docker/containers will be beneficial to the project, and bring in many more users.

Reference RetroArcher/discord-bot or RetroArcher/reddit-bot for initial setup.

Use `pyadl` to get AMD gpu stats instead of `pyamdgpuinfo`

Describe the Bug

pyamdgpuinfo is only available for Linux. We can provide AMD gpu stats on non Linux systems using pyadl.

Expected Behavior

No response

Additional Context

It would probably still be ideal to use pyamdgpuinfo on Linux since it maintained more regularly.

RetroArcher Server Operating System and Version

RetroArcher Version

General - Version numbering within Python code

Having the version number within the python code will be very useful.

  • Sphinx docs can pull the version number automatically
  • --version argument will print version details
  • The version can be shown in the web ui (eventually)
  • Plugins may require a minimum version of RetroArcher, this will help with that
  • etc.

Web app doesn't load on start for unix

Describe the Bug

The web ui is opened before flask is started, and on unix this causes a loading error. It probably should cause an error on Windows as well, but there is probably just enough delay where it doesn't.

Expected Behavior

UI is displayed in browser.

Additional Context

These lines should be moved to after the starting of flask.

https://github.com/RetroArcher/RetroArcher/blob/nightly/retroarcher.py#L193-L195

RetroArcher Server Operating System and Version

Unix

RetroArcher Version

4da8be9

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.