InterWorks Blog Roundup – June 2019

Last month on the blog saw a pretty diverse offering of content. We recapped some of the amazing tech conferences our team recently attended, shared some exciting recognitions InterWorks has received lately and threw the spotlight on some great aspects of our company culture. We’ve got everything from podcasts and Tableau tips to Alteryx resources. Find the right blog for you from the list below:

News, Events and Culture

Tableau Tips, Tricks and Community

Advance with Assist

Portals for Tableau

Podcast Your Data

Data Management

The post InterWorks Blog Roundup – June 2019 appeared first on InterWorks.

InterWorks

Python Engineering at Microsoft: Python in Visual Studio Code – June 2019 Release

We are pleased to announce that the June 2019 release of the Python Extension for Visual Studio Code is now available. You can download the Python extension from the Marketplace, or install it directly from the extension gallery in Visual Studio Code. If you already have the Python extension installed, you can also get the latest update by restarting Visual Studio Code. You can learn more about Python support in Visual Studio Code in the documentation.

In this release we made improvements that are listed in our changelog, closing a total of 70 issues including a plot viewer with the Python Interactive window, parallel tests with pytest, and indentation of run selection in the terminal.

Plot Viewer with the Python window

Plots are commonly used for data visualization. One of the top requested features for the Python Interactive window is to enable deeper inspection of the generated plots, e.g. zooming, panning, and exporting images. The June 2019 update included a brand-new Plot Viewer that can be used to manipulate any image plots, such as the popular matplotlib plots.

You can try it out by double-clicking on the plots or clicking on the “expand image” button that is displayed when you hover over plot images in the Python Interactive Window:

With the plot viewer, you can pan, zoom in/out, navigate through plots in the current session, and export plots to PDF, SVG, or PNG formats.

Parallel tests with pytest

We made enhancements to reliability of statistics displayed for tests run, in particular for running tests in parallel with pytest.

You can try out running tests in parallel with pytest by installing the pytest-xdist package and add “-n<number of CPUs>” to a configuration file. For example, for 4 CPUs you can create a pytest.ini file in the project folder and add the below content to it:

[pytest] addopts=-n4

Now when you run and debug tests, they’ll be executed in parallel.

You can refer to our documentation to learn more about testing support in the Python extension.

Indentation of run selection in the terminal

A highly requested VS Code Python feature on our GitHub repository was to dedent code selections before sending it to the terminal when running the “Run Selection/Line in Python Terminal” command. Starting in this release, the command will send to the terminal a de-indentation of the selection, based on its first non-empty line.

Other Changes and Enhancements

