Announcing:

Everyday Superpowers

A guide to the everyday secrets python developers use to create more successful projects.

Learn how to confidently develop projects that automatically prevent common issues, have easier deployments, and are available for collaboration.

Testing

Python is a great language to learn.

Its syntax and emphasis on code readability makes it easy to understand what’s going on. The standard library is a good friend, who helps you get things done. The rich ecosystem gives you amazing capabilities with a few easy installs.

But with so much emphasis on these great features, most python developers don’t get exposed to some of the simple core concepts that make it easier to build and maintain your project.

I’ve been working in python since 2007, and since the beginning, I’ve had nagging questions floating around in my head:

  • “Am I doing this right?”
  • “Is there a better way I should set up this project?”
  • “What does setup.py do?”
  • “Aren’t there better ways to work with dependencies?”
  • “How do I even begin testing my code?”

I started learning tricks and collecting notes about python that I found along the way. Recently, I presented some of them at the PyRVA user group. I was blown away by the positive response. Clearly, many others related to my struggles. It also convinced me to package the ideas into this book.

“I didn’t get a chance to say yet, your talk was really helpful! It inspired me to make my next python project into a python package and to try out test-driven development.” —Thomas Loeber, Data Analyst

Do you enjoying building python projects that power websites or run on other people’s computers? Then spend hours surprised by errors that appeared in production but never appeared in development?

How about during development, have you wondered if you could make it easier to run your own code and helper scripts without having to learn and depend on a new framework?

I’ve learned a ton about making python projects easier to work on and reducing the number or surprises when it comes time to deploy your code.

This short book is the collection of some best practices, insights, and workflows that I wish someone would have shared with me years ago, as well as a review of some the newest tools worth considering.

As such, this book will benefit python coders who are:

  • early in their python journey, creating their first multi-file projects
  • intermediate developers, looking for a collection of best practices to skip over a ton of annoying bugs
  • web developers, who want a simple way to call their python code from the command line, as well as simpler and more consistant deploys
  • Django developers, who want to use manage.py from anywhere in their project
  • data scientists, migrating their work from jupyter notebooks for use in a standard python project
  • project leaders who want an easy way to onboard new developers

The book will cover a number of topics and tools, including:

  • Virtual environment creation and enhancements
  • Creating your own command line scripts without additional dependencies
  • Dependency management workflow and tools
  • Strategies to better test your code (or start testing your code)

All this is compiled into one easy to digest collection that will change the way you organize your python projects and give you more confidence about your code.

Testing

About me

My name is Chris May. I’ve been using python since 2007 while serving the clients of creative agencies and custom software shops. In that time, I’ve used python to create many websites (using django, flask, pyramid, and other frameworks), created custom tools, and explored analytics. Today, I’m also a resident python expert, helping teams of data scientists, programmers, and project managers transition over to python.

I’ve enjoyed python so much that I co-founded PyRVA, the local python user group in Richmond, VA to help others on their journey.

And I look forward to helping you on yours.