diff --git a/.evergreen/config.yml b/.evergreen/config.yml index cd1b79d73..4d4bc3de0 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -921,10 +921,6 @@ axes: display_name: "Python 2.7" variables: PYTHON_BINARY: "/opt/python/2.7/bin/python" - - id: "3.3" - display_name: "Python 3.3" - variables: - PYTHON_BINARY: "/opt/python/3.3/bin/python3" - id: "3.4" display_name: "Python 3.4" variables: @@ -1002,10 +998,6 @@ axes: - id: windows-vs2010-python-version display_name: "Windows Visual Studio 2010 Python" values: - - id: "3.3" - display_name: "Python 3.3" - variables: - PYTHON_BINARY: "/cygdrive/c/python/Python33/python.exe" - id: "3.4" display_name: "Python 3.4" variables: @@ -1151,7 +1143,7 @@ buildvariants: - ".3.0" - ".2.6" -# Test CPython 3.3 and 3.4 against all versions on MongoDB >= 2.6 +# Test CPython 3.4 against all versions on MongoDB >= 2.6 # on Windows with Visual Studio 2010. - matrix_name: "tests-windows-vs2010-python-version-nossl" matrix_spec: {windows-vs2010-python-version: "*", auth: "*", ssl: "*"} @@ -1220,9 +1212,9 @@ buildvariants: - name: "test-enterprise-auth" - matrix_name: "tests-mod-wsgi" - matrix_spec: {"python-version": ["2.6", "2.7", "3.3", "3.6"], "mod-wsgi-version": "*"} + matrix_spec: {"python-version": ["2.6", "2.7", "3.4", "3.6"], "mod-wsgi-version": "*"} exclude_spec: - python-version: ["3.3", "3.6"] + python-version: ["3.4", "3.6"] mod-wsgi-version: ["2.8"] display_name: "${mod-wsgi-version} ${python-version}" run_on: ubuntu1204-test diff --git a/.travis.yml b/.travis.yml index 467fce0a5..c69b99b78 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,6 @@ language: python python: - 2.6 - 2.7 - - 3.3 - 3.4 - 3.5 - 3.6 diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 21b814dd4..b75713638 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -19,7 +19,7 @@ that might not be of interest or that has already been addressed. Supported Interpreters ---------------------- -PyMongo supports CPython 2.6, 2.7, 3.3+, PyPy, and PyPy3. Language +PyMongo supports CPython 2.6, 2.7, 3.4+, PyPy, and PyPy3. Language features not supported by all interpreters can not be used. Style Guide diff --git a/README.rst b/README.rst index 70e8d08d7..c5578386d 100644 --- a/README.rst +++ b/README.rst @@ -88,7 +88,7 @@ with PyMongo. Dependencies ============ -PyMongo supports CPython 2.6, 2.7, 3.3+, PyPy, and PyPy3. +PyMongo supports CPython 2.6, 2.7, 3.4+, PyPy, and PyPy3. Optional dependencies for GSSAPI and TLS: diff --git a/doc/changelog.rst b/doc/changelog.rst index 3e142ba1d..c68ccd177 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -8,6 +8,9 @@ This version drops support for MongoDB versions older than 2.6. If connecting to a MongoDB 2.4 server or older, PyMongo now throws a :exc:`~pymongo.errors.ConfigurationError`. +.. warning:: This version drops support for CPython 3.3 (pypy3 continues to + be supported). + Highlights include: - New Session API, see :meth:`~pymongo.mongo_client.MongoClient.start_session`. diff --git a/doc/faq.rst b/doc/faq.rst index 816812969..f12d255d6 100644 --- a/doc/faq.rst +++ b/doc/faq.rst @@ -128,7 +128,7 @@ they are returned to the pool. Does PyMongo support Python 3? ------------------------------ -PyMongo supports CPython 3.3+ and PyPy3. See the :doc:`python3` for details. +PyMongo supports CPython 3.4+ and PyPy3. See the :doc:`python3` for details. Does PyMongo support asynchronous frameworks like Gevent, asyncio, Tornado, or Twisted? --------------------------------------------------------------------------------------- diff --git a/doc/installation.rst b/doc/installation.rst index b77bdd9a8..569edfb85 100644 --- a/doc/installation.rst +++ b/doc/installation.rst @@ -45,7 +45,7 @@ To upgrade do:: Dependencies ------------ -PyMongo supports CPython 2.6, 2.7, 3.3+, PyPy, and PyPy3. +PyMongo supports CPython 2.6, 2.7, 3.4+, PyPy, and PyPy3. Optional dependencies for GSSAPI and TLS: @@ -133,7 +133,7 @@ See `http://bugs.python.org/issue11623 `_ for a more detailed explanation. **Lion (10.7) and newer** - PyMongo's C extensions can be built against -versions of Python 2.7 >= 2.7.4 or Python 3.3+ downloaded from +versions of Python 2.7 >= 2.7.4 or Python 3.4+ downloaded from python.org. In all cases Xcode must be installed with 'UNIX Development Support'. @@ -167,7 +167,7 @@ requirements apply to both CPython and ActiveState's ActivePython: 64-bit Windows ~~~~~~~~~~~~~~ -For Python 3.5 and newer install Visual Studio 2015. For Python 3.3 and 3.4 +For Python 3.5 and newer install Visual Studio 2015. For Python 3.4 install Visual Studio 2010. For Python 2.6 and 2.7 install Visual Studio 2008, or the Microsoft Visual C++ Compiler for Python 2.7. You must use the full version of Visual Studio 2010 or 2008 as Visual C++ Express does not @@ -179,7 +179,7 @@ Tools" option under Visual C++. For Python 3.5 and newer install Visual Studio 2015. -For Python 3.3 and 3.4 install Visual C++ 2010 Express. +For Python 3.4 install Visual C++ 2010 Express. For Python 2.6 and 2.7 install Visual C++ 2008 Express SP1. diff --git a/doc/python3.rst b/doc/python3.rst index 593c93501..62c817f65 100644 --- a/doc/python3.rst +++ b/doc/python3.rst @@ -6,7 +6,7 @@ Python 3 FAQ What Python 3 versions are supported? ------------------------------------- -PyMongo supports CPython 3.3+ and PyPy3. +PyMongo supports CPython 3.4+ and PyPy3. Are there any PyMongo behavior changes with Python 3? ----------------------------------------------------- @@ -20,7 +20,7 @@ with subtype 0. For example, let's insert a :class:`bytes` instance using Python 3 then read it back. Notice the byte string is decoded back to :class:`bytes`:: - Python 3.3.5 (default, Apr 29 2016, 11:04:32) + Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04) [GCC 4.9.3] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import pymongo @@ -86,7 +86,7 @@ Python 3 you must pass ``encoding='latin-1'`` to pickle.loads:: >>> pickle.dumps(oid) 'ccopy_reg\n_reconstructor\np0\n(cbson.objectid\...' - Python 3.3.5 (default, Apr 29 2016, 11:04:32) + Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04) [GCC 4.9.3] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import pickle @@ -97,7 +97,7 @@ Python 3 you must pass ``encoding='latin-1'`` to pickle.loads:: If you need to pickle ObjectIds using Python 3 and unpickle them using Python 2 you must use ``protocol <= 2``:: - Python 3.3.5 (default, Apr 29 2016, 11:04:32) + Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04) [GCC 4.9.3] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import pickle diff --git a/setup.py b/setup.py index 3a41ce939..b01552cb3 100755 --- a/setup.py +++ b/setup.py @@ -380,7 +380,6 @@ setup( "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6",