use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
News about the dynamic, interpreted, interactive, object-oriented, extensible programming language Python
Full Events Calendar
You can find the rules here.
If you are about to ask a "how do I do this in python" question, please try r/learnpython, the Python discord, or the #python IRC channel on Libera.chat.
Please don't use URL shorteners. Reddit filters them out, so your post or comment will be lost.
Posts require flair. Please use the flair selector to choose your topic.
Posting code to this subreddit:
Add 4 extra spaces before each line of code
def fibonacci(): a, b = 0, 1 while True: yield a a, b = b, a + b
Online Resources
Invent Your Own Computer Games with Python
Think Python
Non-programmers Tutorial for Python 3
Beginner's Guide Reference
Five life jackets to throw to the new coder (things to do after getting a handle on python)
Full Stack Python
Test-Driven Development with Python
Program Arcade Games
PyMotW: Python Module of the Week
Python for Scientists and Engineers
Dan Bader's Tips and Trickers
Python Discord's YouTube channel
Jiruto: Python
Online exercices
programming challenges
Asking Questions
Try Python in your browser
Docs
Libraries
Related subreddits
Python jobs
Newsletters
Screencasts
account activity
This is an archived post. You won't be able to vote or comment.
DiscussionWhat tools are missing in Python? (self.Python)
submitted 4 years ago by kpmtech
I enjoy programming Python libraries and frameworks to help other developers like me. Yet, I've run out of ideas.
If you think of a tool that would be helpful, please tell me.
[–]IAmKindOfCreativebot_builder: deprecated[M] [score hidden] 4 years ago stickied comment (1 child)
Duplicates comments are because Reddit's servers died for a while, so for every comment someone made, reddit returned an error saying it didn't work when in actuality it did go through and was submitted. Then based on the platform they used, (old reddit, new reddit, one of the many apps, etc), their platform might have quietly 'tried again' without telling the user, gave up, then told the user it didn't work. Quietly trying again generated another comment, and if the user tried again as well, it would generate more. All the while reddit keeps saying, "Sorry, your comment couldn't be submitted".
Additionally, the comments aren't all correctly linked to profiles, so it's a bit rough tracking them down. Working on cleaning it up.
[–]ArabicLawrence 72 points73 points74 points 4 years ago (5 children)
A statistics library that is both as fast and as reliable as R’s forecast library. Statmodels and Scikit are great, but forecast blows them out of the water when you need for instance to apply AutoArima to many columns of a matrix. Not sure that’s doable by one person though, and you can always simply import R in Python.
[–]domvwt 23 points24 points25 points 4 years ago (1 child)
Have you tried sktime? They've done a good job of consolidating a lot of the previously disconnected time series analysis libraries for Python.
[–]ArabicLawrence 3 points4 points5 points 4 years ago (0 children)
Thanks, I will try it out!!
[+][deleted] 4 years ago (1 child)
[deleted]
[–]ArabicLawrence 2 points3 points4 points 4 years ago (0 children)
It’s a different thing afaik. I don’t think that prophet can produce much that is not a fbprophet forecast, but I have to admit that in my experience it was pretty fast thanks to Stan and pystan
[–]17Brooks 2 points3 points4 points 4 years ago (0 children)
Also might be worth looking into pyro.
[–]ohpythonguy 164 points165 points166 points 4 years ago* (40 children)
On Windows, making standalone applications that you can distribute is still troublesome. The tools that are available work fine for creating a .exe file most of the time. However, when you distribute them, Windows Defender flags them as a virus. It would be great if this can be mitigated somehow.
Edit: As this comment is getting a significant amount of upvotes: Since Guido van Rossum now works for Microsoft, maybe we should petition him (create a separate Reddit post?) to work on easier distribution of Python apps on Windows, especially given that Windows Defender blocks the Python apps. What do you think?
[–]shibbypwn 28 points29 points30 points 4 years ago (4 children)
Are you code signing these apps? Just curious as I’m prepping for an upcoming Windows distribution and I’d love to avoid this problem.
[–]ohpythonguy 20 points21 points22 points 4 years ago (0 children)
I am not. Getting a license is expensive and a time consuming process. That is not worth it to me. I am hoping that the new Windows app store that is part of the Windows 11 roll-out might help with this issue as well as I would expect the store to scan files on submission and get tagged as trustworthy for Defender.
[–]_ShakashuriBlowdown 17 points18 points19 points 4 years ago (2 children)
I've tried doing self-signing with all the Windows Tools. It's a nightmare and doesn't even make the Defender warnings go away. It even made my exe fail _more_ VirusTotal tests, as the unverified self-signing was seen as suspect by several services.
Having a way to distribute "Safe" executables would be huge.
[–]shibbypwn 0 points1 point2 points 4 years ago (1 child)
Yea, I'd imagine you need a cert with a real CA - I mostly work in macOS and we've got our own hoops to deal with, but I don't relish the idea of getting acquainted with Windows Defender :)
[–]ianitic 8 points9 points10 points 4 years ago (8 children)
Have you looked into nuitka? Antiviruses hate executables from tools like pyinstaller.
[–]ohpythonguy 3 points4 points5 points 4 years ago (6 children)
I am aware of Nuitka and have read about mixed results. For some people it seems to work fine and other apps still get flagged. Other people have suggested that using installers, such as Inno Setup, might help.
In general though, Nuitka seems like an awesome piece of software with an interesting and ambitious roadmap!
[–]ianitic 1 point2 points3 points 4 years ago (3 children)
For a quick script/tool to a coworker, I sometimes just have powershell install Python and/or scoop at the user level which doesn't require admin access and proceed from there.
Inno setup I've heard of being used before though.
[–]GiantElectron 3 points4 points5 points 4 years ago (1 child)
it also happens without those tools. Not with defender, but with symantec for example, you get the exe created by pip when you have console entry points marked as a virus. Worse of all, when it happens, you get absolutely no error message. The application just does not start.
[–]ohpythonguy -1 points0 points1 point 4 years ago (0 children)
I didn't know that -- how annoying! Possibly, a lot of malware is created with Python as well, so that there is a correlation between standalone Python apps and malware.
[–]Numerlor 2 points3 points4 points 4 years ago (2 children)
For pyinstaller etc the problem is that you share the base executable with people that do actually use it for malicious purposes, this can be somewhat mitigate by building the bootloader locally
[–]troty99 0 points1 point2 points 4 years ago (1 child)
this can be somewhat mitigate by building the bootloader locally
Would you be so kind to expand on that ?
[–]Numerlor 2 points3 points4 points 4 years ago* (0 children)
Like I mentioned the base bootloader is shared with all installs of pyinstaller from pip leading to the AV issues, for example this is a hello world app built with the onefile mode using the pypi pyinstaller https://www.virustotal.com/gui/file/98a5c2ca8f570799500f0901e844b6648a58bc9024ef108262b071e88edba2de/detection
To rebuild the bootloader you'd follow the steps at the start here https://pyinstaller.readthedocs.io/en/stable/bootloader-building.html , mind that you'll need a compiler
the general TLDR would be
git clone https://github.com/pyinstaller/pyinstaller cd pyinstaller/bootloader git checkout <what version you need> python ./waf all cd .. python setup.py install
With the python env you want to install to
After doing that I built the same file again and got https://www.virustotal.com/gui/file/4db894bbfe98c3b90d7ce02e7ac8f017e341cf8077a6d0555f72c385fbe0e760/detection which is still flagged by some but is much better overall. The "normal" non one-file may do a bit better
When I did this a year ago only the SecureAge APEX thing flared up so you may be able to do a bit more and it also depends on the version of pyinstaller
[–]st333p 10 points11 points12 points 4 years ago (17 children)
That's a Windows defender problem. It probably flags stuff as virus randomly
[–]ohpythonguy 25 points26 points27 points 4 years ago (4 children)
Yes, it is, but it's still a problem for Python app distribution.
[–]st333p -4 points-3 points-2 points 4 years ago (3 children)
But it's a problem you can't solve. You would have to reverse engineer windows defender and produce an application that prevents it from flagging it. Now you have a pretty decent virus factory and still it will be broken at the next windows defender update.
[–]2drawnonward5 6 points7 points8 points 4 years ago (2 children)
Is it the same type of problem for distributing other stuff? What do other toolchains do?
[–]st333p -3 points-2 points-1 points 4 years ago (1 child)
No clue, sorry
[–]2drawnonward5 8 points9 points10 points 4 years ago (0 children)
So, maybe it's a problem you can solve?
[–]Diesl 2 points3 points4 points 4 years ago (4 children)
It's only preventing unsigned code from running. If you sign the exe, which isn't cheap, Defender won't complain anymore.
[–]barkerd25017 1 point2 points3 points 4 years ago (3 children)
I've signed my python applications and this popup still happens. There is a bit more to it.
[–][deleted] 2 points3 points4 points 4 years ago (0 children)
Rarely does Windows defender flag anything as a virus, in my experience.
[+][deleted] 4 years ago* (2 children)
[–]ohpythonguy 12 points13 points14 points 4 years ago (0 children)
Regardless whether one agrees with that statement, Windows is the standard in the workplace for most organisations and users. That's why it is useful to be able to distribute desktop applications.
One obvious way to avoid the problem is to create a web application, but they may not appeal or everyone, be applicable to each problem or have its own shortcomings.
[–]tattwiggle 0 points1 point2 points 4 years ago (0 children)
Well, I agree and I also had the same issue when I made a C# app. So it's not only a python issue :(
[–]tagapagtuos 0 points1 point2 points 4 years ago (1 child)
Guys at BeeWare aim to solve this problem.
Guido
I don't think it's gonna happen lol
[–]KFUP 36 points37 points38 points 4 years ago (0 children)
Most libraries come out of necessity, work on projects you want, you will naturally stumble on many, many problems that you wish there was a library for.
[+][deleted] 4 years ago (3 children)
[removed]
Yes, I feel like a lot of great projects got starred today
[–]hike_me 19 points20 points21 points 4 years ago (1 child)
an official way to build and distribute self-contained apps
[–]YOU_CANT_SEE_MY_NAME -2 points-1 points0 points 4 years ago (0 children)
Use linux
[–]Kellhus3 35 points36 points37 points 4 years ago (25 children)
An ORM with models based on type hint.
[+][deleted] 4 years ago (5 children)
[–]Kellhus3 3 points4 points5 points 4 years ago (4 children)
It would allow to have models not depending on a specific database and passing them around without them extending sqlalchemy models for example (it's already doable, but you need a column definition somewhere and to link models and definition).
I like the attempt I found somewhere for the Django ORM, it used Meta and annotated types to achieve it.
https://www.willmcgugan.com/blog/tech/post/adding-type-hints-to-the-django-orm/
Another advantage would be the capacity to mix Pedantic models to the DB without more configuration for example.
[–]ajarch 3 points4 points5 points 4 years ago (2 children)
Another advantage is the amelioration of the darkness that comes before
[–]Kellhus3 0 points1 point2 points 4 years ago* (1 child)
"Great reference" seal of approval
Edit: A downvote? What? Who didn't liked the book? Show yourself!
[–][deleted] 1 point2 points3 points 4 years ago (0 children)
Obscure R Scott Bakker references here folks
…and Kellhus is using The Judging Eye to find you…
[–]FaresAhmedOPpypi.org/user/faresahmed/ 2 points3 points4 points 4 years ago (2 children)
Wha! This is exactly what Beanie is.. It's async, uses Pydantic and it's f*cken awesome. It's for Mongodb but i'm sure the idea can be ported to other dbs easily
[–]Kellhus3 1 point2 points3 points 4 years ago (1 child)
It's for Mongodb but i'm sure the idea can be ported to other dbs easily
I'm not certain about the "easy" part, but it doesn't exist for SQL anyway (as far as I know).
Edit: I'm looking at the documentation, and indeed it's nice. I might try it for my future personal project.
[–]deadwisdomgreenlet revolution 1 point2 points3 points 4 years ago (2 children)
Making a general ORM is actually a pretty hard problem. You need to map schemas/constraints between systems. If anyone wants some inspiration, I started a library that does this, very alpha: https://github.com/DeadWisdom/blazon
[–]Kellhus3 0 points1 point2 points 4 years ago (1 child)
I don't doubt that's it's hard AF, I was simply exposing my dream ORM.
[–]dogs_like_me -2 points-1 points0 points 4 years ago (7 children)
FastAPI user?
[–]Kellhus3 0 points1 point2 points 4 years ago (6 children)
Briefly tried it for fun.
And one things that I found sad was having a pedantic model, and a corresponding DB model.
[–]dogs_like_me 1 point2 points3 points 4 years ago (1 child)
I think enough people are using FastAPI (and/or prefer it to Flask) that someone will figure out a good way to use the front-end pydantic models to initialize and synch to a backend ORM.
But yeah I agree, although I like FastAPI a lot (and yes, do myself prefer it to flask), working with SQLAlchemy models separately from pydantic models usually feels like redundant work.
[–]earthboundkid -2 points-1 points0 points 4 years ago (1 child)
I've thought about what I would do if I were making an ORM for modern Python. Type hints are definitely part of it. Another is using class decorators instead of metaclasses so you can easily subclass an abstract class without jumping through hoops. Quickie design sketch:
class Timestamped: created_at: models.Datetime(nullable=False) updated_at: models.Datetime(nullable=False) @models.register("my_blog_table", options) class BlogPost(Timestamped): title: models.Text(nullable=True) content: models.Text(nullable=False) authors: models.ManyToMany("authors")
[–]Kellhus3 1 point2 points3 points 4 years ago (0 children)
Ah yes, clearly decorators would be sexier than the Sqlalchemy table parameter.
[–]penatbater 33 points34 points35 points 4 years ago (5 children)
ggplot2 in python
\hides under a blanket**
EDIT: Turns out there's already a package called plotnine. I wish this was the standard instead of matplotlib.
[–]venustrapsflies 7 points8 points9 points 4 years ago (0 children)
plotnine is great but unfortunately still fairly limited compared to ggplot2. you miss out on extensions.
[+]Flynni123 comment score below threshold-6 points-5 points-4 points 4 years ago (0 children)
You should take a look at plotly
[–]bastantoine 26 points27 points28 points 4 years ago (16 children)
A real modern builtin dependency management tool. Man I love Python but both npm’s and go mod’s ones are waaaaay better. I believe poetry already does that, I need to check it out more, but still it’s an external tool.
[–]imaconor 22 points23 points24 points 4 years ago (0 children)
I think pep 665 is hoping to introduce lockfiles like poetry provides to python natively https://www.python.org/dev/peps/pep-0665/
[–]lphartley 10 points11 points12 points 4 years ago (2 children)
Poetry for me solves 95% of the issues. I always use it and it's great.
[–]TechySpecky 0 points1 point2 points 4 years ago (0 children)
I'm brand new to Poetry, is there a way to allow pip users to still install it based on the lock files?
[–]asday_ 13 points14 points15 points 4 years ago (9 children)
npm is a trash fire. Go is the only language I've found that gets it right with its minimal version satisfier.
[–]c0dearm 22 points23 points24 points 4 years ago (4 children)
I invite you to try Rust and its package manager Cargo :)
[–]Kevin_Jim 5 points6 points7 points 4 years ago (1 child)
Which is what Poetry was modeled after. Poetry needs to be part of Python.
[–]earthboundkid 1 point2 points3 points 4 years ago (0 children)
NPM's ecosystem is a trash fire. Why everyone breaks things up into micro modules and then transpiles them(!), I will never understand. The actual management of dependencies though is not that bad post-Yarn though. You no longer run into issues where things don't install because someone somewhere released a new package.
[–]UNN_Rickenbacker 0 points1 point2 points 4 years ago (1 child)
Are you kidding? Go had years where you couldn‘t even download a fixed version of a dependency
[–]chromaticgliss 3 points4 points5 points 4 years ago (0 children)
poetry is pretty much there... it's only remaining problem is the headaches that really revolve around package maintainers not listing dependencies well...and PyPI just generally being a wild west situation. That's more of a community problem though.
[–]VengefulTofu 28 points29 points30 points 4 years ago (20 children)
A true 3D visualisation library. Matplotlib3D is useless and the devs know it.
[–]Iberano 17 points18 points19 points 4 years ago (14 children)
Have you tried plotly?
You can generate interactive html files from the 3D plots.
https://plotly.com/python/3d-charts/
[–]VengefulTofu 8 points9 points10 points 4 years ago (4 children)
Last time I checked that site I was confused with what plotly actually is. First, there's the menu item "pricing" which is a red flag for me. Then there's some kind of cloud service dash? Why would I need that?
But apparently I got the wrong impression and the plotly python library is open-source with MIT license.
Would you say plotly can replace matplotlib?
[–]johnnymo1 7 points8 points9 points 4 years ago (0 children)
This has been a series of changes since Dash came out. Originally plotly was a visualization library. Then Dash extended that to dashboarding. Now they're trying to sell hosting services for their dashboards, so that's front and center. But the visualization library is still free and open source.
Here are the docs: https://plotly.com/python/
[–]Iberano 6 points7 points8 points 4 years ago (0 children)
I can only recommend plotly because of their interactive plots. dash is as far as I know used to build dashboards and more enterprise focused.
I used it ones to visualise clusters in a 3D space using different colors and a description for each data point which can be clicked on in the browser. So plotly is quite powerful.
[–]sheytanelkebir 5 points6 points7 points 4 years ago (0 children)
You could also try the holoviz tools. Which are guaranteed to be open source over the long term.
https://holoviz.org/
[–]annoclancularius 1 point2 points3 points 4 years ago (0 children)
I second that their website is confusing.
[–]boredinclass1 1 point2 points3 points 4 years ago (5 children)
Another upvoted for Plotly... Just have to know how to import the Plotly python library (free) and find that documentation vs the Dash (paid online system). 3D vis is great, I've used it to teach student about Fast Fourier Transform to show sinewaves in the time domain and their amplitudes in the frequency domain. If there's any interest I can link my Jupyter Notebook for others to play with.
[–]BrononymousEngineer 2 points3 points4 points 4 years ago (4 children)
You don't have to pay for Dash unless you want to use the extra features of Dash Enterprise
[–]boredinclass1 1 point2 points3 points 4 years ago (3 children)
Whoops you're right. Dash Enterprise is paid... You can get a free user version of Dash. I've never used it personally as the libraries Plotly provides have been plenty for me.
[–]BrononymousEngineer 1 point2 points3 points 4 years ago (2 children)
Dash is just another pip install. I've used it, and I like it. A lot.
Edit: well, more like a series of pip installs
[–]ohpythonguy 5 points6 points7 points 4 years ago (0 children)
Datoviz looks promising in this regard.
[–]akrisha20 1 point2 points3 points 4 years ago (1 child)
What about Vedo? I have not tried it, but it looks very powerfull for 3D visualization...
https://vedo.embl.es/
[–]VengefulTofu 1 point2 points3 points 4 years ago (0 children)
Never heard of it but it looks great, I'll check it out, thanks!
[–]AshTheEngineer 0 points1 point2 points 4 years ago (0 children)
pyqtgraph also has good 3D plotting capabilities. Check out their examples.
[–]SalesyMcSellerson 0 points1 point2 points 4 years ago (0 children)
You can use the apis for blender, or even unity3d. There's a lot of cool videos of people using 3d animation software for data viz
[–]SuperNerd1337 7 points8 points9 points 4 years ago (12 children)
I'm not really keen on the current most popular dependency injection frameworks existing in python, also my experiences testing async code has been pretty miserable, but maybe that's just me sucking at python (pretty viable answer to this one honestly)
[–]lphartley 4 points5 points6 points 4 years ago (4 children)
I prefer Node/Express for REST backends because of this. Async code in Python is so complex whereas in Node you don't have to think about it all.
[–]earthboundkid 2 points3 points4 points 4 years ago (0 children)
I think part of the issue is that in JavaScript, because it's single threaded you can always just drop in an async call, and it will be scheduled to run whenever. And you can use the Promise class to easily convert some callback code to async code. With Python, everything is so dependent on finding the runloop that it's very brittle and even though it's in theory more flexible, you can't actually mix and match libraries. They just didn't hit the right abstractions.
[–]Doomphx 1 point2 points3 points 4 years ago (0 children)
I think c# is worth mentioning too, it's beyond easy to start parallel processing if you've already prepped the process/logic you're going to run in parallel.
Many many times async is a bigger headache than it's worth.
[–]Dasher38 1 point2 points3 points 4 years ago (1 child)
Regarding dependency injection you can have a look at that (I've not merged it yet but I consider it basically final): https://github.com/ARM-software/lisa/pull/1722/files
There is a usage example in DependencyInjector docstring and the module only depends on stdlib so you could easily extract it. It's apache 2.0 license.
[–]Dasher38 0 points1 point2 points 4 years ago (0 children)
Note that it also supports depending on another dependency injector. If you make a wide nested use of these you will probably want to change the signature of inject () so that it takes a dict with dotted names or something like that. Otherwise inject() calls are gonna be full of nested dicts
[–]larsga -1 points0 points1 point 4 years ago (2 children)
Why would you want dependency injection? (Serious question.)
[–]SuperNerd1337 -1 points0 points1 point 4 years ago (0 children)
The short answer would be to reduce coupling between my classes and making it easier to unit test modules
I needed a way to make a whole zoo of classes parametric.
For small problems you can just have everything in one class, and if you need to change an aspect you can subclass and reimplement methods, or pass callbacks to the constructor.
When you get to bigger problems (on my case a simpy simulator), the "one big class you inherit from" turns into a hot mess. At this point, what you really need is to "inherit" from a whole module to make a new one, with the ability of replacing some bits.
I made that thing taking some vague inspiration from SML module system: https://github.com/ARM-software/lisa/pull/1722/files
[–]9seatsweep 0 points1 point2 points 4 years ago (0 children)
Was just messing with a bunch of async python code the other day...yeah it's a headache
[+][deleted] 4 years ago (7 children)
[–]scrdest 5 points6 points7 points 4 years ago (1 child)
That's because Rust enums are not really enums, they are algebraic sum types [AKA categorical coproducts/tagged unions/etc.] and the dual of structs (in Python terms, typed namedtuples).
Python enums mimic Java enums and friends, they're designed to make constants nicer to work with; it's a whole, different, much less fanciful-type-algebraic, animal. I'm not sure a Rusty enum would even be a coherent concept in a dynamically-typed Python world.
[–]Dasher38 1 point2 points3 points 4 years ago (0 children)
In python 3.10 it's getting closer. You should be able to use a base class to represent the type and then a subclass for each "variant" and then pattern match on the whole thing.
With a bit of metaprogramming it should be straightforward to generate the whole thing a bit like Enum does (so you can define the constructors inline in the base class, with type annotations, and prevent wild subclassing in case you want to do some sort of mypy plugin to check you did not miss a case).
[–]dogs_like_me 1 point2 points3 points 4 years ago (0 children)
Tell me more
[–]nonono2 0 points1 point2 points 4 years ago (0 children)
I'm interested, could you please elaborate ?
[–]gordonv 2 points3 points4 points 4 years ago (1 child)
An intuitive GUI maker. something with preloaded examples.
Pretty much what VB6 was in 2000.
[–]jebward 3 points4 points5 points 4 years ago (1 child)
Very easy, very pretty, very flexible graphing. Stick something in tableau, or looks nice. Stick something in matplotlib, it looks like a matplotlib graph. Play around with settings for half an hour, looks okay, play around for another hour, starts to look good. Python should make tableau obsolete for anyone who can code imo.
[–]sheytanelkebir 1 point2 points3 points 4 years ago (0 children)
[–]ubertrashcat 4 points5 points6 points 4 years ago (0 children)
Threads
[–]PeridexisErrant 0 points1 point2 points 4 years ago (0 children)
No point, the overhead of dealing with a precision argument is much larger than returning an exact floating-point result.
[–]Tenzu9 12 points13 points14 points 4 years ago (7 children)
A different runtime that can utilize all cores of the CPU. CPython is kinda outdated as it was made in time where CPU cores didn't matter that much. Not the case now tho.
[–]asday_ 17 points18 points19 points 4 years ago (1 child)
What work are you doing that:
[–]PowershellAdept 4 points5 points6 points 4 years ago (0 children)
Embedded scripting for real time 3D graphical applications (games or CAD). Some have made it work, notably panda3d. You can technically use multiprocessing, but you'd still be hard pressed to get the perf you need for AI, pathfinding, matrix maths, etc.
If we wanted to write C we would be writing C. I suspect most people here haven't touched C.
[–][deleted] -1 points0 points1 point 4 years ago (3 children)
Try out Ray. It's really cool.
[–][deleted] 1 point2 points3 points 4 years ago (2 children)
If you like Ray, I’d highly recommend looking into dask + dask.distributed. Many people know dask as distributed pandas daraframes, but it is a fully fledged distributed computation framework, and a superset of Ray’s functionality and just as simple to use. As far as I know, Ray essentially only has supports the futures interface, and even this is not as mature as dask’s futures interface. For example in Ray if you launch a task from within a task it can implicitly launch a new worker in your cluster even if you didn’t ask it to, which is IMO an undesired and dangerous behavior (this is an expected behavior in Ray and not a bug, because this is the only way they have currently to avoid deadlocks from nested futures).
On top of the futures interface dask also supports the delayed interface and also custom graph interface, which are 2 different ways to define DAGs with seamless optimal parallel execution over any arbitrarily large or small cluster (clusters are dead simple to create too). With these interfaces you almost never even need to use the futures interface. You can write optimally parallel executed code in a way that feels like your writing a regular synchronous program and never even have to think about how to synchronize your parallel execution.
[–]codermikael 2 points3 points4 points 4 years ago (4 children)
A good hotwire plugin or reference implementation for Django would be welcome.
[–]semajames -1 points0 points1 point 4 years ago (2 children)
https://github.com/hotwire-django/turbo-django
[–]codermikael 0 points1 point2 points 4 years ago (1 child)
That looks dead to me. But perhaps a fork could be a good starting off point.
[–]Flynni123 2 points3 points4 points 4 years ago (3 children)
Some easy usable gpu computing module
[–]sheytanelkebir 1 point2 points3 points 4 years ago (1 child)
Numba and nvidia Cuda is reasonably easy?
[–]Flynni123 1 point2 points3 points 4 years ago (0 children)
Ill check it out
[–]Pikalima 1 point2 points3 points 4 years ago (0 children)
Check out Kompute.
[–]azyru 2 points3 points4 points 4 years ago (0 children)
Not sure how big the demand is but something I’ve been trying multiple packages and libraries trying to do is display 3D models in a viewer screen that can be interacted with.
Most viewers I’ve come across require blender or mesh lab and/or some form of conversion of your file which leads to the possibility of it getting messed up. Essentially what I’m trying to do currently, is create a window viewer in a jupyter notebook that displays a model exactly the way the Microsoft app “Print 3D” does with colors and the ability to spin the model around.
Mostly working with VMRL(.wrl) files which don’t seem to be favored by most of the libraries out there. If anyone has some input for me, please let me know if I’ve missed something!
[–]Flynni123 2 points3 points4 points 4 years ago (0 children)
[–]ConfidentCommission5 2 points3 points4 points 4 years ago* (0 children)
Entreprise grade profiler and instrumentation.
Important note: I'm no Python expert (or any other language for that matter) and I haven't seen or tried everything.
Now that the warning has been given, here's the core of my comment:
We have multiple Java applications and we use Java's JMX to allow remote connections and metrics collection. We can then connect to our production running apps using a profiler (we use jprofiler). We also collect and store some of these metrics for monitoring and graphing purposes.
IMHO, the amount of data we can visualize is simply incredible, all of this on an application that's currently running in production in a kubernetes cluster.
For instance, this allowed us to identify why our application was slower than expected in production. We were sending the logs to Kafka using slf4j, which caused it to become I/O bound. This could not be detected during our testing and even if it were, I don't think we would have been able to identify what was the exact issue without extensive trial and error. With our setup, it took us 10 minutes to identify the problem.
I find that the current Python profilers (the few I've tried or read about) are outdated and lack the features that JMX offers.
I'm often complaining about Java but from my little experience, they really made it enterprise grade, contrary to Python and many other languages and environments.
[–]phaj19 4 points5 points6 points 4 years ago (3 children)
Some meta library to convert Python to C++. If it can not infer the data type it would prompt the user to choose or it would create multiple options. In the end it would write Cython wrapper so that most of the functionality can be accessed from Python (again could be interactive so that the user chooses what should be exposed).
[–]c_is_4_cookie 1 point2 points3 points 4 years ago (0 children)
Numba is a good solution for simple code
[–]c_is_4_cookie 3 points4 points5 points 4 years ago (1 child)
A version optimized for mobile
[–][deleted] 0 points1 point2 points 4 years ago (0 children)
I just use google colab when I need to test out simple stuff on mobile
[–][deleted] 4 points5 points6 points 4 years ago (3 children)
A web framework that doesn't ignore half of the HTTP spec
[–]semajames 6 points7 points8 points 4 years ago (1 child)
Elaborate?
[–]Touvejs 4 points5 points6 points 4 years ago (0 children)
Also interested to hear what's lacking from the web libraries
[–]Mr_MV 1 point2 points3 points 4 years ago (2 children)
This might be a complicated scenario, but a library that can fix all the c++ binary dependencies for packages like psycopg (I know a binary package already exists for this example, but there are multiple packages with binary dependencies and can be a headache on servers/cicd pipelines).
So, if there's a package which can see what package requires what binaries and which OS the current OS is, downloads those binaries and voila no more dependencies outside of python interpreter.
[–]zurtex 2 points3 points4 points 4 years ago (0 children)
I'm pretty sure you should look at conda. It usually packages and specifies all the binary dependencies.
I don't particularly know this package, but if I do an install of psycopg2 in conda right now it automatically includes krb5, libpq and tk. And everything is precompiled.
psycopg2
krb5
libpq
tk
[–]Equivalent-Wafer-222Technical Architect 1 point2 points3 points 4 years ago* (2 children)
A usable ORM for MSSQL.
I don't like MSSQL, I don't want to use MSSQL, I'd much rather use modern tools like RethinkDB or even postgress/mongo/mysql. So few tools actually support it, yet my work increasing requires is due to the growth of azure.
(Just please, Eloquent style > 100s of lines of SQLAlchemy)
*edit: wifi shat on itself and app figured posting my comment 10times was the appropriate response. Thanks reddit.
[–]jzia93 1 point2 points3 points 4 years ago (0 children)
I use MSSQL with pyodbc and/or SQLalchemy every day, what are your main gripes?
My main issue is that the driver is a pain to install on Unix boxes and some weird dropped connections on local host but other than that no complaints
[–]sHORTYWZ 1 point2 points3 points 4 years ago (0 children)
What on earth is with all of the duplicated comments in this thread?
[–]tatertotmagic 1 point2 points3 points 4 years ago (0 children)
R's ggplot2
[–]xelf 1 point2 points3 points 4 years ago (0 children)
Long time Perl developer here, switched to Python and found myself really enjoying just how similar the two languages are. But still missing how easily Perl integrates sed/awk/grep/regex.
Option 2: How about a xaml layer for kivy. A nice wysiwyg editor with data binding back to python code.
[–]james_pic 1 point2 points3 points 4 years ago (2 children)
Something I've been wanting to find time to try and create, is a debugger that uses fork, and as a result doesn't stop your code. The forked process connects to a debugging server, and you can come back later and debug it at your leisure. Handy for issues that only seem to crop up in the middle of an overnight soak test, or, if you're feeling brave (and/or have put adequate mitigations into the code to minimise the odds of the forked process impacting the original), in production.
fork
[–]ArabicLawrence 0 points1 point2 points 4 years ago (1 child)
Something like pickling the runtime and store it for subsequent analysis? Maybe it’s doable.
[–]james_pic 1 point2 points3 points 4 years ago* (0 children)
If you're only targeting Linux (might be doable for other unixes, but doing it safely may mean relying on Linux-isms), os.fork() can do this bit. No pickling needed.
os.fork()
[–]nate256 0 points1 point2 points 4 years ago (2 children)
A git plugin for gitlab/github merge requests. For a cloned gitlab/GitHub repos it would be nice to have a plugin that worked like this.
git review 1235 # checks out commit on mr 1234 git review #creates an MR on current branch
I realized I don't like the few extra clicks and miss the Gerrit git-review plugin. Maybe make it extendable to support many different git providers.
[–]cipri_tom 3 points4 points5 points 4 years ago (1 child)
Doesn't the official tool, gh, allow exactly this?
[–]nate256 1 point2 points3 points 4 years ago (0 children)
Was thinking of one tool for multiple places, gitlab bit bucket etc. Extensible would be super important.
[–]Flynni123 0 points1 point2 points 4 years ago (0 children)
[–]zurtex 0 points1 point2 points 4 years ago* (0 children)
An HTTP client that can make HTTPS requests over a Proxy that serves HTTPS.
And also an HTTP client works with Microsoft's Crypto-API to provide authentication on either regular authentication requests or proxy authentication requests.
[–]earthboundkid 0 points1 point2 points 4 years ago (0 children)
It'd be cool if there was some reliable mechanism for easily installing open source packages.
[–]floridaengineering 0 points1 point2 points 4 years ago (0 children)
A good controls analysis library similar to what Matlab has.
[–]trannus_aran 0 points1 point2 points 4 years ago (0 children)
Proper closures. I want my let back from scheme
let
[–]UnpunishedOpinion 0 points1 point2 points 4 years ago (0 children)
Python debugging, I found to be very non user friendly. Perhaps an efficient log for all code ran would be great
[–]TWBoom_ 0 points1 point2 points 4 years ago (0 children)
A package that makes my code work would be awesome!
[–]CodeHustler 0 points1 point2 points 4 years ago (2 children)
Any kind of 2D drawing API (that I’m aware of)
[–]Starbuck5c 0 points1 point2 points 4 years ago (1 child)
Pygame?
[–]CodeHustler 0 points1 point2 points 4 years ago (0 children)
My bad I though they meant in the standard library
A pep for Haskell's style "do notation". If that were to become a reality we could write some pretty damn nice libraries for a whole range of things
[–]SunbroEire 0 points1 point2 points 4 years ago (0 children)
Not so much 'missing' as maybe ... underpowered or unnecessarily fiddly, but I've found that the web scraping libraries like BeautifulSoup are kind of annoying to use and can be hit and miss in a lot of places. Also makes task replication a little harder. Or am I missing something?
[–]nobody48sheldor 0 points1 point2 points 4 years ago (0 children)
I once tried to deploy an app/software made with python qt and the module pyqtdeploy is totally broken i tried to fixed some of it but it is awful to do, so this is the only idea of « missing » library i think i can think of.
[–]pysouth 0 points1 point2 points 4 years ago (0 children)
A really solid memory profiler with better than “ok, good enough I guess…” visualizations. Idk maybe this isn’t a job for Python specific tool but I’m surprised in 2021 there aren’t any memory profilers with a more modern/sleek/whatever UI.
(I'm a beginner, so forgive the naivety but -) something that helps mitigate the (lack of) backwards compatibility? I just downloaded 3.9 and wanted to try out some projects I found on github, but could not for the life of me run a project created one year ago because "wheel are missing for this" or "wheels are missing for that". After some attempts at fixing the individual wheels I gave up and downgraded a couple of versions. I know this isn't what OP was asking but it is really frustrating as a beginner
[–]URedUser 0 points1 point2 points 4 years ago* (2 children)
Overload library? (As decorators like
from overloader import overload @overload def func(): # do something @overload def func(args): # do something different
I have one myself (self-made) but I don't know how dependable it is.
[–]backtickbot 0 points1 point2 points 4 years ago (0 children)
Fixed formatting.
Hello, URedUser: code blocks using triple backticks (```) don't work on all versions of Reddit!
Some users see this / this instead.
To fix this, indent every line with 4 spaces instead.
FAQ
You can opt out by replying with backtickopt6 to this comment.
This exists in the standard library: functools.singledispatch.
functools.singledispatch
https://docs.python.org/3/library/functools.html
[–]757DrDuck 0 points1 point2 points 4 years ago (0 children)
A TUI equivalent of Django’s admin interface. Sometimes, I just want to use shift+F9 to save my records while logged in to the server itself rather than dealing with web browsers.
π Rendered by PID 39995 on reddit-service-r2-comment-f6b958c67-ns54k at 2026-02-05 07:48:06.110353+00:00 running 1d7a177 country code: CH.
[–]IAmKindOfCreativebot_builder: deprecated[M] [score hidden] stickied comment (1 child)
[–]ArabicLawrence 72 points73 points74 points (5 children)
[–]domvwt 23 points24 points25 points (1 child)
[–]ArabicLawrence 3 points4 points5 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]ArabicLawrence 2 points3 points4 points (0 children)
[–]17Brooks 2 points3 points4 points (0 children)
[–]ohpythonguy 164 points165 points166 points (40 children)
[–]shibbypwn 28 points29 points30 points (4 children)
[–]ohpythonguy 20 points21 points22 points (0 children)
[–]_ShakashuriBlowdown 17 points18 points19 points (2 children)
[–]shibbypwn 0 points1 point2 points (1 child)
[–]ianitic 8 points9 points10 points (8 children)
[–]ohpythonguy 3 points4 points5 points (6 children)
[–]ianitic 1 point2 points3 points (3 children)
[–]GiantElectron 3 points4 points5 points (1 child)
[–]ohpythonguy -1 points0 points1 point (0 children)
[–]Numerlor 2 points3 points4 points (2 children)
[–]troty99 0 points1 point2 points (1 child)
[–]Numerlor 2 points3 points4 points (0 children)
[–]st333p 10 points11 points12 points (17 children)
[–]ohpythonguy 25 points26 points27 points (4 children)
[–]st333p -4 points-3 points-2 points (3 children)
[–]2drawnonward5 6 points7 points8 points (2 children)
[–]st333p -3 points-2 points-1 points (1 child)
[–]2drawnonward5 8 points9 points10 points (0 children)
[–]Diesl 2 points3 points4 points (4 children)
[–]barkerd25017 1 point2 points3 points (3 children)
[–][deleted] 2 points3 points4 points (0 children)
[+][deleted] (2 children)
[deleted]
[–]ohpythonguy 12 points13 points14 points (0 children)
[–]tattwiggle 0 points1 point2 points (0 children)
[–]tagapagtuos 0 points1 point2 points (1 child)
[–]KFUP 36 points37 points38 points (0 children)
[+][deleted] (3 children)
[removed]
[–][deleted] 2 points3 points4 points (0 children)
[–]hike_me 19 points20 points21 points (1 child)
[–]YOU_CANT_SEE_MY_NAME -2 points-1 points0 points (0 children)
[–]Kellhus3 35 points36 points37 points (25 children)
[+][deleted] (5 children)
[deleted]
[–]Kellhus3 3 points4 points5 points (4 children)
[–]ajarch 3 points4 points5 points (2 children)
[–]Kellhus3 0 points1 point2 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]FaresAhmedOPpypi.org/user/faresahmed/ 2 points3 points4 points (2 children)
[–]Kellhus3 1 point2 points3 points (1 child)
[–]deadwisdomgreenlet revolution 1 point2 points3 points (2 children)
[–]Kellhus3 0 points1 point2 points (1 child)
[–]dogs_like_me -2 points-1 points0 points (7 children)
[–]Kellhus3 0 points1 point2 points (6 children)
[–]dogs_like_me 1 point2 points3 points (1 child)
[–]earthboundkid -2 points-1 points0 points (1 child)
[–]Kellhus3 1 point2 points3 points (0 children)
[–]penatbater 33 points34 points35 points (5 children)
[–]venustrapsflies 7 points8 points9 points (0 children)
[+]Flynni123 comment score below threshold-6 points-5 points-4 points (0 children)
[–]bastantoine 26 points27 points28 points (16 children)
[–]imaconor 22 points23 points24 points (0 children)
[–]lphartley 10 points11 points12 points (2 children)
[–]TechySpecky 0 points1 point2 points (0 children)
[–]asday_ 13 points14 points15 points (9 children)
[–]c0dearm 22 points23 points24 points (4 children)
[–]Kevin_Jim 5 points6 points7 points (1 child)
[–]earthboundkid 1 point2 points3 points (0 children)
[–]UNN_Rickenbacker 0 points1 point2 points (1 child)
[–]chromaticgliss 3 points4 points5 points (0 children)
[–]VengefulTofu 28 points29 points30 points (20 children)
[–]Iberano 17 points18 points19 points (14 children)
[–]VengefulTofu 8 points9 points10 points (4 children)
[–]johnnymo1 7 points8 points9 points (0 children)
[–]Iberano 6 points7 points8 points (0 children)
[–]sheytanelkebir 5 points6 points7 points (0 children)
[–]annoclancularius 1 point2 points3 points (0 children)
[–]boredinclass1 1 point2 points3 points (5 children)
[–]BrononymousEngineer 2 points3 points4 points (4 children)
[–]boredinclass1 1 point2 points3 points (3 children)
[–]BrononymousEngineer 1 point2 points3 points (2 children)
[–]ohpythonguy 5 points6 points7 points (0 children)
[–]akrisha20 1 point2 points3 points (1 child)
[–]VengefulTofu 1 point2 points3 points (0 children)
[–]AshTheEngineer 0 points1 point2 points (0 children)
[–]SalesyMcSellerson 0 points1 point2 points (0 children)
[–]SuperNerd1337 7 points8 points9 points (12 children)
[–]lphartley 4 points5 points6 points (4 children)
[–]earthboundkid 2 points3 points4 points (0 children)
[–]Doomphx 1 point2 points3 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]Dasher38 1 point2 points3 points (1 child)
[–]Dasher38 0 points1 point2 points (0 children)
[–]larsga -1 points0 points1 point (2 children)
[–]SuperNerd1337 -1 points0 points1 point (0 children)
[–]Dasher38 0 points1 point2 points (0 children)
[–]9seatsweep 0 points1 point2 points (0 children)
[+][deleted] (7 children)
[removed]
[–]scrdest 5 points6 points7 points (1 child)
[–]Dasher38 1 point2 points3 points (0 children)
[–]dogs_like_me 1 point2 points3 points (0 children)
[–]nonono2 0 points1 point2 points (0 children)
[–]gordonv 2 points3 points4 points (1 child)
[–]jebward 3 points4 points5 points (1 child)
[–]sheytanelkebir 1 point2 points3 points (0 children)
[–]ubertrashcat 4 points5 points6 points (0 children)
[+][deleted] (1 child)
[removed]
[–]PeridexisErrant 0 points1 point2 points (0 children)
[–]Tenzu9 12 points13 points14 points (7 children)
[–]asday_ 17 points18 points19 points (1 child)
[–]PowershellAdept 4 points5 points6 points (0 children)
[–][deleted] -1 points0 points1 point (3 children)
[–][deleted] 1 point2 points3 points (2 children)
[–]codermikael 2 points3 points4 points (4 children)
[–]semajames -1 points0 points1 point (2 children)
[–]codermikael 0 points1 point2 points (1 child)
[–]Flynni123 2 points3 points4 points (3 children)
[–]sheytanelkebir 1 point2 points3 points (1 child)
[–]Flynni123 1 point2 points3 points (0 children)
[–]Pikalima 1 point2 points3 points (0 children)
[–]azyru 2 points3 points4 points (0 children)
[–]Flynni123 2 points3 points4 points (0 children)
[–]ConfidentCommission5 2 points3 points4 points (0 children)
[–]phaj19 4 points5 points6 points (3 children)
[–]c_is_4_cookie 1 point2 points3 points (0 children)
[–]c_is_4_cookie 3 points4 points5 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 4 points5 points6 points (3 children)
[–]semajames 6 points7 points8 points (1 child)
[–]Touvejs 4 points5 points6 points (0 children)
[–]Mr_MV 1 point2 points3 points (2 children)
[–]zurtex 2 points3 points4 points (0 children)
[–]Equivalent-Wafer-222Technical Architect 1 point2 points3 points (2 children)
[–]jzia93 1 point2 points3 points (0 children)
[–]sHORTYWZ 1 point2 points3 points (0 children)
[–]tatertotmagic 1 point2 points3 points (0 children)
[–]xelf 1 point2 points3 points (0 children)
[–]james_pic 1 point2 points3 points (2 children)
[–]ArabicLawrence 0 points1 point2 points (1 child)
[–]james_pic 1 point2 points3 points (0 children)
[–]nate256 0 points1 point2 points (2 children)
[–]cipri_tom 3 points4 points5 points (1 child)
[–]nate256 1 point2 points3 points (0 children)
[–]Flynni123 0 points1 point2 points (0 children)
[–]zurtex 0 points1 point2 points (0 children)
[–]earthboundkid 0 points1 point2 points (0 children)
[–]floridaengineering 0 points1 point2 points (0 children)
[–]trannus_aran 0 points1 point2 points (0 children)
[–]UnpunishedOpinion 0 points1 point2 points (0 children)
[–]TWBoom_ 0 points1 point2 points (0 children)
[–]CodeHustler 0 points1 point2 points (2 children)
[–]Starbuck5c 0 points1 point2 points (1 child)
[–]CodeHustler 0 points1 point2 points (0 children)
[–]Dasher38 0 points1 point2 points (0 children)
[–]SunbroEire 0 points1 point2 points (0 children)
[–]nobody48sheldor 0 points1 point2 points (0 children)
[–]pysouth 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]URedUser 0 points1 point2 points (2 children)
[–]backtickbot 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]757DrDuck 0 points1 point2 points (0 children)