plum
TheAlgorithms
Our great sponsors
plum | TheAlgorithms | |
---|---|---|
6 | 61 | |
479 | 179,165 | |
2.5% | 1.7% | |
7.9 | 9.7 | |
29 days ago | 5 days ago | |
Python | Python | |
MIT License | MIT License |
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.
plum
- Plum: Multiple Dispatch in Python
-
Writing Python like it’s Rust
You can use https://github.com/beartype/plum instead of that elif chain too
- GitHub - wesselb/plum: Multiple dispatch in Python
- Plum-dispatch: Julia-inspired multiple dispatch in Python
- Is there any language that is as similar as possible to Python in syntax, readability, and features, but is statically typed?
-
How Julia Uses Multiple Dispatch to Beat Python
Singledispatch is old, dates back to py2: https://docs.python.org/3/library/functools.html#functools.s...
I definitely agree that multiple dispatch is a lot harder :). But most of the examples in the article didn't need it, and it would have been appropriate I think to show equivalent code in Python. All that article did was make me think the author didn't know Python very well.
There are several libraries for multiple dispatch too, for e.g. https://github.com/wesselb/plum
TheAlgorithms
-
Wikifunctions
Is it me or does it not seem very well thought out? Every example I've seen only has implementations in JavaScript and/or Python. I haven't seen any other languages nor a way to search by language. What a "string" means in one language can be completely different in another language. The primitive data types that the project assumes are not really supported across all programming languages.
Also if anyone hasn't already seen them, similar projects already exist and are more complete. E.g.
* https://rosettacode.org/
* https://programming-idioms.org/
* https://the-algorithms.com/
Not to mention LeetCode, CodeWars, Project Euler, Exercism can kinda serve the same role.
-
Introduction
Hey Everyone, My name is Rachit Chawla and Its my first blog on dev.to. I am currently a student of Computer Programming and Analysis at Seneca College. Also I'm currently on my co-op term working as an Automation Developer at Ontario Public Service. In this role, I am currently working with PowerShell scripting and Microsoft Azure for automating every manual tasks to reduce workload and increase efficiency. This blog is a part of OSD600 course at Seneca College. I am taking this course as I am big fan of open source and always wanted to contribute in open source projects but I am unaware of proper documentation and standards used for open source contributions. I am hoping to learn all the required stuff by the end of this course and I aim to be one of the 15k contributors to Linux's repo by Linus Torvald. Open Source interests me because it gives developers the power to customise the application they want to use, also a chance to help others and improve their skills. I found https://github.com/TheAlgorithms/Python interesting from the Monthly trending feed on Github as it has all the algorithms which help us improve time complexity and write better codes. I has about 1000 contributors which helped to code all the algorithms in Python which may help others for working or learning purposes. I myself was a student of Data Structures and Algorithms in Python Winter 2023 and hoping to even able to contribute to this repo itself, once I learn more about documentation & proper standards to be followed.
-
I am studying my college Python so can I learn algorithms from it?
The Algorithms Contains many open source implementations of algorithms. Check it out.
-
Where To Read About Python Algos?
If you want to see implementations of all possible traversal algorithms you can find it here.
-
Book of pythonic code
The mother load of all algorithms in python is here. dfs/bfs in particular are in the graph section.
-
Any tips to improve my coding abilites ?
There is no one way to learn all these but here are some resources: 1. Gooking algorithms [https://edu.anarcho-copy.org/Algorithm/grokking-algorithms-illustrated-programmers-curious.pdf\] 2. Algorithms in all languages [https://the-algorithms.com/] 3. Node js best practices. [https://github.com/goldbergyoni/nodebestpractices] 4. Refactoring [https://refactoring.guru/] 5. Learn about Clean Code and Clean Architecture from uncle bob. https://www.youtube.com/watch?v=NeXQEJNWO5w&ab_channel=StreamAConStreamingConferences
-
Self taught developers: where are you in your journey?
DSA basics
-
Algo and data structures
I would recommend The Algorithms, it comes with descriptions and examples in multiple programming languages.
-
A site that hosts implementations of various programming algorithms in different languages
There's also The Algorithms. Many implementations are unfortunately low quality. The Lua ones (disclaimer: I wrote them) should be fine however.
-
How worried are you about AI taking over music?
Python 940 contributors 152k stars
What are some alternatives?
multipledispatch - Multiple dispatch
python-ds - No non-sense and no BS repo for how data structure code should be in Python - simple and elegant.
MonkeyType - A Python library that generates static type annotations by collecting runtime types
new-world-fishing-bot - user friendly python script who is able to catch fish in the game New World
Pomander - Deploy your PHP with PHP. Inspired by Capistrano and Vlad.
python-patterns - A collection of design patterns/idioms in Python
runtype - Utilities for run-time type validation and multiple dispatch
algorithms
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
more-itertools - More routines for operating on iterables, beyond itertools
dynamic-dns - An automated dynamic DNS solution for Docker and DigitalOcean
ClointFusion - Cloint India Pvt. Ltd's (ClointFusion) Pythonic RPA (Automation) Platform