Python Icon

Python

Python is a dynamically typed programming language.
143 Stories
All Topics

Google github.com

Using Google's speech recognition to beat Google's ReCaptcha

A little ingenuity paired with changes to ReCaptcha’s audio challenge allowed this hacker to create a Python ‘robot’ that defeats the ‘not a robot’ test with 90% accuracy. The approach is brilliant: Navigate to Google’s ReCaptcha Demo site Navigate to audio challenge for ReCaptcha Download audio challenge Submit audio challenge to Speech To Text Parse response and type answer Press submit and check if successful The code is small enough to grok in 5-10 minutes. Love it!

read more

Brett Cannon snarky.ca

An update on Python's governance

We’ve been following along as the Python community figures out how to live that post-BDFL life. We’ll do a show on the subject once the dust to settles. In the meantime, here’s Brett Cannon on what they’ve figured out so far: In the end PEP 8016, the steering council proposal, won. The details of the vote are available, but the key thing is that the PEP clearly won no matter what way you calculated the winner and it was a decisive win against second place. Read Brett’s entire piece to really wrap your head around things. Nominations for the steering council start on January 7th with voting to follow on the 21st.

read more

TensorFlow cvcompiler.com

An NLP tool for improving dev resumes

CV Compiler is an online resume analysis tool designed exclusively for software engineers. The review technology scans for keywords from the world of programming and how they are used in the resume, relative to the best practices in the industry. CV Compiler was built using Python with libraries NLTK and spaCy for tokenization, lemmatization, and POS-tagging. The internal analysis engine for large datasets (resumes, job descriptions) was built upon a Seq2Seq model in TensorFlow.

read more

Python github.com

Social Amnesia is the Men in Black's neuralyzer for your social media accounts

For many people, there is no reason they want to have years old tweets or reddit comments existing and making it easier for online marketers and jilted ex-lovers to profile you. Set the time period you want to keep, whitelist stuff you want to preserve indefinitely, and let Social Amnesia wipe the rest out of memory, MIB-style.

read more

Command line interface github.com

Run SQL directly on CSV or TSV files

q is a command line tool that allows direct execution of SQL-like queries on CSVs/TSVs (and any other tabular text files). q treats ordinary files as database tables, and supports all SQL constructs, such as WHERE, GROUP BY, JOINs etc. It supports automatic column name and column type detection, and provides full support for multiple encodings. An example of using q to count distinct values of a specific field (uuid of clicks data) q -H -t "SELECT COUNT(DISTINCT(uuid)) FROM ./clicks.csv"

read more

Claudio github.com

Pampy – pattern matching for Python

Pampy is pretty small (150 lines), reasonably fast, and often makes your code more readable, and easier to reason about. Pattern matching is the feature in Elixir that I miss when using other languages, so it’s awesome to see it brought to Python. Here’s an example of Pampy in action as a Lisp calculator (from the readme): from pampy import match, REST, _ def lisp(exp): return match(exp, int, lambda x: x, callable, lambda x: x, (callable, REST), lambda f, rest: f(*map(lisp, rest)), tuple, lambda t: list(map(lisp, t)), ) plus = lambda a, b: a + b minus = lambda a, b: a - b from functools import reduce lisp((plus, 1, 2)) # => 3 lisp((plus, 1, (minus, 4, 2))) # => 3 lisp((reduce, plus, (range, 10))) # => 45

read more

Python github.com

An experimental code editor for writing algorithms

Algojammer is heavily inspired by (stolen from) the work of Bret Victor, particularly Learnable Programming (2012) and Inventing On Principle (2012), although it only incorporates some of the ideas presented. A longer list of other influences and similar projects is given in Inspiration. If you’ve never heard/seen Bret Victor’s work, do yourself a favor and click all of those links above.

read more

The Changelog The Changelog #318

A call for kindness in open source

Adam and Jerod talk to Brett Cannon, core contributor to Python and a fantastic representative of the Python community. They talked through various details surrounding a talk and blog post he wrote titled “Setting expectations for open source participation” and covered questions like: What is the the purpose of open source? How do you sustain open source? And what’s the goal? They even talked through typical scenarios in open source and how kindness and recognizing that there’s a human on the other end of every action can really go a long way.

read more

0:00 / 0:00