#161 - Decorator Pattern vs wrapt, Predicting Starting Pitcher Salaries, Jupyter Notebook tricks and
From ImportPython Blog

by Ankur Gupta

Worthy Read

GoCD is a Continuous Delivery tool allowing you to model, orchestrate, and visualize complex workflows. Our enterprise offering provides plugins and professional support to help your scale CD in your organization. Check out GoCD’s enterprise features and performance upgrades now!
advert

Brandon Rhodes published a post today about the Decorator Pattern and how that translates into Python. He explains the manual way that the pattern can be implemented in Python as a wrapper, as well as how you can try to minimise the amount of work you need to do by overriding special methods of a Python object. The wrapt package I authored was purpose built for this task of creating wrappers which Brandon describes, and much more. To avoid some of the name confusion around Decorator Pattern versus Python decorators, which Brandon highlights as an issue, I tend to refer to the wrappers as transparent object proxies.
wrapt

Today’s post focuses on applying linear regression techniques to a less-than-ideal dataset. In order to do so, I need a scenario from which to work. As of this writing, the MLB free agent signing period (or ‘Hot Stove’ as it is affectionately named) is in full effect. Therefore, I chose the following problem statement as my challenge: my client, a professional baseball team, is interested in offering a contract to a free agent starting pitcher and wants a recommendation for the annual salary it should propose. Now that I have my problem, I can begin working on the answer!
data science
,
jupyter

Or how to run Headless Chrome on AWS Lambda together with Python, Selenium and Chromedriver
Selenium
,
lamda
,
chromedriver

MoviePy (full documentation) is a Python library for video editing: cutting, concatenations, title insertions, video compositing (a.k.a. non-linear editing), video processing, and creation of custom effects. See the gallery for some examples of use.
video

You already know the longer it takes to detect a problem, the more expensive it is to resolve. Your testing needs to happen earlier in the development pipeline while taking into account all aspects of privacy, security and monitoring. Read the 4-part eBook to learn how to detect problems earlier in your DevOps testing processes by.
advert
,
devops

The problem was, once we change something in the CSS/JS, that change was not getting reflected on the client side and browser was taking the old files from the cache. To avoid this, we needed a mechanism to refresh the cache once anything has changed in the CSS/JS. The obvious approach was to change the name or attach a version number to a CSS file each time we make a change. But we wanted this process to be automated so we came across Django-compressor.
django

Python 3.4 introduced a new standard library for dealing with files and paths called pathlib?—?and it’s great!
core-python

jupyter

In my previous post on the new open source Python Bounter library we discussed how we can use its HashTable to quickly count approximate item frequencies in very large item sequences. Now we turn our attention to the second algorithm in Bounter, CountMinSketch (CMS), which is also optimized in C for top performance.
counter

Learn how to create PDFs using the popular Python programming language and the ReportLab toolkit. Kickstarter campaign.
kickstarter

A Python application that sync Github Gists and save them to Evernote notebook as screenshots.
project
,
gist
,
evernote

The main goal of this reading is to understand enough statistical methodology to be able to leverage the machine learning algorithms in Python’s scikit-learn library and then apply this knowledge to solve a classic machine learning problem. The first stop of our journey will take us through a brief history of machine learning. Then we will dive into different algorithms. On our final stop, we will use what we learned to solve the Titanic Survival Rate Prediction Problem.
machine learning

So the context is this; a zip file is uploaded into a web service and Python then needs extract that and analyze and deal with each file within. In this particular application what it does is that it looks at the file's individual name and size, compares that to what has already been uploaded in AWS S3 and if the file is believed to be different or new, it gets uploaded to AWS S3.
code snippet
,
zip


Projects

minigo - 1201 Stars, 83 Fork
An open-source implementation of the AlphaGoZero algorithm.

captivox - 47 Stars, 3 Fork
cool animations with pyqt5 and parametrics

cryptoCMD - 37 Stars, 3 Fork
Cryptocurrency historical market price data scraper in Python

tinfoleak - 28 Stars, 2 Fork
The most complete open-source tool for Twitter intelligence analysis.

Rust_Api_Generator - 21 Stars, 0 Fork
a toolset for autogenerating rust APIs and translating structs.

invoiceless - 18 Stars, 1 Fork
Serverless backend for sending simple recurring invoices.

python-patterns - 14 Stars, 0 Fork
Source code behind the python-patterns.guide site by Brandon Rhodes.

django_social_pill - 7 Stars, 3 Fork
Django Social Pill offers convenience tools for routine tasks concerning social authentication.

django_binance_trader - 6 Stars, 0 Fork
Automated trading bot for Binance.

vc-crypt - 4 Stars, 0 Fork
A simple python script with zero dependencies that can be used to encrypt/decrypt secret credentials (API secret keys, HTTP passwords, etc.) using a password to be able to safely put them under version control.

python3_with_pleasure - 0 Stars, 0 Fork
A short guide on features of Python 3 for data scientists.


Ankur has coded and deployed numerous Python software over the last 10 years, at three venture funded startup and a fortune 10 company. He currently heads Numerate Labs. ImportPython is his side project with Python being his go to programming language.

Blog Categories