Python

Python Tips: On Getting Started, Unit Testing and Code Coverage

Python Tips: On Getting Started, Unit Testing and Code Coverage

tl;dr Here is a collection of useful Python tips, a starter “Hello World” Python template for both web (using Flask) and stand-alone script. And additional tips in writing effective Python code, getting started, Unit Tests and using the Coverage tool to improve code. Photo by Fabian Grohs on Unsplash Getting Started - Introducing “Python Hello World” Template Sometimes when we need to get started in Python, we need an easy “Hello World” template that gets us started with all the basics including unit test and coverage reports.

Python humanize time-interval without Arrow or Humanize libraries

Python humanize time-interval without Arrow or Humanize libraries

tl;dr Sometimes when we need to debug functions in Python, we need a way to write some quick timer code to capture the time-delta and to compute the time it took for the function to execute. This article shows you a quick and easy way to humanize a time-interval/time-delta without bringing in additional dependencies or libraries like Arrow or Humanize. Elapsed Time: 2 Days, 5 Hours, 7 Minutes, 13 Seconds Yucel Moral (@yucelmoran) at Unsplash

uvloop - Python replacement for asyncio event loop

uvloop - Python replacement for asyncio event loop

uvloop is a fast, drop-in replacement of the built-in asyncio event loop. uvloop is implemented in Cython and uses libuv under the hood. Benefits: uvloop makes asyncio 2-4x faster. Cons: uvloop is available from PyPI but it requires Python 3.5. (The reason for this is asyncio was introduced in Python 3.4 and above.) Unless your project is based on Python 3.4+ - you may not be able to leverage this library.

Uninstall python eggs that you installed using setup.py

In Python, most libraries are available using the pip install process. But for cases, where you are distributing code to be installed in customer sites where you may or may not have a internet connection to the pip libraries, you resort to the legacy setup.py process. When you install using the setup.py process, the setup.py copies it’s collection of python files to the site-packages folder for your python virtual-environment. On a CentOS, this might be a location under (/usr/lib/python2.

Python pycharm - configuring remote interpreters from Windows to Linux

If you are an avid Python developer, you may all be excited about the new features available in the Pycharm 2.5 release, especially the remote interpreters, virtualenv and setup.py support. You can read more about the new exciting features here. But as I started to tinker with the “remote interpreter” feature - I stumbled upon some challenges and I thought I’d document them for other PyCharm users who might benefit from this blog entry.

Configure static resources in Django - Python

Working on a Django project, one of the first things that one would encounter is configuring Django for static resources such as “css”, “images”, “jpeg” and “js”. In looking at the “StaticResources” link that’s part of the Django documentation, it’s a bit cryptic for someone who’s starting out in Django and Python. So here’s a step-by-step on two ways to configure your static-resources in a Django project. This method is described in the Django documentation and is probably the preferred approach.

How-To Install mod_python and the compile error - apxs:Error: Command failed with rc=65536

Below are my steps to installing mod_python under Apache HTTPD in CentOS 6.2. Download mod_python-3.3.1.tgz or a later version of mod_python available here: http://archive.apache.org/dist/httpd/modpython/ [sourcecode] curl -O http://archive.apache.org/dist/httpd/modpython/mod_python-3.3.1.tgz tar zxvf mod_python-3.3.1.tgz cd mod_python-3.3.1 ./configure make [/sourcecode] You may encounter the following error at this point: apxs:Error: Command failed with rc=65536 If so… no worries… This bug has been addressed here: https://bugzilla.redhat.com/show_bug.cgi?id=465246 Download the patch and (if you can figure out how to patch like I did, I manually opened the file and examined the contents: ` diff -rNu mod_python-3.

How to upgrade to Python 2.7 on CentOS

If you tried upgrading to Python 2.7 on CentOS, you will quickly find out that the RPM’s don’t exist for this in the repos. So here’s a short summary of what I did to upgrade my Python to 2.7 on CentOS. Based on a few Google searches… I discovered that a few dependent packages are required before you try upgrading to Python 2.7. [sourcecode] yum -y groupinstall ‘Development Tools’ yum -y install openssl-devel* ncurses-devel* zlib*.