{"slug": "numpy", "name": "NumPy", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "Python library for fast N-dimensional arrays and numerical computing.", "recommenders": 5, "commenters": 13, "warners": 1, "score": 5.346, "rising": -0.31, "first": "2025-11-07", "latest": "2026-09-08", "why": "HN commenters value NumPy as the array foundation of Python's open source data science stack, a less painful alternative to MATLAB for scientific work, and a fast way to do brute-force vector and matrix math.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 5, "neutral": 6, "compare": 1, "warn": 1}, "spark": [1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0], "listed": true, "loved": ["Ecosystem foundation", "Numeric speed"], "caveat": "Slow import", "short_quote": "numpy/scipy/matplotlib/pandas/plotly/polars/pyarrow/jupyter, which is essential to my work", "icon": true, "domain": "numpy.org", "github_repo": null, "official_url": "https://numpy.org", "pricing": "open source", "aliases": ["NumPy"], "verdict": [{"text": "HN commenters value NumPy as the array foundation of Python's open source data science stack", "cites": [{"id": 737614422, "item_id": 46100901, "url": "https://news.ycombinator.com/item?id=46100901", "by": "auxym", "date": "2025-11-30", "stance": "recommend", "quote": "numpy/scipy/matplotlib/pandas/plotly/polars/pyarrow/jupyter, which is essential to my work", "excerpt": "Scoop (https://scoop.sh/), a package manager for windows that is essential to make Windows usable for me. Sourcegit is my new favorite git client. Git in general, of course. Linux and also the people behind RT_PREEMPT, I am excited to see it merged into mainline this year. KDE has been my favorite DE for years and I use many of their apps too, such as Kate. Thanks to everyone contributing to the KDE project. The enti", "context": "", "use_case": "data science", "switched_from": "", "story": "Ask HN: What open source projects are you grateful for?"}, {"id": 771744705, "item_id": 48234044, "url": "https://news.ycombinator.com/item?id=48234044", "by": "ktpsns", "date": "2026-05-22", "stance": "recommend", "quote": "the open source ecosystem is great and matlab would be my go-to tool if they would not exist", "excerpt": "Matlab inspired the scilab ecosystem, which is based on numpy, scipy, matplotlib, pandas. This was a major driver for the data science industry for a decade before AI kicked in and tensorflow, etc. was also built ontop of these libraries. While I personally try to avoid contemporary matlab at any cost, the open source ecosystem is great and matlab would be my go-to tool if they would not exist.", "context": "", "use_case": "scientific computing", "switched_from": "", "story": "Cleve Moler (Matlab, MathWorks) passed away on May 20, 2026"}]}, {"text": ", a less painful alternative to MATLAB for scientific work", "cites": [{"id": 791088001, "item_id": 49443000, "url": "https://news.ycombinator.com/item?id=49443000", "by": "YuechenLi", "date": "2026-08-26", "stance": "neutral", "quote": "Numpy was less awful than Matlab", "excerpt": "Python is just such a weird language in general despite its popularity that I honestly cannot recommend anyone who starts programming to choose Python as their first language, contrary to popular sentiments. I mean, I was one of the first person to start using Python when I was in grad school almost a decade ago when everybody else in my field was still using Matlab for their lab code, for the simply reason that Nump", "context": "former grad student scientist", "use_case": "lab code", "switched_from": "MATLAB", "story": "Python's pre-declared constants are kinda weird"}, {"id": 749370225, "item_id": 46835639, "url": "https://news.ycombinator.com/item?id=46835639", "by": "srvmshr", "date": "2026-01-31", "stance": "neutral", "quote": "I was using Mathematica or NumPy/Sympy quite a bit.", "excerpt": "During my bachelors, I was using a Casio FX-991ES+. It was a beautiful calculator compared to the hand-me-down Fx-82 VPAM. And pretty popular with the folks of my age that time. During and after grad school, I was using Mathematica or NumPy/Sympy quite a bit. But it felt like using an overpowered system to do basic assignments. Think of taking a Bugatti Veyron for grocery shopping. I indulged myself with another phys", "context": "", "use_case": "grad school computations", "switched_from": "", "story": "Ask HN: Do you still physical calculators?"}]}, {"text": ", and a fast way to do brute-force vector and matrix math.", "cites": [{"id": 780548512, "item_id": 48784282, "url": "https://news.ycombinator.com/item?id=48784282", "by": "rkochanowski", "date": "2026-07-04", "stance": "recommend", "quote": "The brute-force NumPy solution is a significant improvement, making it faster than other calculations like clustering.", "excerpt": "Thanks, I will look at this in more detail. To give more context, the current version is already an optimized one I considered good enough and didn't spend more time on it. In the first attempt, I used a vector database with indexes, trying to query for similar vectors. This was uselessly slow even in medium-sized repos. The brute-force NumPy solution is a significant improvement, making it faster than other calculat", "context": "author of the duplication-detection CLI", "use_case": "brute-force similarity search", "switched_from": "vector database", "story": "Show HN: CLI tool for detecting non-exact code duplication with embedding models"}, {"id": 733551972, "item_id": 45846998, "url": "https://news.ycombinator.com/item?id=45846998", "by": "johnwatson11218", "date": "2025-11-07", "stance": "neutral", "quote": "I have used numpy as well as built in postgres functions to average", "excerpt": "I have a pipeline in Docker compose that starts up postgresql on one container and a python container. The python scripts will recursively read all the pdf files in a directory, use pdf plumber to parse the text to store in a postgres table. Then I use sentence_transformers to take 100 char, w/ 10 char overlap, chunks and embed each section as a 384D vector which is written back to the db. Then I average all the chun", "context": "", "use_case": "averaging embeddings", "switched_from": "", "story": "Ask HN: Who uses open LLMs and coding assistants locally? Share setup and laptop"}, {"id": 755595652, "item_id": 47224728, "url": "https://news.ycombinator.com/item?id=47224728", "by": "blobbers", "date": "2026-03-02", "stance": "neutral", "quote": "I also use numpy for large correlation matrices, covariance etc.", "excerpt": "Can someone help me understand when these neural engines kick in in open source software? I typically use python ML libraries like lightgbm, sklearn, xgboost etc. I also use numpy for large correlation matrices, covariance etc. Are these operations accelerated? Is there a simple way to benchmark? I see a lot of benchmarks on what look like C functions, but today in my jobs I rely on higher level libraries. I don't kn", "context": "", "use_case": "large correlation matrices", "switched_from": "", "story": "Inside the M4 Apple Neural Engine, Part 1: Reverse Engineering"}]}, {"text": " Commenters note that importing it takes about a second on an older laptop", "cites": [{"id": 743354241, "item_id": 46459640, "url": "https://news.ycombinator.com/item?id=46459640", "by": "andai", "date": "2026-01-01", "stance": "warn", "quote": "They're both about a full second on my old laptop.", "excerpt": "The one I noticed the most was import openai and import numpy. They're both about a full second on my old laptop. I ended up writing my own simple LLM library just so I wouldn't have to import OpenAI anymore for my interactive scripts. (It's just some wrapper functions around the equivalent of a curl request, which is honestly basically everything I used the OpenAI library for anyway.)", "context": "", "use_case": "numerical computing", "switched_from": "", "story": "Python Numbers Every Programmer Should Know"}]}, {"text": " and that it offers no easy path for non-array structures like trees.", "cites": [{"id": 758039072, "item_id": 47377442, "url": "https://news.ycombinator.com/item?id=47377442", "by": "blt", "date": "2026-03-14", "stance": "neutral", "quote": "I use numpy automatically when simple arrays are involved", "excerpt": "Surprised Python is only 21x slower than C for tree traversal stuff. In my experience that's one of the most painful places to use Python. But maybe that's because I use numpy automatically when simple arrays are involved, and there's no easy path for trees.", "context": "", "use_case": "array operations", "switched_from": "", "story": "Python: The Optimization Ladder"}]}], "praise": [{"label": "Ecosystem foundation", "summary": "Seen as an essential core of the Python data science stack alongside SciPy, pandas and matplotlib.", "quotes": [{"id": 737614422, "item_id": 46100901, "url": "https://news.ycombinator.com/item?id=46100901", "by": "auxym", "date": "2025-11-30", "stance": "recommend", "quote": "numpy/scipy/matplotlib/pandas/plotly/polars/pyarrow/jupyter, which is essential to my work", "excerpt": "Scoop (https://scoop.sh/), a package manager for windows that is essential to make Windows usable for me. Sourcegit is my new favorite git client. Git in general, of course. Linux and also the people behind RT_PREEMPT, I am excited to see it merged into mainline this year. KDE has been my favorite DE for years and I use many of their apps too, such as Kate. Thanks to everyone contributing to the KDE project. The enti", "context": "", "use_case": "data science", "switched_from": "", "story": "Ask HN: What open source projects are you grateful for?"}, {"id": 771744705, "item_id": 48234044, "url": "https://news.ycombinator.com/item?id=48234044", "by": "ktpsns", "date": "2026-05-22", "stance": "recommend", "quote": "the open source ecosystem is great and matlab would be my go-to tool if they would not exist", "excerpt": "Matlab inspired the scilab ecosystem, which is based on numpy, scipy, matplotlib, pandas. This was a major driver for the data science industry for a decade before AI kicked in and tensorflow, etc. was also built ontop of these libraries. While I personally try to avoid contemporary matlab at any cost, the open source ecosystem is great and matlab would be my go-to tool if they would not exist.", "context": "", "use_case": "scientific computing", "switched_from": "", "story": "Cleve Moler (Matlab, MathWorks) passed away on May 20, 2026"}, {"id": 752454609, "item_id": 47028413, "url": "https://news.ycombinator.com/item?id=47028413", "by": "poketdev", "date": "2026-02-15", "stance": "recommend", "quote": "I love how you stuck with pure Python libraries - tkinter, numpy, and sounddevice.", "excerpt": "This is fantastic work! I love how you stuck with pure Python libraries - tkinter, numpy, and sounddevice. The Moog ladder filter implementation is particularly impressive. Have you considered adding export functionality for the generated audio? Being able to save presets or record to WAV files would make this even more practical for music production. Great job on the GUI design too - those rotary knobs look perfect ", "context": "", "use_case": "audio synthesis", "switched_from": "", "story": "Show HN: VOOG \u2013 Moog-style polyphonic synthesizer in Python with tkinter GUI"}]}, {"label": "Numeric speed", "summary": "Brute-force NumPy computation beat a vector database and was fast for averaging embeddings.", "quotes": [{"id": 780548512, "item_id": 48784282, "url": "https://news.ycombinator.com/item?id=48784282", "by": "rkochanowski", "date": "2026-07-04", "stance": "recommend", "quote": "The brute-force NumPy solution is a significant improvement, making it faster than other calculations like clustering.", "excerpt": "Thanks, I will look at this in more detail. To give more context, the current version is already an optimized one I considered good enough and didn't spend more time on it. In the first attempt, I used a vector database with indexes, trying to query for similar vectors. This was uselessly slow even in medium-sized repos. The brute-force NumPy solution is a significant improvement, making it faster than other calculat", "context": "author of the duplication-detection CLI", "use_case": "brute-force similarity search", "switched_from": "vector database", "story": "Show HN: CLI tool for detecting non-exact code duplication with embedding models"}, {"id": 733551972, "item_id": 45846998, "url": "https://news.ycombinator.com/item?id=45846998", "by": "johnwatson11218", "date": "2025-11-07", "stance": "neutral", "quote": "I have used numpy as well as built in postgres functions to average", "excerpt": "I have a pipeline in Docker compose that starts up postgresql on one container and a python container. The python scripts will recursively read all the pdf files in a directory, use pdf plumber to parse the text to store in a postgres table. Then I use sentence_transformers to take 100 char, w/ 10 char overlap, chunks and embed each section as a 384D vector which is written back to the db. Then I average all the chun", "context": "", "use_case": "averaging embeddings", "switched_from": "", "story": "Ask HN: Who uses open LLMs and coding assistants locally? Share setup and laptop"}, {"id": 758039072, "item_id": 47377442, "url": "https://news.ycombinator.com/item?id=47377442", "by": "blt", "date": "2026-03-14", "stance": "neutral", "quote": "I use numpy automatically when simple arrays are involved", "excerpt": "Surprised Python is only 21x slower than C for tree traversal stuff. In my experience that's one of the most painful places to use Python. But maybe that's because I use numpy automatically when simple arrays are involved, and there's no easy path for trees.", "context": "", "use_case": "array operations", "switched_from": "", "story": "Python: The Optimization Ladder"}]}, {"label": "MATLAB alternative", "summary": "Former MATLAB users found it less awful for lab code and graphing.", "quotes": [{"id": 791088001, "item_id": 49443000, "url": "https://news.ycombinator.com/item?id=49443000", "by": "YuechenLi", "date": "2026-08-26", "stance": "neutral", "quote": "Numpy was less awful than Matlab", "excerpt": "Python is just such a weird language in general despite its popularity that I honestly cannot recommend anyone who starts programming to choose Python as their first language, contrary to popular sentiments. I mean, I was one of the first person to start using Python when I was in grad school almost a decade ago when everybody else in my field was still using Matlab for their lab code, for the simply reason that Nump", "context": "former grad student scientist", "use_case": "lab code", "switched_from": "MATLAB", "story": "Python's pre-declared constants are kinda weird"}, {"id": 771744705, "item_id": 48234044, "url": "https://news.ycombinator.com/item?id=48234044", "by": "ktpsns", "date": "2026-05-22", "stance": "recommend", "quote": "the open source ecosystem is great and matlab would be my go-to tool if they would not exist", "excerpt": "Matlab inspired the scilab ecosystem, which is based on numpy, scipy, matplotlib, pandas. This was a major driver for the data science industry for a decade before AI kicked in and tensorflow, etc. was also built ontop of these libraries. While I personally try to avoid contemporary matlab at any cost, the open source ecosystem is great and matlab would be my go-to tool if they would not exist.", "context": "", "use_case": "scientific computing", "switched_from": "", "story": "Cleve Moler (Matlab, MathWorks) passed away on May 20, 2026"}, {"id": 749370225, "item_id": 46835639, "url": "https://news.ycombinator.com/item?id=46835639", "by": "srvmshr", "date": "2026-01-31", "stance": "neutral", "quote": "I was using Mathematica or NumPy/Sympy quite a bit.", "excerpt": "During my bachelors, I was using a Casio FX-991ES+. It was a beautiful calculator compared to the hand-me-down Fx-82 VPAM. And pretty popular with the folks of my age that time. During and after grad school, I was using Mathematica or NumPy/Sympy quite a bit. But it felt like using an overpowered system to do basic assignments. Think of taking a Bugatti Veyron for grocery shopping. I indulged myself with another phys", "context": "", "use_case": "grad school computations", "switched_from": "", "story": "Ask HN: Do you still physical calculators?"}]}, {"label": "Well liked", "summary": "Commenters, including a past contributor, say they simply love it.", "quotes": [{"id": 793895904, "item_id": 49618494, "url": "https://news.ycombinator.com/item?id=49618494", "by": "bobmarleybiceps", "date": "2026-09-08", "stance": "recommend", "quote": "this is cool and I love numpy anyway lol", "excerpt": "I sort of wish they used c++ for some of the template stuff, especially since the code base already seems to have some C++ iirc. I also contributed a tiny bit in the past, and their C template system was a surprise. (but this is cool and I love numpy anyway lol)", "context": "has contributed to it", "use_case": "", "switched_from": "", "story": "Tracing np.add, all the way down"}, {"id": 752454609, "item_id": 47028413, "url": "https://news.ycombinator.com/item?id=47028413", "by": "poketdev", "date": "2026-02-15", "stance": "recommend", "quote": "I love how you stuck with pure Python libraries - tkinter, numpy, and sounddevice.", "excerpt": "This is fantastic work! I love how you stuck with pure Python libraries - tkinter, numpy, and sounddevice. The Moog ladder filter implementation is particularly impressive. Have you considered adding export functionality for the generated audio? Being able to save presets or record to WAV files would make this even more practical for music production. Great job on the GUI design too - those rotary knobs look perfect ", "context": "", "use_case": "audio synthesis", "switched_from": "", "story": "Show HN: VOOG \u2013 Moog-style polyphonic synthesizer in Python with tkinter GUI"}]}], "caveats": [{"label": "Slow import", "summary": "Importing NumPy takes about a full second on an older laptop.", "quotes": [{"id": 743354241, "item_id": 46459640, "url": "https://news.ycombinator.com/item?id=46459640", "by": "andai", "date": "2026-01-01", "stance": "warn", "quote": "They're both about a full second on my old laptop.", "excerpt": "The one I noticed the most was import openai and import numpy. They're both about a full second on my old laptop. I ended up writing my own simple LLM library just so I wouldn't have to import OpenAI anymore for my interactive scripts. (It's just some wrapper functions around the equivalent of a curl request, which is honestly basically everything I used the OpenAI library for anyway.)", "context": "", "use_case": "numerical computing", "switched_from": "", "story": "Python Numbers Every Programmer Should Know"}]}, {"label": "Arrays only", "summary": "Helps with simple arrays but offers no easy path for tree traversal.", "quotes": [{"id": 758039072, "item_id": 47377442, "url": "https://news.ycombinator.com/item?id=47377442", "by": "blt", "date": "2026-03-14", "stance": "neutral", "quote": "I use numpy automatically when simple arrays are involved", "excerpt": "Surprised Python is only 21x slower than C for tree traversal stuff. In my experience that's one of the most painful places to use Python. But maybe that's because I use numpy automatically when simple arrays are involved, and there's no easy path for trees.", "context": "", "use_case": "array operations", "switched_from": "", "story": "Python: The Optimization Ladder"}]}, {"label": "C templates", "summary": "A contributor found the codebase's C template system surprising and wished it used C++.", "quotes": [{"id": 793895904, "item_id": 49618494, "url": "https://news.ycombinator.com/item?id=49618494", "by": "bobmarleybiceps", "date": "2026-09-08", "stance": "recommend", "quote": "this is cool and I love numpy anyway lol", "excerpt": "I sort of wish they used c++ for some of the template stuff, especially since the code base already seems to have some C++ iirc. I also contributed a tiny bit in the past, and their C template system was a surprise. (but this is cool and I love numpy anyway lol)", "context": "has contributed to it", "use_case": "", "switched_from": "", "story": "Tracing np.add, all the way down"}]}, {"label": "PyTorch preferred", "summary": "At least one commenter prefers PyTorch over NumPy.", "quotes": [{"id": 740585009, "item_id": 46286563, "url": "https://news.ycombinator.com/item?id=46286563", "by": "stared", "date": "2025-12-16", "stance": "compare", "quote": "I prefer PyTorch over NumPy", "excerpt": "On the contrary, I think that well-designed general-purpose languages beat domain-specific languages. Even in the example given, in NumPy you can use np.array, but to make a fair comparison, use np.matrix. import numpy as np X = np.matrix([1, 2, 3]) Y = np.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) Z = Y * X.T W = np.hstack([Z, Z]) That way, we can extend our languages. If np.matrix is \"too many keystrokes\", it can be", "context": "", "use_case": "numerics", "switched_from": "", "story": "In Defense of Matlab Code"}]}], "who": [{"by": "bobmarleybiceps", "context": "has contributed to it", "url": "https://news.ycombinator.com/item?id=49618494", "date": "2026-09-08"}, {"by": "YuechenLi", "context": "former grad student scientist", "url": "https://news.ycombinator.com/item?id=49443000", "date": "2026-08-26"}, {"by": "rkochanowski", "context": "author of the duplication-detection CLI", "url": "https://news.ycombinator.com/item?id=48784282", "date": "2026-07-04"}], "tags": ["for data science", "for scientific computing", "MATLAB alternative", "for vector and embedding math"], "use_cases": ["lab code", "brute-force similarity search", "scientific computing", "array operations", "large correlation matrices", "asof join prototype"], "compared": [{"slug": "matlab", "name": "MATLAB", "co": 2, "switched_from": 1, "switched_to": 0}, {"slug": "pandas", "name": "pandas", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "matplotlib", "name": "Matplotlib", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "scipy", "name": "SciPy", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49562430", "title": "Tracing np.add, all the way down", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49441033", "title": "Python's pre-declared constants are kinda weird", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48762038", "title": "Show HN: CLI tool for detecting non-exact code duplication with embedding models", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48231319", "title": "Cleve Moler (Matlab, MathWorks) passed away on May 20, 2026", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47327703", "title": "Python: The Optimization Ladder", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47208573", "title": "Inside the M4 Apple Neural Engine, Part 1: Reverse Engineering", "mentions": 1}], "sentiment_by_month": {"2025-11": {"neutral": 1, "recommend": 1}, "2025-12": {"compare": 1}, "2026-01": {"warn": 1, "neutral": 1}, "2026-02": {"recommend": 1}, "2026-03": {"neutral": 3}, "2026-04": {}, "2026-05": {"recommend": 1}, "2026-06": {}, "2026-07": {"recommend": 1}, "2026-08": {"neutral": 1}, "2026-09": {"recommend": 1}, "2026-10": {}}, "quotes": [{"id": 793895904, "item_id": 49618494, "url": "https://news.ycombinator.com/item?id=49618494", "by": "bobmarleybiceps", "date": "2026-09-08", "stance": "recommend", "quote": "this is cool and I love numpy anyway lol", "excerpt": "I sort of wish they used c++ for some of the template stuff, especially since the code base already seems to have some C++ iirc. I also contributed a tiny bit in the past, and their C template system was a surprise. (but this is cool and I love numpy anyway lol)", "context": "has contributed to it", "use_case": "", "switched_from": "", "story": "Tracing np.add, all the way down"}, {"id": 791088001, "item_id": 49443000, "url": "https://news.ycombinator.com/item?id=49443000", "by": "YuechenLi", "date": "2026-08-26", "stance": "neutral", "quote": "Numpy was less awful than Matlab", "excerpt": "Python is just such a weird language in general despite its popularity that I honestly cannot recommend anyone who starts programming to choose Python as their first language, contrary to popular sentiments. I mean, I was one of the first person to start using Python when I was in grad school almost a decade ago when everybody else in my field was still using Matlab for their lab code, for the simply reason that Nump", "context": "former grad student scientist", "use_case": "lab code", "switched_from": "MATLAB", "story": "Python's pre-declared constants are kinda weird"}, {"id": 780548512, "item_id": 48784282, "url": "https://news.ycombinator.com/item?id=48784282", "by": "rkochanowski", "date": "2026-07-04", "stance": "recommend", "quote": "The brute-force NumPy solution is a significant improvement, making it faster than other calculations like clustering.", "excerpt": "Thanks, I will look at this in more detail. To give more context, the current version is already an optimized one I considered good enough and didn't spend more time on it. In the first attempt, I used a vector database with indexes, trying to query for similar vectors. This was uselessly slow even in medium-sized repos. The brute-force NumPy solution is a significant improvement, making it faster than other calculat", "context": "author of the duplication-detection CLI", "use_case": "brute-force similarity search", "switched_from": "vector database", "story": "Show HN: CLI tool for detecting non-exact code duplication with embedding models"}, {"id": 771744705, "item_id": 48234044, "url": "https://news.ycombinator.com/item?id=48234044", "by": "ktpsns", "date": "2026-05-22", "stance": "recommend", "quote": "the open source ecosystem is great and matlab would be my go-to tool if they would not exist", "excerpt": "Matlab inspired the scilab ecosystem, which is based on numpy, scipy, matplotlib, pandas. This was a major driver for the data science industry for a decade before AI kicked in and tensorflow, etc. was also built ontop of these libraries. While I personally try to avoid contemporary matlab at any cost, the open source ecosystem is great and matlab would be my go-to tool if they would not exist.", "context": "", "use_case": "scientific computing", "switched_from": "", "story": "Cleve Moler (Matlab, MathWorks) passed away on May 20, 2026"}, {"id": 758039072, "item_id": 47377442, "url": "https://news.ycombinator.com/item?id=47377442", "by": "blt", "date": "2026-03-14", "stance": "neutral", "quote": "I use numpy automatically when simple arrays are involved", "excerpt": "Surprised Python is only 21x slower than C for tree traversal stuff. In my experience that's one of the most painful places to use Python. But maybe that's because I use numpy automatically when simple arrays are involved, and there's no easy path for trees.", "context": "", "use_case": "array operations", "switched_from": "", "story": "Python: The Optimization Ladder"}, {"id": 755595652, "item_id": 47224728, "url": "https://news.ycombinator.com/item?id=47224728", "by": "blobbers", "date": "2026-03-02", "stance": "neutral", "quote": "I also use numpy for large correlation matrices, covariance etc.", "excerpt": "Can someone help me understand when these neural engines kick in in open source software? I typically use python ML libraries like lightgbm, sklearn, xgboost etc. I also use numpy for large correlation matrices, covariance etc. Are these operations accelerated? Is there a simple way to benchmark? I see a lot of benchmarks on what look like C functions, but today in my jobs I rely on higher level libraries. I don't kn", "context": "", "use_case": "large correlation matrices", "switched_from": "", "story": "Inside the M4 Apple Neural Engine, Part 1: Reverse Engineering"}, {"id": 755401329, "item_id": 47212583, "url": "https://news.ycombinator.com/item?id=47212583", "by": "chrisaycock", "date": "2026-03-01", "stance": "neutral", "quote": "my very first attempt used numpy.searchsorted", "excerpt": "Indeed, my very first attempt used numpy.searchsorted: https://numpy.org/doc/2.2/reference/generated/numpy.searchsorted.html I couldn't figure-out how Arthur's bin matched on symbol though, so I switched to a linear scan on the right table to record the last-seen index for each \"by\" element. While it worked, my hash table was messy because I relied on Python to handle a whole tuple as a key, which had some issues dur", "context": "", "use_case": "asof join prototype", "switched_from": "", "story": "Programming in K"}, {"id": 752454609, "item_id": 47028413, "url": "https://news.ycombinator.com/item?id=47028413", "by": "poketdev", "date": "2026-02-15", "stance": "recommend", "quote": "I love how you stuck with pure Python libraries - tkinter, numpy, and sounddevice.", "excerpt": "This is fantastic work! I love how you stuck with pure Python libraries - tkinter, numpy, and sounddevice. The Moog ladder filter implementation is particularly impressive. Have you considered adding export functionality for the generated audio? Being able to save presets or record to WAV files would make this even more practical for music production. Great job on the GUI design too - those rotary knobs look perfect ", "context": "", "use_case": "audio synthesis", "switched_from": "", "story": "Show HN: VOOG \u2013 Moog-style polyphonic synthesizer in Python with tkinter GUI"}, {"id": 749370225, "item_id": 46835639, "url": "https://news.ycombinator.com/item?id=46835639", "by": "srvmshr", "date": "2026-01-31", "stance": "neutral", "quote": "I was using Mathematica or NumPy/Sympy quite a bit.", "excerpt": "During my bachelors, I was using a Casio FX-991ES+. It was a beautiful calculator compared to the hand-me-down Fx-82 VPAM. And pretty popular with the folks of my age that time. During and after grad school, I was using Mathematica or NumPy/Sympy quite a bit. But it felt like using an overpowered system to do basic assignments. Think of taking a Bugatti Veyron for grocery shopping. I indulged myself with another phys", "context": "", "use_case": "grad school computations", "switched_from": "", "story": "Ask HN: Do you still physical calculators?"}, {"id": 743354241, "item_id": 46459640, "url": "https://news.ycombinator.com/item?id=46459640", "by": "andai", "date": "2026-01-01", "stance": "warn", "quote": "They're both about a full second on my old laptop.", "excerpt": "The one I noticed the most was import openai and import numpy. They're both about a full second on my old laptop. I ended up writing my own simple LLM library just so I wouldn't have to import OpenAI anymore for my interactive scripts. (It's just some wrapper functions around the equivalent of a curl request, which is honestly basically everything I used the OpenAI library for anyway.)", "context": "", "use_case": "numerical computing", "switched_from": "", "story": "Python Numbers Every Programmer Should Know"}, {"id": 740585009, "item_id": 46286563, "url": "https://news.ycombinator.com/item?id=46286563", "by": "stared", "date": "2025-12-16", "stance": "compare", "quote": "I prefer PyTorch over NumPy", "excerpt": "On the contrary, I think that well-designed general-purpose languages beat domain-specific languages. Even in the example given, in NumPy you can use np.array, but to make a fair comparison, use np.matrix. import numpy as np X = np.matrix([1, 2, 3]) Y = np.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) Z = Y * X.T W = np.hstack([Z, Z]) That way, we can extend our languages. If np.matrix is \"too many keystrokes\", it can be", "context": "", "use_case": "numerics", "switched_from": "", "story": "In Defense of Matlab Code"}, {"id": 737614422, "item_id": 46100901, "url": "https://news.ycombinator.com/item?id=46100901", "by": "auxym", "date": "2025-11-30", "stance": "recommend", "quote": "numpy/scipy/matplotlib/pandas/plotly/polars/pyarrow/jupyter, which is essential to my work", "excerpt": "Scoop (https://scoop.sh/), a package manager for windows that is essential to make Windows usable for me. Sourcegit is my new favorite git client. Git in general, of course. Linux and also the people behind RT_PREEMPT, I am excited to see it merged into mainline this year. KDE has been my favorite DE for years and I use many of their apps too, such as Kate. Thanks to everyone contributing to the KDE project. The enti", "context": "", "use_case": "data science", "switched_from": "", "story": "Ask HN: What open source projects are you grateful for?"}, {"id": 733551972, "item_id": 45846998, "url": "https://news.ycombinator.com/item?id=45846998", "by": "johnwatson11218", "date": "2025-11-07", "stance": "neutral", "quote": "I have used numpy as well as built in postgres functions to average", "excerpt": "I have a pipeline in Docker compose that starts up postgresql on one container and a python container. The python scripts will recursively read all the pdf files in a directory, use pdf plumber to parse the text to store in a postgres table. Then I use sentence_transformers to take 100 char, w/ 10 char overlap, chunks and embed each section as a 384D vector which is written back to the db. Then I average all the chun", "context": "", "use_case": "averaging embeddings", "switched_from": "", "story": "Ask HN: Who uses open LLMs and coding assistants locally? Share setup and laptop"}]}