Whether you are using Python for rapid development, creating a native UI for a Python desktop application, or optimizing existing Python code, the following Python projects should be used.

Python has been widely adopted by industry and academia because of its ease of use. On the other hand, Python’s wealth of third-party projects — libraries, add-ons, and ancillary development efforts — has made the language more widely available.

Some of these projects, such as PyInstaller and WxPython, provide convenience for Python developers who make desktop and terminal applications. Other projects, such as PyPy, are used to provide extra power to server-side Python applications. Others, like PBR, CFFI, and MyPy, are suitable for almost any Python application of any kind, no matter where it runs.

If you’re a Python developer, all six of these projects are worth familiarizing yourself with. And all of these projects have had major new releases in recent weeks.

PyPy for Python

1. What is PyPy mainly used for?


If you need a faster Python application, the easiest way to do it is through the PyPy, Python Run-time real-time (JIT) compiler. Python applications using PyPy run 7.5 times faster on average than normal Python equivalents. Unfortunately, PyPy doesn’t work well with many of Python’s star frameworks. PyPy 5.9 goes a long way towards addressing this issue.

2. Functions of PyPy 5.9

The data science frameworks NumPy and Pandas now run on the Python 2.7 compatible version of PyPy. Most of the problems with these frameworks stem from PyPy’s interface to existing C code. To address this issue, PyPy 5.9 has made improvements to the CFFI library (see below) and PyPy’s Python C API compatibility layer.

In addition, in the 5.9 release, PyPy’s JSON parser is significantly faster at handling multiple JSON objects, especially those that reuse the same dictionary key values.

3. Where to download PyPy 5.9

You can download the binary version directly from PyPy’s website. The official binaries include different CPU architectures for Windows, Mac OS, and Linux. Note that there are different binaries for compatibility with Python 2.7 and Python 3.5, so make sure you are getting the version that matches the script you will be running.

BitBucket has source code and error tracking.

CFFI for Python

1. Where is CFFI mainly used?

The C External Function Interface Library (CFFI) provides a mechanism for Python applications to interact with standalone C libraries. Although the Stock version of Python, CPython, also has its own library for such functions, called Ctypes, CFFI makes interacting with C libraries much easier and simpler for Python users than Ctypes.

2.CFFI 1.11 features

CFFI V1.11, updated with PyPy, adds small but useful changes. Betas is now available on the upcoming Python 3.7, has better support for external error handling on Windows, and supports more modern standard types in C, Examples are float/double _Complex and the char16_t and char_32t types. Last but not least, the C library uses Unicode encoding by default.

3. Where to download CFFI 1.11?

CFFI can be downloaded separately on the Python Package Index, or installed through Python’s PIP tool: PIP install CFFI. The source code and problem tracking are available on BitBucket.

Install PyInstaller to Python

1. Where is PyInstaller mainly used?

One of the most common questions about Python is “How do I generate a stand-alone executable from a Python script?” PyInstaller has always been one of the best answers to this.

2. Features of PyInstaller 3.3

PyInstaller packages Python applications into single-directory or single-file executables, bundles any required third-party libraries, and works with most common libraries and frameworks.

The biggest improvement in PyInstaller 3.3 is support for Python 3.6, as this is really necessary now that Python 3.6 has been released

PyInstaller 3.3 also includes a more widely compatible boot loader for Windows executables and extends support for bundled common libraries such as QT, GTK +, NumPy, and Django.

One feature that PyInstaller may add in the near future is cross-packaging, for example, to create Mac-compatible applications on Windows. You need to run the PyInstaller on the same platform you want to deploy, whether Windows, Mac, or Linux.

3. Where to download PyInstaller 3.3?

PyInstaller can be installed using the Python Package Index or Python’s PIP tool: PIP Install PyInstaller. The source code is available on GitHub for those who need to compile the boot loader themselves, but for most people it’s not necessary.

Reasonableness Python Build Reasonableness

1. What is Python PBR mainly used for?

Setuptools is a standard Python problem subsystem for packaging Python projects. Managing Setuptools for a particular project can become tedious, especially when it comes to automatically generating requirements, managing documentation files, or editing project contributor data.

2.Python PBR functionality

PBR, short for Python Build Reasonableness, is a library used to manage the Setuptools package in a consistent manner. It automates many Setuptools package Settings, such as version numbers, generating author and ChangeLog files, and generating Sphinx-style documents. PBR was originally developed as part of the OpenStack project, but now the maintenance you use in PBR has nothing to do with OpenStack.

3. Where can I download Python PBR?

PBR is found on the Python Package Index and can be installed with PIP by simply typing PIP install PBR. The source code can be downloaded on GitHub.

WxPython

1. What is WxPython mainly used for?

Python developers who want to implement cross-platform desktop applications can choose from multiple toolkits. WxPython, a wrapper around the WxWidgets library, uses native UI elements from the host platforms it supports, including Windows, Mac, Linux, and other Unix-like operating systems.

2.WxPython 4.0 features

Earlier versions of WxPython were abandoned due to traditional design decisions that made it slower and less suitable for use. To address this issue, WxPython developers made major changes to the 4.0 branch of WxPython.

The goal is to allow developers to pick up WxPython faster and make frameworks and applications created through it more high-performance and maintainable. However, in order to use WxPython 4.0, any existing projects that use WxPython will need to be modified.

3. Where can I download WxPython 4.0?

WxPython 4.0 is still officially in beta. It can be found on the Python Package Index via the PIP install wxPython command. It may be updated several times before its official release, so check for updates frequently.

Those who want to hack directly can check out the GitHub codebase. Note that the 4.0 branch of WxPython is labeled “Phoenix” to distinguish it from earlier versions.

Python: Mypy

1. What is Mypy mainly used for?

Python’s dynamism is both a blessing and a curse, great for building software quickly, but not great when code is hard to reason with, test, and debug. Mypy adds static type checking to Python at compile time, making Python programs more consistent and maintainable without adding runtime overhead.

2. Functions of Mypy 0.530

Mypy 0.530 adds support for different protocols that are currently experimental types of functionality for Python subclasses. It also adds “TypedDict” types to dictionaries used only to contain objects of a certain type, and the option to do more rigorous type checking on file by file.