Supported Python Versions
=========================

Currently Supported Python Versions
-----------------------------------

Libcloud from v3.0.0 and above supports CPython 3.5, 3.6, 3.7, 3.8 and PyPy 3.

Those are also the versions we continuously run our tests with on Travis CI
(https://travis-ci.org/apache/libcloud).

Python 2.7 and Python 3.4
-------------------------

Support for CPython 2.7, CPython 3.4 and PyPy 2 was dropped in Libcloud v3.0.0.

If you still need to use Libcloud with one of those versions, you can use
Libcloud v2.8.0 which is the last release which supports those Python
versions.

Older Python Versions
---------------------

Support for Python 2.4 has been dropped in Libcloud 0.4.0, Python 2.5 in 2016
and Python 2.6 and 3.3 in Libcloud 2.3.0 in 2018.

Keep in mind that those Libcloud versions are now very old and out of date and
shouldn't be used.
