Python Scientific Computing

Open-source Python projects categorized as Scientific Computing

Top 23 Python Scientific Computing Projects

  • SciPy

    SciPy library main repository

    Project mention: [D] Which BLAS library to choose for apple silicon? | reddit.com/r/MachineLearning | 2023-05-24

    There are several lessons here: a) vanilla conda-forge numpy and scipy versions come with openblas, and it works pretty well, b) do not use netlib unless your matrices are small and you need to do a lot of SVDs, or idek why c) Apple's veclib/accelerate is super fast, but it is also numerically unstable. So much so that the scipy's devs dropped any support of it back in 2018. Like dang. That said, they are apparently are bring it back in, since the 13.3 release of macOS Ventura saw some major improvements in accelerate performance.

  • spack

    A flexible package manager that supports multiple versions, configurations, platforms, and compilers.

    Project mention: Modern SAT solvers: fast, neat and underused (2018) | news.ycombinator.com | 2023-05-26
  • ONLYOFFICE

    ONLYOFFICE Docs — document collaboration in your environment. Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises

  • PyCUDA

    CUDA integration for Python, plus shiny features

  • ruptures

    ruptures: change point detection in Python

  • Eliot

    Eliot: the logging system that tells you *why* it happened

    Project mention: Logging code mess | reddit.com/r/Python | 2023-04-14

    Maybe something like eliot could work for you

  • pyopencl

    OpenCL integration for Python, plus shiny features

    Project mention: An example for OpenCL 3.0? | reddit.com/r/OpenCL | 2023-03-11

    Please note that OpenCL consists of two parts: host API and a separate language which is used to write kernels (code which is going to be offloaded to devices). OpenCL specification describes host APIs as C-style APIs and that is what implementors has to provide. However, there are number of various libraries which provides bindings for other languages: - C++ - Python - Go - Rust

  • pyGAM

    [HELP REQUESTED] Generalized Additive Models in Python

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • poliastro

    poliastro - :rocket: Astrodynamics in Python

    Project mention: Look for: A low-cost project for 2nd-year college student | reddit.com/r/AerospaceEngineering | 2022-10-10

    Contribute to open-source aerospace libraries like poliastro

  • PDEBench

    PDEBench: An Extensive Benchmark for Scientific Machine Learning

    Project mention: [D] what are the SOTA neural PDE solvers besides FNO? | reddit.com/r/MachineLearning | 2022-11-22

    try https://github.com/pdebench/pdebench

  • pysph

    A framework for Smoothed Particle Hydrodynamics in Python

  • awesome-scientific-python

    A curated list of awesome scientific Python resources

    Project mention: Como parar de agir assim? | reddit.com/r/brdev | 2023-01-05
  • iheartla

    compilable markdown for linear algebra

    Project mention: Compilable Markdown for Linear Algebra | news.ycombinator.com | 2023-01-19

    I like this. I created a GitHub issue: https://github.com/iheartla/iheartla/issues/138

  • harold

    An open-source systems and controls toolbox for Python3

  • aicsimageio

    Image Reading, Metadata Conversion, and Image Writing for Microscopy Images in Python

  • cytoflow

    A Python toolbox for quantitative, reproducible flow cytometry analysis

  • pybobyqa

    Python-based Derivative-Free Optimization with Bound Constraints

  • monaco

    Quantify uncertainty and sensitivities in your computer models with an industry-grade Monte Carlo library.

  • ennemi

    Easy Nearest Neighbor Estimation of Mutual Information

    Project mention: Time series modeling using ARIMA and XGBoost. Intro to free time series modeling resources | reddit.com/r/datascience | 2023-02-15

    For (what I understand to as) a mutual information analogue of correlation coefficients, there's a native Python implementation, ennemi.

  • qha

    A Python package for calculating thermodynamic properties under quasi-harmonic approximation, using data from ab-initio calculations

    Project mention: Numba: A High Performance Python Compiler | news.ycombinator.com | 2022-12-27

    Software from our group (cij[1], qha[2]) were developed when numba seems to be the best option for JIT. It generates more pain in the hindsight. It generates a lot of depreciated warning due to unstable API, locked numpy to a certain version (i remember 1.21) due to compatibility issues, and when M1 Mac comes out, there were for a long time lack of llvmlite porting to the new platform, so cannot run on these new Macs.

    If I had to do it again I would just use plain numpy or use the JAX from Google if JIT is really necessary.

    [1]: https://github.com/MineralsCloud/cij

    [2]: https://github.com/MineralsCloud/qha

  • lentil

    Heart-healthy physical optics

    Project mention: Books/ other resources to learn about Fraunhofer diffraction farfield model using MATLAB/python? | reddit.com/r/Optics | 2023-05-11
  • cij

    Semiemperical quasiharmonic thermal elasticity

    Project mention: Numba: A High Performance Python Compiler | news.ycombinator.com | 2022-12-27

    Software from our group (cij[1], qha[2]) were developed when numba seems to be the best option for JIT. It generates more pain in the hindsight. It generates a lot of depreciated warning due to unstable API, locked numpy to a certain version (i remember 1.21) due to compatibility issues, and when M1 Mac comes out, there were for a long time lack of llvmlite porting to the new platform, so cannot run on these new Macs.

    If I had to do it again I would just use plain numpy or use the JAX from Google if JIT is really necessary.

    [1]: https://github.com/MineralsCloud/cij

    [2]: https://github.com/MineralsCloud/qha

  • tensortrax

    Math on (Hyper-Dual) Tensors with Trailing Axes

    Project mention: Tensortrax: A python package for gradient and hessian evaluations (by forward-mode AD / hyper-dual numbers) of functions. | reddit.com/r/Python | 2022-12-27

    Motivation and personal usage: For the gradient as well as the hessian of the strain energy function used for the (mechanical) stress evaluation of hyperelastic solids I needed a fast automatic differentiation package for simulations I'll have to perform for my PhD thesis. During finite element simulations, such a function must be evaluated for thousands or even millions of 3x3 tensors. Therefore, tensortrax supports input arrays with (but of course, optional) trailing axes.

  • expression_evaluator

    A basic expression evaluator and depth analyzer

  • Sonar

    Write Clean Python Code. Always.. Sonar helps you commit clean code every time. With over 225 unique rules to find Python bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-05-26.

Python Scientific Computing related posts

Index

What are some of the best open-source Scientific Computing projects in Python? This list will help you:

Project Stars
1 SciPy 11,281
2 spack 3,427
3 PyCUDA 1,543
4 ruptures 1,225
5 Eliot 1,037
6 pyopencl 974
7 pyGAM 770
8 poliastro 739
9 PDEBench 387
10 pysph 358
11 awesome-scientific-python 195
12 iheartla 188
13 harold 160
14 aicsimageio 149
15 cytoflow 146
16 pybobyqa 65
17 monaco 43
18 ennemi 28
19 qha 22
20 lentil 10
21 cij 7
22 tensortrax 2
23 expression_evaluator 0
TestGPT | Generating meaningful tests for busy devs
Get non-trivial tests (and trivial, too!) suggested right inside your IDE, so you can code smart, create more value, and stay confident when you push.
codium.ai