Warframe-OCR
Python-Rust-benchmark
Warframe-OCR | Python-Rust-benchmark | |
---|---|---|
3 | 2 | |
1 | 1 | |
- | - | |
0.0 | 3.6 | |
over 2 years ago | over 2 years ago | |
HTML | Python | |
- | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Warframe-OCR
-
Trying to compile rust library on Windows
Yes, you can link them statically. Here's a Python script I wrote to install and build a Python module in Rust. It will install the required development libraries on Linux and build a static build of tesseract on Windows (it also downloads the LLVM based clang compiler, I forgot why). Then it set up two environment variables VCPKG_ROOT to discover the tesseract library and RUSTFLAGS -Ctarget-feature=+crt-static (this forces the vpkg crate to link tesseract:x64-windows-static and not the dynamic version).
-
are there any libraries for getting text from the screen?
Tesseract is slow but not too slow. I wrote a multi-threaded wrapper around the Rust bindings und a Python wrapper around that. Granted it is not very polished and I apparently forgot to make the Rust repository public but it works. The previous version of the project for which I made this wrote the image to disk and called the tesseract binary which took half a minute for a few of images. Definitely not usable for real-time processing. Now it takes around 200-300 ms with 12 worker threads. I'm not sure if there is further potential to make it faster though.
-
We just massively overdelivered on a project thanks to Rust (and Python bindings)
I don't like maturin workflow either because it installs directly to the python environment. This is not very useful during development. I wrote a module import file which loads the python module from the shared library. You could easily invoke cargo before importing the module (remember to delete the previous shared library file) to have a fully automated development processes.
Python-Rust-benchmark
-
We just massively overdelivered on a project thanks to Rust (and Python bindings)
I got 3000x speed-up too!
What are some alternatives?
WFinfo - :computer: A fissure Companion App for Warframe
PyO3 - Rust bindings for the Python interpreter
FrameHub - Warframe Mastery Rank calculator.
maturin - Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages
leptess - Productive and safe Rust binding for leptonica and tesseract
napi-rs - A framework for building compiled Node.js add-ons in Rust via Node-API
ptanalyzer - Analyze Warframe Profit-Taker run from EE.log, marking important timestamps and total time elapsed.
Rustlings - :crab: Small exercises to get you used to reading and writing Rust code!
warframe-items - 📘 Get all Warframe items directly from Warframe's API. No more messy wikia scraping.
TablaM - The practical relational programing language for data-oriented applications
Dwarf-Therapist - Dwarf management tool for Dwarf Fortress
faster_fishers - Fast implementation of Fisher's exact test in Rust for Python.