NumPy
SymPy
| NumPy | SymPy | |
|---|---|---|
| 310 | 38 | |
| 31,038 | 14,191 | |
| 1.0% | 1.0% | |
| 10.0 | 9.9 | |
| 4 days ago | 4 days ago | |
| Python | Python | |
| GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
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.
NumPy
- Python is not a great language for data science. Part 1: The experience
- Choosing Tech Stack in 2025: A Practical Guide
Unmatched integration with ML/AI ecosystems through NumPy, TensorFlow, and PyTorch
- What Dynamic Typing Is For
- Bringing NumPy's type-completeness score to nearly 90% – Pyrefly
> Let’s take a pause here for a second - the ‘CanIndex’ and ‘SupportsIndex’ from the looks are just “int”.
The PR for the change is https://github.com/numpy/numpy/pull/28913 - The details of files changed[0] shows the change was made in 'numpy/__init__.pyi'. Looking at the whole file[1] shows SupportsIndex is being imported from the standard library's typing module[2].
Where are you seeing SupportsIndex being defined as an int?
> I have a hard time dealing with these custom types because they are so obscure.
SupportsIndex is obscure, I agree, but it's not a custom type. It's defined in stdlib's typing module[2], and was added in Python 3.8.
[0]: https://github.com/numpy/numpy/pull/28913/files
[1]: https://github.com/charris/numpy/blob/c906f847f8ebfe0adec896...
[2]: https://docs.python.org/3/library/typing.html#typing.Support...
- Don’t Let Cyber Risk Kill Your GenAI Vibe: A Developer’s Guide
Know (or check) tells of older versions, such as the python sdk of OpenAI changing from a client with global state in v0.x.x, to a declared instance in v1.x.x, or numpy's change in how random generators are declared.
- Top 5 GitHub Repositories for Data Science in 2026
The book introduces the core libraries essential for working with data in Python: particularly IPython, NumPy, Pandas, Matplotlib, Scikit-Learn, and related packages Familiarity with Python as a language is assumed; if you need a quick introduction to the language itself, see the free companion project, A…
- Your 2025 Roadmap to Becoming an AI Engineer for Free for Vue.js Developers
AI starts with math and coding. You don’t need a PhD—just high school math like algebra and some geometry. Linear algebra (think matrices) and calculus (like slopes) help understand how AI models work. Python is the main language for AI, thanks to tools like TensorFlow and NumPy. If you know JavaScript from Vue.js, Python’s syntax is straightforward.
- Top 17 Tools for Scientific Simulation & Modeling
- Release v2.3.0 (June 7, 2025) · NumPy/NumPy
- How to Get Started with Scikit-Learn: A Beginner-Friendly Guide to Machine Learning in Python
As is the case with most Python libraries, it is open-source and free-to-use, making it easily accessible by anyone willing to learn machine learning, and it is built upon other open-source libraries within Python, like SciPy for advanced scientific operations, NumPy for efficient numerical computations, Matplotlib for data visualization, and Cython for increased efficiency and speed, similar to that of C/C++.
SymPy
- Translating Cython to Mojo, a first attempt
It looks like Narwhals; "Narwhals and scikit-Lego came together to achieve dataframe-agnosticism" https://news.ycombinator.com/item?id=40950813 :
> Narwhals: https://narwhals-dev.github.io/narwhals/ :
>> Extremely lightweight compatibility layer between [pandas, Polars, cuDF, Modin]
> Lancedb/lance works with [Pandas, DuckDB, Polars, Pyarrow,]; https://github.com/lancedb/lance
SymPy has Solvers for ODEs and PDEs and convex optimization. SymPy also has lambdify to compile from a relatively slow symbolic expression tree to faster 'vectorized' functions
From https://news.ycombinator.com/item?id=40683777 re: warp :
> sympy.utilities.lambdify.lambdify() https://github.com/sympy/sympy/blob/main/sympy/utilities/lam... :
>>> """Convert a SymPy expression into a function that allows for fast numeric evaluation""" [with e.g. the CPython math module, mpmath, NumPy, SciPy, CuPy, JAX, TensorFlow, PyTorch (*), SymPy, numexpr, but not yet cmath]
- Automatic Differentiation Can Be Incorrect
I have been using sympy while learning electron physics to automatically integrate linear charge densities. It works great symbolically, but often fails silently when the symbols are substituted with floats before integration.
https://github.com/sympy/sympy/issues/27675
- Mathics 7.0 – Open-source alternative to Mathematica
It's an interesting exercise to think about why the performance of Sum[i, {i, 1, 100000}] differs between Mathics and MMA: Mathics just calls down to sympy, which I think just does the sum in Python [1]; Mathematica (likely) pattern-matches and computes the 100000th triangular number directly, since I know Mathematica relies heavily on standard tables of summations/integrals/etc.
[1] https://github.com/sympy/sympy/blob/master/sympy/concrete/su....
- Nvidia Warp: A Python framework for high performance GPU simulation and graphics
From https://news.ycombinator.com/item?id=37686351 :
>> sympy.utilities.lambdify.lambdify() https://github.com/sympy/sympy/blob/a76b02fcd3a8b7f79b3a88df... :
>> """Convert a SymPy expression into a function that allows for fast numeric evaluation [e.g. the CPython math module, mpmath, NumPy, SciPy, CuPy, JAX, TensorFlow, SymPy, numexpr,]
- AutoCodeRover resolves 22% of real-world GitHub in SWE-bench lite
Thank you for your interest. There are some interesting examples in the SWE-bench-lite benchmark which are resolved by AutoCodeRover:
- From sympy: https://github.com/sympy/sympy/issues/13643. AutoCodeRover's patch for it: https://github.com/nus-apr/auto-code-rover/blob/main/results...
- Another one from scikit-learn: https://github.com/scikit-learn/scikit-learn/issues/13070. AutoCodeRover's patch (https://github.com/nus-apr/auto-code-rover/blob/main/results...) modified a few lines below (compared to the developer patch) and wrote a different comment.
There are more examples in the results directory (https://github.com/nus-apr/auto-code-rover/tree/main/results).
- SymPy: Symbolic Mathematics in Python
That's interesting. You should consider yourself lucky to have met Wolfram employees, as they are obviously vastly outnumbered by users of Mathematica.
I have not met any developers for either of these products but I know that SymPy has a huge list of contributors for a project of its size. See: https://github.com/sympy/sympy/blob/master/AUTHORS
You may not be hearing about SymPy users because SymPy is not a monolithic product. It is a library. If you know mathematicians big into using Python, they are probably aware of SymPy as it is the main attraction when it comes to symbolic computation in Python.
- Matrix Cookbook examples using SymPy
- Fast Symbolic Computation for Robotics
https://github.com/sympy/sympy/issues/9479 suggests that multivariate inequalities are still unsolved in SymPy, though it looks like https://github.com/sympy/sympy/pull/21687 was merged in August. This probably isn't yet implemented in C++ in SymForce yet?
- Solving a simple puzzle using SymPy
bug report opened https://github.com/sympy/sympy/issues/25507
- Stem Formulas
https://news.ycombinator.com/item?id=36463580
From https://news.ycombinator.com/item?id=36159017 :
> sympy.utilities.lambdify.lambdify() https://github.com/sympy/sympy/blob/a76b02fcd3a8b7f79b3a88df... :
>> """Convert a SymPy expression into a function that allows for fast numeric evaluation [with the CPython math module, mpmath, NumPy, SciPy, CuPy, JAX, TensorFlow, SymPy, numexpr,]*
From https://westurner.github.io/hnlog/#comment-19084622 :
> "latex2sympy parses LaTeX math expressions and converts it into the equivalent SymPy form" and is now merged into SymPy master and callable with sympy.parsing.latex.parse_latex(). It requires antlr-python-runtime to be installed. https://github.com/augustt198/latex2sympy https://github.com/sympy/sympy/pull/13706
ENH: 'generate a Jupyter notebook' (nbformat .ipynb JSON) function from this stem formula
What are some alternatives?
mitmproxy - An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
SciPy - SciPy library main repository
Pandas - Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more
Numba - NumPy aware dynamic Python compiler using LLVM