GithubHelp home page GithubHelp logo

rillrate-fossil / rillrate-py Goto Github PK

View Code? Open in Web Editor NEW
17.0 17.0 3.0 134 KB

Real-time UI for bots and tools / Python bindings

Home Page: https://rillrate.com

License: Apache License 2.0

Rust 86.51% Python 13.49%
dashboard embedded gui monitoring python real-time ui webui

rillrate-py's People

Contributors

overfloat avatar therustmonk avatar

Stargazers

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

Watchers

 avatar  avatar

rillrate-py's Issues

Add stub files

The library doesn't have any way to communicate its syntax, signatures and types to the user, this makes auto-complete and linting impossible to be done with the library. .pyi files should be added, with all the methods, classes, attributes and type-hinting of the library, so mypy is able to run on projects using rillrate, pylint and pyright won't complain about not finding definitions, and auto-complete is able to know what fields are available.

https://github.com/vicky5124/lavasnek_rs/blob/master/lavasnek_rs.pyi
https://github.com/Daggy1234/polaroid/tree/main/polaroid
You can check out an example of a .pyi file with pyo3 on the lavasnek_rs and polaroid libraries.

Add documentation

There's currently no documentation available for anything rillrate-py, stubs files mentioned in #2 will help a bit with this, but full documentation should be written. Thankfully, this is quite easy to do, as pdoc (https://pdoc.dev/) supports building documentation from linked library files, but doc comments and function signatures will still need to be added to every function, method and "class" defined in the source.

https://github.com/vicky5124/lavasnek_rs/
Lavasnek has followed this approach with very happy results; you can check out the source code, to see how documentation is written, and also the macros used for function signatures. pdoc -o docs .env/lib/python3.9/site-packages/lavasnek_rs is used to build the documentation, after maturin develop has been run.

mitmproxy/pdoc#239
Note that .pyi files are not yet supported by pdoc, so type values should be written in the documentation, as they won't show up in the documentation otherwise.

Support 3.10 and other architectures.

Currently, the library does not install on the newly released 3.10 python version, this is because wheels are only built for 3.6 to 3.9

"3.10" should be added to the list of python versions, in CI, and PyPi Releases:

      matrix:
        python-version: [3.6, 3.7, 3.8, 3.9, "3.10"] # 3.10 w/o quotes will be read as 3.1
        os: [ubuntu-latest, macos-latest, windows-latest]

Additionally, this library cannot be installed when using a 32 bit system, or an ARM system, because only x86_64 builds are made; this makes the library not be able to be installed via PyPi on 32 bit Windows or Linux systems, modern systems like the M1 Macs, and other ARM systems like the Raspberri Pi, or Android systems with Termux or PyDroid.

https://github.com/Daggy1234/polaroid/blob/main/.github/workflows/publish.yml
Check out how other pyo3 libraries build for ARM, like for example polaroid.

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.