We have also added small enhancements and fixed issues requested by users that should improve your experience working with Python in Visual Studio Code. Some notable changes include:

  • Allow password for remote authentication with jupyter. (#3624)
  • Data Viewer now properly handles large data frames and supports filtering with expressions on numeric columns (greater than, less than, equals to) (#5469)
  • Show preview of imported notebook in the Python Interactive window. (#5675)
  • Add support for sub process debugging, when debugging tests. (#4525)
  • Added support for activation of conda environments in powershell. (#668)
  • Add ‘ctrl+enter’ as a keyboard shortcut for run current cell. (#5673)

Be sure to download the Python extension for Visual Studio Code now to try out the above improvements. If you run into any problems, please file an issue on the Python VS Code GitHub page.

The post Python in Visual Studio Code – June 2019 Release appeared first on Python.

Planet Python

PyCoder’s Weekly: Issue #373 (June 18, 2019)

#373 – JUNE 18, 2019
View in Browser »

The PyCoder’s Weekly Logo


How to Publish Your Own Python Package to PyPI

Learn how to create a Python package for your project and how to publish it to PyPI, the Python Package Repository with this step-by-step tutorial. Quickly get up to speed on everything from naming your package to configuring it using setup.py.
REAL PYTHON video

Comparing the Same Project in Rust, Haskell, C++, Python, Scala and OCaml

“A rare opportunity to compare implementations of large programs that all did the same thing, written by friends I knew were highly competent, and have a fairly pure opportunity to see what difference design and language choices could make.”
TRISTAN HUME

Find a Python Job Through Vettery

alt

Vettery specializes in developer roles and is completely free for job seekers. Interested? Submit your profile, and if accepted, you can receive interview requests directly from top companies seeking Python devs. Get started →
VETTERY sponsor

Toward a “Kernel Python”

“We need a newer, leaner, unburdened ‘kernel’ Python. We need to dump the whole standard library out on the floor, adding back only the smallest bits that we need, so that we can tell what is truly necessary and what’s just nice to have.”
GLYPH LEFKOWITZ opinion

Use __main__.py in Python

“The magic file __main__.py is called when you run your project with the -m module flag. If you code is intended to be used a module first, and command line interface second, this makes perfect sense to use. Think of it as a place we can put whatever would be in our body of our if __name__ === "__main__" statement.”
SHANE O’NEILL

PyPI Now Supports Two-Factor Login via WebAuthn

“To further increase the security of Python package downloads, we’re adding a new beta feature to the Python Package Index: WebAuthn support for U2F compatible hardware security keys as a two-factor authentication (2FA) login security method.”
PYFOUND.BLOGSPOT.COM

PSF Announces Results of the 2019 Board of Directors Election

“The 4 available seats go to: Lorena Mesa @loooorenanicole , Kushal Das @kushaldas, Marlene Mhangami @marlene_zw, and Jannis Leidel @jezdez. Congratulations to Lorena, Kushal, Marlene, and Jannis!”
TWITTER.COM/THEPSF

Dynamic Programming Examples in Python

A short introduction to the (confusingly named) concept of dynamic programming with Python.
NATHAN GOLDBAUM

Discussions

Python Jobs

Senior Backend Software Engineer (Remote)

Close

Lead Python Software Developer (Toronto, Canada)

Kognitiv

SIPS Programmer (Madison, WI)

University of Wisconsin

Data Engineer (Munich, Germany)

Stylight GmbH

Senior Python Developer (Malta, Europe)

Gaming Innovation Group

More Python Jobs >>>

Articles & Tutorials

So, You Want to Contribute to CPython: Gather Here

“I will try to explain how you can start contributing to CPython borrowing from some few ways I have used and found to work for me.”
JOANNAH NANJEKYE

Loop Better: A Deeper Look at Iteration in Python

“Python’s for loops don’t work the way for loops do in other languages. In this article we’re going to dive into Python’s for loops to take a look at how they work under the hood and why they work the way they do.”
TREY HUNNER

Build Python in Minutes With ActiveState

alt

Tired of Conda-installing? Automatically build your Python runtime environment with the packages you need: Automatically resolve dependencies, install in a virtual environment with a single command, build Python 2.7 and 3.6 on Linux and Windows. Learn more →
ACTIVESTATE sponsor

How to Build Command Line Interfaces in Python With Argparse

In this step-by-step Python tutorial, you’ll learn how to take your command line Python scripts to the next level by adding a convenient command line interface that you can write with argparse.
REAL PYTHON

Python vs R — Choosing the Best Programming Language for Data Science

“Functional Programming vs. Imperative Programming, the Nature of R Programming versus Python Programming, Data Science Tasks all determine what programming language to use in Data Science Project.”
JUN WU opinion

Communicating Between Go and Python or R

“Sometimes, we need code from one language to call code written in another language directly. In this post, we’ll take a short look at how to do that using C foreign function interfaces (FFI) as a way to call functions written in Go using Python.”
MATTHEW MAHOWALD

Faster Docker Builds With Pipenv, Poetry, or Pip-Tools

“Installing dependencies separately from your code allows you to take advantage of Docker’s layer caching. Here’s how to do it with pipenv, poetry, or pip-tools.”
ITAMAR TURNER-TRAURING

Come to Mexico for PyCon Latam 2019

Come join us in beautiful Puerto Vallarta in the first installment of this conference. With an all-inclusive ticket that covers food and lodging, you can’t miss this opportunity!
PYCON sponsor

Calling Python Functions From NodeJS

On NodeJS and Python interoperability.
NICK FRANKEN

Projects & Code

Events

GeoPython 2019

June 24 to June 27, 2019
GEOPYTHON.NET

Dash Conference

July 16–17 in NYC
DASHCON.IO


Happy Pythoning!
This was PyCoder’s Weekly Issue #373.
View in Browser »

alt


[ Subscribe to 🐍 PyCoder’s Weekly 💌 – Get the best Python news, articles, and tutorials delivered to your inbox once a week >> Click here to learn more ]

Planet Python

PyCoder’s Weekly: Issue #372 (June 11, 2019)

#372 – JUNE 11, 2019
View in Browser »

The PyCoder’s Weekly Logo


Python Predicted to Overtake C and Java in Next 4 Years

“Python’s ascent continues among software developers, bolstered by its usability compared with Java and C.”
ZDNET.COM

CPython 3.8.0b1 Is Available for Testing

New features include: f-string debugging, “async REPL” mode, AsyncMock in unittest.mock, async-support for unittest, math.comb added, Python embedding got better, and more.
PYTHON.ORG

Leverage Data Science to Optimize Your Application

alt

PyCharm 2019.1 Professional Edition has all-new Jupyter Notebooks support. You can use the same IDE that you use for building your application to analyze the data to improve it. Try it now →
JETBRAINS sponsor

How to Make a Twitter Bot in Python With Tweepy

Learn how to make a Twitter bot in Python with Tweepy, which is a package that provides a very convenient way to use the Twitter API. You can use your Twitter bot to automate all or part of your Twitter activity.
REAL PYTHON

Current State of Python Packaging in 2019

“In this post, I will try to explain the intricate details of Python packaging. I spent the best part of my evenings in the past two months to gather as much information as possible about the problem, the current solutions, what is legacy and what is not.” Related discussion on Hacker News
STEFANO BORINI

Future Versions of macOS Won’t Include Python 2.7

The next macOS release deprecates built-in Python 2.7 and other system scripting languages, such as Ruby. The system scripting languages on macOS have always lagged behind the latest releases, for example, the macOS system Python is still on 2.7. You’ll still be able to install Python 2 or Python 3 as you would most likely anyway today.
MICHAEL TSAI

Solving a Python Programming Puzzle, Step-By-Step

“This post is a write-up of a solution to part of a programming puzzle I did yesterday. It’s a little different than the usual ‘solution + theory’ approach, though: I’m going to talk about the actual steps you’d need to take to get to the solution (i.e. what to google, what intermediate code looks like, etc.).”
DONNACHA OISÍN KIDNEY

Writing a Toy Backend Compiler for PyTorch

“This tutorial is designed as an end-to-end walkthrough detailing all that is necessary for building and integrating a compiler into PyTorch’s JIT.”
BRAM WASTI

Discussions

Python Jobs

Senior Backend Software Engineer (Remote)

Close

Lead Python Software Developer (Toronto, Canada)

Kognitiv

SIPS Programmer (Madison, WI)

University of Wisconsin

Senior Python Developer (Malta, Europe)

Gaming Innovation Group

More Python Jobs >>>

Articles & Tutorials

OOP Method Types in Python: @classmethod vs @staticmethod vs Instance Methods

What’s the difference between @classmethod, @staticmethod, and “plain/regular” instance methods in Python? You’ll know the answer after watching this video series and playing with the accompanying code examples.
REAL PYTHON video

Killer Rabbits in Medieval Manuscripts

Why so many drawings in the margins depict bunnies going bad…
OPENCULTURE.COM

Join a Community of 3.5 Million Developers on DigitalOcean

alt

Discover why Python developers love self-hosting their apps on DigitalOcean, the simplest cloud platform. Click here to learn more and get started within minutes →
DIGITALOCEAN sponsor

Python in the Windows 10 May 2019 Update?

Python might be hard to install on Windows, but with the latest Windows 10 update, you can type python to find it in the Microsoft Store.
STEVE DOWER (MICROSOFT)

50,000,000 Twisted Downloads Can’t Be Wrong

Twisted’s release manager discusses decision to continue supporting Python 2.7.
AMBER BROWN

Impostor at PyCon

“I’ve been working more with beginning programmers recently and have heard them talking about feeling like an impostor on a frequent basis, so this time when the feeling struck, I paid attention to it.”
JIM ANDERSON

How to Implement a Stack Data Structure in Python

In this tutorial, you’ll learn how to implement a stack in Python. You’ll see how to recognize when a stack is a good choice for data structures, how to decide which implementation is best for a program, and what extra considerations to make about stacks in a threading or multiprocessing environment.
REAL PYTHON

Projects & Code

Events

PyMNTos

June 13, 2019
PYTHON.MN

Python Atlanta

June 13, 2019
MEETUP.COM

PyLondinium

June 14 to June 17, 2019
PYLONDINIUM.ORG

PyCon CZ 2019

June 14 to June 17, 2019
PYCON.ORG

PyCon Thailand

June 15 to June 17, 2019
PYCON.ORG

Dash Conference

July 16–17 in NYC
DASHCON.IO


Happy Pythoning!
This was PyCoder’s Weekly Issue #372.
View in Browser »

alt


[ Subscribe to 🐍 PyCoder’s Weekly 💌 – Get the best Python news, articles, and tutorials delivered to your inbox once a week >> Click here to learn more ]

Planet Python

PyCoder’s Weekly: Issue #371 (June 4, 2019)

#371 – JUNE 4, 2019
View in Browser »

The PyCoder’s Weekly Logo


Pointers in Python: What’s the Point?

Get a clearer understanding of Python’s object model and learn why pointers don’t really exist in Python. You’ll also cover ways to simulate pointers in Python without the memory-management nightmare.
REAL PYTHON

Concurrency With Python: CSP and Coroutines

Nice overview of “communicating sequential processes” (CSP), a concurrency model similar to the notion of actor models, and how it can be implemented in Python.
YING WANG

Find a Python Job Through Vettery

alt

Vettery specializes in developer roles and is completely free for job seekers. Interested? Submit your profile, and if accepted, you can receive interview requests directly from top companies seeking Python devs. Get started →
VETTERY sponsor

CNNs, Part 2: Training a Convolutional Neural Network

A nice walkthrough of deriving backpropagation for CNNs and implementing it from scratch in Python.
VICTOR ZHOU

Rewriting the Slack Python SDK

The lead maintainer of the Slack Python SDK gives a retrospective about refactoring the current SDK and migrating it from Python 2 to Python 3.
RODNEY URQUHART

Python’s Caduceus Syndrome

“Which of the two should the ecosystem tackle as a priority? Should they clean up all backwards compatibility first? (that would be PEP 594, ‘removing dead batteries from the standard library’) Should they focus on moving everyone over to the new features?”
VICKI BOYKIS

PyPI Now Supports 2-Factor Auth

Protect your PyPI login with two-factor authentication using Time-based One-time Password (TOTP) app.
ERNEST W. DURBIN III

Language Summit Lightning Talks (Summaries)

Summaries of the lightning talks presented at the Python Language Summit at PyCon 2019.
A. JESSE JIRYU DAVIS • Shared by Ricky White

PSF Q2 2019 Fundraiser

Support the Python Software Foundation by donating in the quarterly donation drive. Your donations help fund Python conferences, workshops, user groups, community web services, and more.
PYTHON.ORG

Discussions

Python 3.8 Performance News

“Today, code was checked in that substantially sped-up global lookups and builtin lookups. They are still slower than accessing locals and non-locals but only modestly so.”
RAYMOND HETTINGER

Python Jobs

Senior Backend Engineer (Remote)

Close

Lead Python Developer (Toronto, Canada)

Kognitiv

SIPS Programmer (Madison, WI)

University of Wisconsin

Senior Python Developer (Malta, Europe)

Gaming Innovation Group

Senior Backend Python Developer (Remote)

Kiwi.com

More Python Jobs >>>

Articles & Tutorials

Algorithms as Objects

“We usually think of an algorithm as a single function with inputs and outputs. […] This is fine until one actually attempts to implement it as a single function; all the little details add up until you’re left with a gigantic, monolithic function.”
ANDY G • Shared by Python Bytes

Making HTTP Requests With Python

The “requests” library is the de facto standard for making HTTP requests in Python. It abstracts the complexities of making requests behind a beautiful, simple API so that you can focus on interacting with services and consuming data in your application. This course shows you how to work effectively with “requests”, from start to finish.
REAL PYTHON video

Build a Custom Python Distro in Minutes

alt

Create a free account and: choose from our 500+ vetted packages, automatically pull in and resolve dependencies, install the distro in a virtual environment with a single command. Supports Python 3.6+ on Linux. Try now →
ACTIVESTATE sponsor

Object-Oriented Programming in Python vs Java

Learn about the practical differences in Python vs Java for object-oriented programming. By the end, you’ll be able to apply your knowledge to Python, understand how to reinterpret your understanding of Java objects to Python, and use objects in a Pythonic way.
REAL PYTHON

Accuracy: From Classification to Clustering Evaluation

Accuracy is often used to measure the quality of a classification. It is also used for clustering. However, the scikit-learn accuracy_score function only provides a lower bound of accuracy for clustering. This blog post explains how accuracy should be computed for clustering.
STANISLAS MORBIEU • Shared by Stanislas Morbieu

Python Function Unpacking (*args and **kwargs)

15 quick examples to get a new Python coder comfortable with *args and **kwargs as parameters.
CARLOS BALDERAS • Shared by Carlos Balderas

Evangelizing Python For Business

“Five to 10 years ago, it might have been quite an uphill battle to try to bring Python into your organization to solve your business problems. With the rise of Python’s popularity in the Data Science world, you will have a much smaller hill to climb.”
CHRIS MOFFITT

Dataclasses and Attrs: When and Why

Python 3.7 introduced dataclasses, which design is based on the attrs library. This article shows the way the author uses dataclasses and attrs, why they think you should use both, and why attrs is still very relevant.
FLAVIO CURELLA

Python Chat Tutorial With Django and React

Discover how to build a Python chat application with Django and React using Stream Chat with this in-depth tutorial.
STREAM sponsor

Using Data Validation for Robust APIs

How using schema-based data validation tools can help you write more robust web APIs.
ENZO CALAMIA

An Overview of Python’s Datatable Package

Datatable is a Python library for efficient multi-threaded data processing, with the support for out-of-memory datasets.
PARUL PANDEY

Introduction to Git and GitHub for Python Developers

What is Git, what is GitHub, and what’s the difference? Learn the basics of Git and GitHub from the perspective of a Pythonista in this step-by-step course.
REAL PYTHON video

Production Django Deployments on Heroku

How to simplify the process of deploying, maintaining, and scaling a production-grade Django app on Heroku.
TESTDRIVEN.IO

Projects & Code

Events

PyCon Israel 2019

June 3 to June 6, 2019
PYCON.ORG

Python Miami

June 8 to June 9, 2019
PYTHONDEVELOPERSMIAMI.COM

PyCon CZ 2019

June 14 to June 17, 2019
PYCON.ORG

Dash Conference

July 16–17 in NYC
DASHCON.IO


Happy Pythoning!
This was PyCoder’s Weekly Issue #371.
View in Browser »

alt


[ Subscribe to 🐍 PyCoder’s Weekly 💌 – Get the best Python news, articles, and tutorials delivered to your inbox once a week >> Click here to learn more ]

Planet Python