NumPy
Nim
| NumPy | Nim | |
|---|---|---|
| 310 | 370 | |
| 31,038 | 17,573 | |
| 1.0% | 0.7% | |
| 10.0 | 9.8 | |
| 4 days ago | 7 days ago | |
| Python | Nim | |
| 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++.
Nim
- Use Python for Scripting
If a script is simple - I use posix sh + awk, sed, etc.
But if a script I write needs to use arrays, sets, hashtable or processes many files - I use Nim[0]. It's a compiled systems-programming language that feels like a scripting language:
- Nim is easy to write and reads almost like a pseudocode.
- Nim is very portable language, runs almost anywhere C can run (both compiler and programs).
- `nim r script.nim` to compile and run (cached on subsequent runs) or use a shebang `#!/bin/env -S nim r`
- Nim programs are fast to compile (use debug mode and tcc compiler for almost instant compile times)
- Nim scripts run very fast <10ms (something that was very annoying to me with bash and Python)
- good chances you don't need external dependencies, because stdlib is batteries included and full of goodies.
- if you need external deps - just statically link them and distribute a cross-compiled binary (use zigcc[1] for easy Nim cross-compilation).
[0] - https://nim-lang.org
[1] - https://github.com/enthus1ast/zigcc
- Thoughts on Go vs. Rust vs. Zig
This list is missing Nim[1]: nice syntax, extremely fast, memory safe, small binaries
[1] https://nim-lang.org
- Giving C a Superpower
- Spy: An interpreter and compiler for a fast statically typed variant of Python
I was looking for someone else that had done this, I had the same exact experience.
That said, anyone looking into a completely static typed language that has nice ergonomics, is easy to pick up but has enough depth to keep you busy for weeks on end, and is versatile enough to be used for anything, do yourself a favor and give Nim a try.
https://nim-lang.org/
- Nim 2.2.6
> I have to challenge this, because for the last couple years, there have been almost no incidents or drama. Moderation was almost exclusively dealing with spam messages. I think, on the forum, a couple posts were closed because of heated or offtopic discussions. But in all cases, participants were agreeing with the decision of mods (you can see them leaving a 'like' on mod's message).
Or we could look at the project's contributor graph: https://github.com/nim-lang/Nim/graphs/contributors instead of likes on moderator's posts on the forums
> I know that some of people that left were also the ones causing problems with moderation and being toxic. I don't want anyone to draw strong conclusions, but Nim community was much healthier and friendly after the fork people and certain moderator leaving the project.
What definition of the words toxic, healthy, and friendly are you using?
> This is just false. You can see Araq answering the noob questions on the forum all the time. He might be not the best person to do that, because his answers on the short side. I believe, noobs often need more context, examples and explanations than he's providing. But it's thought and effort that counts. Some people even hate when you treat them as complete beginner and try to nourture them common CS knowledge.
Maybe if he's not the best person to do that, he shouldn't be doing it? You seem to just be playing devil's advocate here, instead of offering any real example that contradicts my claims.
- Ask HN: Abandoned/dead projects you think died before their time and why?
> Modula. Modula 2 and 3 were reasonably good languages. Oberon was a flop. DEC was into Modula, but Modula went down with DEC.
If you appreciate Modula's design, take a look at Nim[1].
I remember reading the Wikipedia page for Modula-3[2] and thinking "huh, that's just like Nim" in every section.
[1] https://nim-lang.org
[2] https://en.wikipedia.org/wiki/Modula-3
- Tom's Data Onion
Great puzzle. I solved it in Nim[1]. Bit-twiddling layers were a good fit for the language.
The trickiest part was the AES layer. I had to reach for the C FFI to use OpenSSL for decoding. And it took longer than expected to search instructions for key unwrapping.
Full solution[2] runs in under 20ms on my machine, which says more about Nim's performance than my coding skills.
[1] https://nim-lang.org/
[2] https://codeberg.org/janAkali/toms-data-onion
- The Top Programming Languages 2025
Nim is a statically typed language with a syntax resembling Python's. https://nim-lang.org/
- Niminst: A tool to generate an installer for a Nim program
Main development branch - https://github.com/nim-lang/Nim/tree/devel/tools/niminst
- Why Nim?
From a promotional marketing perspective, that webpage misses quite a few basics, like linking to the Nim site [0] and explaining what it actually does:
Nim is a statically typed programming language that compiles native dependency-free executables in C, C++ or JavaScript.
[0] https://nim-lang.org/
What are some alternatives?
mitmproxy - An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
Odin - Odin Programming Language
SymPy - A computer algebra system written in pure Python
zig - Moved to Codeberg
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
rust - Empowering everyone to build reliable and efficient software.