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

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

Libcloud v3.5.0 and above supports CPython >= 3.6 and PyPy >= 3.6.

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

Python Python 3.5
-----------------

Support for CPython 3.5 was dropped in Libcloud v3.5.0.

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

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.
