Need help with awesome-physics?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

208 Stars 37 Forks 29 Commits 0 Opened issues


🌌 A collaborative list of awesome software for exploring Physics concepts

Services available


Need anything else?

Contributors list

# 104,980
19 commits
# 491,362
1 commit
# 505,243
1 commit
# 262,883
1 commit

Awesome Physics Awesome

🌌 A collaborative list of awesome software for exploring Physics concepts. Feel free to contribute!


Please take a quick look at the contribution guidelines first. If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you for taking the time to consider contributing!




Rigid Bodies and Physics Engines

  • bullet3 - real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning
  • cannon.js - A lightweight 3D physics engine written in JavaScript
  • matter-js - A 2D rigid body physics engine for the web
  • mujoco-py - A physics engine for detailed, efficient rigid body simulations with contacts
  • myphysicslab - provides JavaScript classes to build real-time interactive animated physics simulations
  • ncollide - 2 and 3-dimensional collision detection library in Rust
  • newton-dynamics - an integrated solution for real time simulation of physics environments
  • nphysics - 2 and 3-dimensional rigid body physics engine for Rust
  • PhysX - a scalable multi-platform game physics solution
  • PositionBasedDynamics - A library for the physically-based simulation of rigid bodies, deformable solids and fluids
  • pydy - Multibody dynamics tool kit
  • pymunk - A easy-to-use pythonic 2d physics library
  • simbody - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton

Fluid Mechanics

  • fluid-engine-dev - Fluid simulation engine for computer graphics applications
  • fluids - Fluid dynamics component of Chemical Engineering Design Library (ChEDL)
  • pysph - SPH fluid simulation with advanced screen space fluid rendering, using pyopengl and pyopencl
  • DualSPHysics - C++/CUDA/OpenMP based Smoothed Particle Hydrodynamics (SPH) solver


  • Gravity-Simulator - A 2D newtonian gravity simulator in JS
  • Gravisim - A universal gravity simulator written using rust_sdl2
  • pycbc - Analyze gravitational-wave data, find signals, and study their parameters

Waves and Acoustics

Mechanical Waves

  • pyrocko - A seismology toolkit for Python
  • sw4 - 3-D seismic modeling
  • webgl-ripples - A physically realistic real-time simulation of (transversal) 2D waves in WebGL



  • cantera - A chemical kinetics, thermodynamics, and transport tool suite
  • CoolProp - Thermophysical properties for the masses
  • RMG-Py - Python version of the amazing Reaction Mechanism Generator
  • thermo - Thermodynamics, phase equilibria, transport properties and chemical database component of Chemical Engineering Design Library (ChEDL)
  • thermopy - A python library for thermodynamics


  • ElectricFieldSimulation - An experimental example of how to use OpenGL for physical simulations
  • EMpy - A suite of algorithms widely known and used in electromagnetic problems and optics: the transfer matrix algorithm, the rigorous coupled wave analysis algorithm and more
  • gprMax - Simulates electromagnetic wave propagation using the Finite-Difference Time-Domain (FDTD) method for numerical modelling of Ground Penetrating Radar (GPR)
  • meep - Free finite-difference time-domain (FDTD) software for electromagnetic simulations
  • openEMS - A free and open-source electromagnetic field solver using the EC-FDTD method
  • openmeeg - A C++ package for low-frequency bio-electromagnetism solving forward problems in the field of EEG and MEG
  • PlasmaPy - A community developed python package for plasma physics in the very early stages of development.
  • radis - A nonequilibrium Radiative Solver for infrared molecular spectra
  • scattpy - Light Scattering Methods for Python
  • scikit-beam - Data analysis tools for X-Ray, Neutron and Electron sciences
  • scikit-rf - RF and Microwave Engineering Scikit
  • scikit-spectra - A python pandas-based toolkit for explorative spectroscopy, in particular UVVis spectroscopic data
  • scuff-em - computational physics suite for boundary-element analysis of electromagnetic scattering, fluctuation-induced phenomena, nanophotonics, RF device engineering, electrostatics, and more
  • spirit - Optimizations and Dynamics Framework for atomistic Spin systems


  • euclider - A higher-dimensional "non-euclidean" ray tracing prototype written in Rust
  • lightpipes - Simulations of optical phenomena where diffraction is essential
  • odak - A fundamental library for scientific computing in optical sciences.
  • opticspy - A python module for optics applications
  • poppy - Physical Optics Propagation in Python
  • pyRT - a raytracer/image generator for Python
  • rayopt - Python optics and lens design, raytracing
  • raysect - A ray-tracing framework for optical/non-optical physics simulations


  • OpenRelativity - An open source framework to add the effects of traveling at relativistic speeds to visualizations or games
  • TFG - General Relativity massively parallel raytracer

Quantum Physics

  • artiq - Next-generation control system for quantum information experiments
  • flavio - flavour phenomenology in the Standard model and beyond
  • hepdata - the high energy physics data repository
  • particle-clicker - An addictive incremental game that teaches players the history of high energy particle physics
  • Psi4 - Open-source Quantum Chemistry
  • pypdt - Pythonic access to high energy particle data tables and ID codes
  • QMsolve - A Python module for solving and visualizing the Schrödinger equation.
  • quantum-python-lectures - A series of self-study lectures on using Python for scientific computing at the graduate level in atomic physics and quantum optics.
  • QuantumOptics.jl - Library for the numerical simulation of closed as well as open quantum systems
  • qutip - Quantum Toolbox in Python
  • ROOT - A data processing and analysis framework, mainly used in high-energy physics
  • scikit-hep - Toolkit of interfaces and tools for high energy physics (HEP)


  • astropy - intended to contain much of the core functionality and some common tools needed for performing astronomy and astrophysics with Python
  • gala - Galactic and gravitational dynamics in Python
  • galpy - Galactic Dynamics in python
  • pynbody - framework for N-body and hydrodynamic astrophysical simulations
  • sunpy - an open-source Python library for solar physics data analysis


  • burnman - a library for modeling mantle thermodynamics and thermoelasticity constrained by mineral physics experiments
  • em - Electromagnetic methods in geophysics - open educational resources
  • simpeg - Simulation and Parameter Estimation in Geophysics - A python package for simulation and gradient based parameter estimation in the context of geophysical applications


  • CERN - European Organization for Nuclear Research
  • IOP - Institute of Physics
  • LANL - Los Alamos National Lab
  • LIGO - Laser Inferometer Gravitational-Wave Experiment
  • LLNL - Lawrence Livermore National Laboratory
  • MPPMU - Max Planck Institute for Physics
  • NIST - National Institute of Standards and Technology
  • NREL - National Renewable Energy Laboratory
  • ORNL - Oak Ridge National Laboratory
  • SLAC - Stanford Linear Accelerator Center



To the extent possible under law, wbierbower has waived all copyright and related or neighboring rights to this work.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.