When researching and developing new algorithms to be used in the real-world production environment, what is your workflow and how do you usually do it? Do I have to prototype in Python, and then rewrite all code in C++/Rust?

This page summarizes the projects mentioned and recommended in the original post on /r/Python

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • julia

    The Julia Programming Language

  • I am using Julia https://julialang.org/ for this purpose, fast prototyping and similar run time performance as Rust/C.

  • SwiftyWasmer

    Discontinued A Swift API for the Wasmer WebAssembly Runtime

  • One approach could be to run your Python algorithms inside Pyiodide inside a webassembly runtime like https://github.com/AlwaysRightInstitute/SwiftyWasmer . That would let you deploy the Python code that you did the research in. It depends which Python libraries you use though, I don't think pyiodide supports everything, but the big ones are there - numpy, scikit-learn, pillow etc

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • xtensor

    C++ tensors with broadcasting and lazy computing

  • You can try eigen (http://eigen.tuxfamily.org/), armadillo (http://arma.sourceforge.net/) which is based on LAPACK which is what numpy is based on and xtensor (https://github.com/QuantStack/xtensor) which I think is the closest thing to numpy you’re gonna find in c++

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts