Python Engineering at Microsoft
blogs.msdn.microsoft.com/pythonengineering · Company blog · on HN since 2016
Microsoft's Python engineering team posts about Python support in Visual Studio and VS Code, the language server and Python library trends.
What HN saysHN commenters cite it as evidence of an active Python group at Microsoft focused on Visual Studio and Azure, and link its post on idiomatic EAFP versus LBYL.
25HN people shared it
12linked it in comments
33stories submitted
1.2Kstory points
8 years agolast shared
2016people per year2026
Most-shared posts
- 1Python 3 Is Winning Library Developer Support5 people · 297 points · first shared 2016 · 185 comments on HN
- 2Python in Visual Studio Code2 people · 340 points · first shared 2018 · 195 comments on HN
- 3Introducing the Python Language Server2 people · 189 points · first shared 2018 · 53 comments on HN
- 4Welcome to the Python Engineering blog2 people · 147 points · first shared 2016 · 61 comments on HN
- 5Python support in Visual Studio 20172 people · 71 points · first shared 2017 · 50 comments on HN
- 6Visual Studio Code is now shipping with Anaconda2 people · 10 points · first shared 2018 · discussion on HN
- 7Data Science with Python in Visual Studio Code [Microsoft]2 people · 9 points · first shared 2018 · discussion on HN
- 8Python updates in Visual Studio 15.4 Preview 12 people · 4 points · first shared 2017 · discussion on HN
- 9Interactive Python Windows in VS 20172 people · 4 points · first shared 2017 · discussion on HN
- 10Homepage2 people · first shared 2016
- 11Idiomatic python eafp versus lbyl2 people · first shared 2017
- 12Don Jayamanne, creator of Python extension for VS Code, joins Microsoft1 people · 90 points · first shared 2017 · 42 comments on HN
- 13MS Python: How to deal with the pain of “unable to find vcvarsall.bat”1 people · 45 points · first shared 2016 · 23 comments on HN
- 14Python and Django on Windows Nano Server1 people · 3 points · first shared 2016 · discussion on HN
- 15PyCon 2018 recap from msft1 people · 3 points · first shared 2018 · discussion on HN
What HN people wrote when they linked it
__derek__ · 2016-08-18
I can't speak to Ruby, but Microsoft has an active Python group.[1] Granted, it seems to focus on Visual Studio (which I'm told has excellent Python tooling) and Azure.
[1]: https://blogs.msdn.microsoft.com/pythonengineering/
geofft · 2017-08-25
> If your code is unintentionally executing sqrt(-1) (or unintentionally indexing out of bounds, etc) then something is wrong with your program.
This is not Python's design. You might dislike Python's design, sure (many people do!), but it is recommended Python practice to try to do something, catch the well-defined exception, and implement the fallback rather than to check in advance.
https://docs.python.org/3.5/glossary.html#term-eafp
https://blogs.msdn.microsoft.com/pythonengineering/2016/06/29/idiomati…
> Catching ValueError/IndexError in those cases is futile, how can one trust a buggy program to handle itself?
The program is not buggy.
(Also, it's absolutely possible to design software where bugs are contained to part of the code: for instance, if you hit a bug in your Python code while handling a web request, you should return a 500 to that user and carry on instead of aborting the whole web server. In fact, it is precisely the relative lack of undefined behavior in Python that makes this a good approach: if you were doing this in C, a wild pointer could well corrupt some other server thread!)
detaro · 2018-09-09
antoinealb · 2018-07-03
As pointed, you can use either a default dict or just simply, and [more pythonic](https://blogs.msdn.microsoft.com/pythonengineering/2016/06/29/idiomati…
try:
bar[baz] += 1
except KeyError:
bar[baz] = 1
Also you can check if a key is in a dict simply by doing "if baz in bar" no need for "list(bar.keys())", which will be slow (temp object + linear scan) vs O(1) hashmap lookup.
int_19h · 2017-03-07
cbHXBY1D · 2016-06-28
If there was enough interest you could get the Microsoft Python team to support IronPython. There's been talk of a renewed effort.
[1] https://blogs.msdn.microsoft.com/pythonengineering/
Grokzen · 2016-05-28
331/360 of the most popular repos on pypi supports py3 http://py3readiness.org/.
Also python 3 support is increasing, while python 2 support is decreasing overall https://blogs.msdn.microsoft.com/pythonengineering/2016/03/08/python-3…
jedberg · 2016-05-23
This is why Python 2 isn't optional yet:
http://py3readiness.org/
Of the top 360 libraries, only 332 of them support Python 3 (but almost all of them still support Python 2).
This analysis was done in March and expected even support for Python 3 and 2 around now:
https://blogs.msdn.microsoft.com/pythonengineering/2016/03/08/python-3…
So maybe next year it will be optional, but not yet.
ericfrederich · 2016-05-20
It should be noted that the quantity of Python 2 code keeps on growing
According to this article Python2 support is shrinking.
https://blogs.msdn.microsoft.com/pythonengineering/2016/03/08/python-3…
falcolas · 2016-04-15
You can offload both 1 and 2 to third party services - one of the major ones with a properly public API that officially supports (and thus charges for high volume use) use by other parties is Microsoft's Project Oxford [0].
You could also use some of the Google APIs, but those are more-or-less unsupported, and subject to change as Google needs to change them.
From there, it's a matter of transforming intent into action.
It's entirely possible to do, but you'll have a lot of learning to do to implement it. One place you might start looking is at the Microsoft Python blog [1].
[0] https://www.microsoft.com/cognitive-services/
[1] https://blogs.msdn.microsoft.com/pythonengineering/2016/02/15/talking-…
tokai · 2016-03-10
Isn't that change coming now?
Most of the most popular libraries have python 3 support now, fedora will soon move to python 3 as default, and there are soon more developer support behind 3 than 2.[0]
[0] https://blogs.msdn.microsoft.com/pythonengineering/2016/03/08/python-3…
mozumder · 2016-03-07
There was an announcement a few weeks back about their Python JIT VM that they're developing, which is currently only for Windows but they say they're planning for other operating systems as well: https://blogs.msdn.microsoft.com/pythonengineering/2016/02/12/welcome/
And also a few months ago they posted to the Django developers mailing list about developing MSSQL as a first-class database for Django: https://groups.google.com/forum/#!topic/django-developers/FbBcUCzrSZo
It seems pushing MSSQL for Linux is the next step.
Meanwhile, I hope they can get things running ported to FreeBSD, since that's what I use for the server.