pypolyline
Python-Complementary-Languages
pypolyline | Python-Complementary-Languages | |
---|---|---|
1 | 8 | |
35 | 31 | |
- | - | |
7.2 | 2.1 | |
5 days ago | 9 months ago | |
Python | Python | |
MIT License | - |
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.
pypolyline
-
Julia is the better language for extending Python
Rust doesn’t need to copy the data. It’s trivial to pass e.g. Numpy arrays to Rust as slices via Cython (let alone originating in Cython!), modify them, and return them, or use them as input for a new returned struct.
https://github.com/urschrei/simplification
https://github.com/urschrei/lonlat_bng
https://github.com/urschrei/pypolyline
Each of those repos has links to the corresponding Rust “shim” libraries that provide FFIs for dealing with the incoming data, constructing Rust data structures from it, and then transforming it back on the way out.
As a more general comment, using a GC language as the FFI target from a GC language is begging for difficult-if-not-impossible-to-debug crashes down the line.
Python-Complementary-Languages
-
Julia is the better language for extending Python
Note that the OP is a Python user, not a Julia user. The Github profile is a bunch of Python packages and the Julia code wasn't even optimized (https://github.com/00sapo/cython_list_test/pull/5). If this test says anything, it at least would say that a inexperienced Python user could pick up Julia and do pretty well, even if the code they write isn't great.
Even if it doesn't say that, bashing people who use Julia for a repository made by a Python user is a new level of HN trolling.
- Julia is the best language to extend Python for scientific computing
What are some alternatives?
simplification - Very fast Python line simplification using either the RDP or Visvalingam-Whyatt algorithm implemented in Rust
py2many - Transpiler of Python to many other languages
shared_numpy - A simple library for creating shared memory numpy arrays
julia - The Julia Programming Language
iminuit - Jupyter-friendly Python interface for C++ MINUIT2
rust-numpy - PyO3-based Rust bindings of the NumPy C-API
lonlat_bng - A multithreaded Rust library with FFI for converting WGS84 longitude and latitude coordinates into BNG (OSGB36) Eastings and Northings and vice versa (using OSTN15)
cunumeric - An Aspiring Drop-In Replacement for NumPy at Scale