From f0b9ce73c3aa6564207d4e2dbd16d725807c1003 Mon Sep 17 00:00:00 2001 From: topher Date: Wed, 18 Sep 2024 17:26:49 -0400 Subject: [PATCH 01/11] it is time to deprecate python 3.8 --- .github/workflows/build-docs.yml | 4 ++-- .github/workflows/build.yml | 4 ++-- .github/workflows/test.yml | 3 --- README.md | 2 +- docs/README.md | 2 +- docs/source/deprecation.rst | 9 +-------- docs/source/environments/index.rst | 5 ++--- docs/source/getting_started/install.rst | 2 +- docs/source/getting_started/troubleshooting.rst | 4 ++-- docs/source/getting_started/virtualenv.rst | 4 ++-- fiftyone/__init__.py | 15 --------------- package/db/setup.py | 3 +-- package/desktop/setup.py | 3 +-- package/graphql/setup.py | 3 +-- setup.py | 3 +-- 15 files changed, 18 insertions(+), 48 deletions(-) diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index 5b51249a9e2..5bf6420cee0 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -53,10 +53,10 @@ jobs: path: fiftyone-teams token: ${{ secrets.TEAMS_GITHUB_PAT }} ref: main - - name: Set up Python 3.8 + - name: Set up Python 3.9 uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: 3.9 - name: Install pip dependencies run: | pip install --upgrade pip setuptools wheel build diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index be0656cb7dd..0d50d4db023 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,10 +26,10 @@ jobs: uses: actions/checkout@v4 with: submodules: true - - name: Set up Python 3.8 + - name: Set up Python 3.9 uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: 3.9 - name: Install dependencies run: | pip install --upgrade pip setuptools wheel build diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fd2bd379424..7d526bd4927 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,13 +33,10 @@ jobs: - ubuntu-latest-m - windows-latest python: - - "3.8" - "3.9" - "3.10" - "3.11" exclude: - - os: windows-latest - python: "3.8" - os: windows-latest python: "3.9" - os: windows-latest diff --git a/README.md b/README.md index f44e2201a5f..ecf84a1507d 100644 --- a/README.md +++ b/README.md @@ -133,7 +133,7 @@ to make adjustments. If you are working in Google Colab, You will need: -- [Python](https://www.python.org) (3.8 - 3.11) +- [Python](https://www.python.org) (3.9 - 3.11) - [Node.js](https://nodejs.org) - on Linux, we recommend using [nvm](https://github.com/nvm-sh/nvm) to install an up-to-date version. - [Yarn](https://yarnpkg.com) - once Node.js is installed, you can diff --git a/docs/README.md b/docs/README.md index cdf6dfe7592..93947b98bf3 100644 --- a/docs/README.md +++ b/docs/README.md @@ -11,7 +11,7 @@ generate its documentation and API reference from source. In order to build the docs locally, you must: -1. Be running Python 3.8 or 3.9 in a +1. Be running Python 3.9 or 3.10 in a [virtual environment](https://docs.voxel51.com/getting_started/virtualenv.html) 2. Perform a developer install of `fiftyone`: diff --git a/docs/source/deprecation.rst b/docs/source/deprecation.rst index 082a4e8a47e..fa8c7f1315c 100644 --- a/docs/source/deprecation.rst +++ b/docs/source/deprecation.rst @@ -17,15 +17,8 @@ are recommended for the best FiftyOne experience. Python 3.8 ---------- -*Support Ends October 2024* +*Support Ended October 2024* `Python 3.8 `_ transitions to `end-of-life` effective October of 2024. FiftyOne releases after September 30, 2024 will no longer support Python 3.8. - -Versions of `fiftyone` after 0.24.1, or after FiftyOne Teams SDK version 0.18.0, -will provide a deprecation notice when `fiftyone` is imported using Python 3.8. - -You can disable this deprecation notice by setting the -`FIFTYONE_PYTHON_38_DEPRECATION_NOTICE` environment variable to `false` prior -to importing `fiftyone`. diff --git a/docs/source/environments/index.rst b/docs/source/environments/index.rst index e8336b9a09c..e4c28a3ec4e 100644 --- a/docs/source/environments/index.rst +++ b/docs/source/environments/index.rst @@ -415,14 +415,13 @@ Next, build the image: docker build -t voxel51/fiftyone . -The default image uses Ubuntu 20.04 and Python 3.8, but you can customize these +The default image uses Python 3.11, but you can customize these via optional build arguments: .. code:: shell docker build \ - --build-arg BASE_IMAGE=ubuntu:18.04 \ - --build-arg PYTHON_VERSION=3.9 \ + --build-arg PYTHON_VERSION=3.10 \ -t voxel51/fiftyone . Refer to the diff --git a/docs/source/getting_started/install.rst b/docs/source/getting_started/install.rst index dadb59c4d24..9419d0d8c9f 100644 --- a/docs/source/getting_started/install.rst +++ b/docs/source/getting_started/install.rst @@ -20,7 +20,7 @@ Prerequisites ------------- You will need a working Python installation. FiftyOne currently requires -**Python 3.8 - 3.11** +**Python 3.9 - 3.11** On Linux, we recommend installing Python through your system package manager diff --git a/docs/source/getting_started/troubleshooting.rst b/docs/source/getting_started/troubleshooting.rst index bc9b2a7552e..5e18e71b6ef 100644 --- a/docs/source/getting_started/troubleshooting.rst +++ b/docs/source/getting_started/troubleshooting.rst @@ -44,9 +44,9 @@ old, you may encounter errors like these: .. code-block:: text - fiftyone requires Python '>=3.8' but the running Python is 3.4.10 + fiftyone requires Python '>=3.9' but the running Python is 3.4.10 -To resolve this, you will need to use Python 3.8 or newer, and pip 19.3 or +To resolve this, you will need to use Python 3.9 or newer, and pip 19.3 or newer. See the :ref:`installation guide ` for details. If you have installed a suitable version of Python in a virtual environment and still encounter this error, ensure that the virtual environment is activated. diff --git a/docs/source/getting_started/virtualenv.rst b/docs/source/getting_started/virtualenv.rst index 0610fc3a49d..c94b256d511 100644 --- a/docs/source/getting_started/virtualenv.rst +++ b/docs/source/getting_started/virtualenv.rst @@ -26,7 +26,7 @@ these commands: $ python --version Python 2.7.17 $ python3 --version - Python 3.8.9 + Python 3.9.20 In this case, `python3` should be used in the next step. @@ -71,7 +71,7 @@ of this guide. For example: .. code-block:: text $ python --version - Python 3.8.3 + Python 3.9.20 Also note that `python` and `pip` live inside the `env` folder (in this output, the path to the current folder is replaced with `...`): diff --git a/fiftyone/__init__.py b/fiftyone/__init__.py index e116eb9356b..62b14a882ed 100644 --- a/fiftyone/__init__.py +++ b/fiftyone/__init__.py @@ -16,21 +16,6 @@ logger = logging.getLogger(__name__) -# Python 3.8 goes EoL in October, 2024 -# We should tell folks we won't support those Python versions after 9/24 - -PYTHON_38_NOTICE = getenv( - 'FIFTYONE_PYTHON_38_DEPRECATION_NOTICE', "True" -) == "True" - -if hexversion < 0x30900f0 and hexversion >= 0x30800f0 and PYTHON_38_NOTICE: - logger.warning("***Python 3.8 Deprecation Notice***") - logger.warning("Python 3.8 will no longer be supported in new releases" - " after October 1, 2024.") - logger.warning("Please upgrade to Python 3.9 or later.") - logger.warning("For additional details please see" - " https://deprecation.voxel51.com") - # # This statement allows multiple `fiftyone.XXX` packages to be installed in the # same environment and used simultaneously. diff --git a/package/db/setup.py b/package/db/setup.py index 882ac09860f..46da6d29262 100644 --- a/package/db/setup.py +++ b/package/db/setup.py @@ -320,11 +320,10 @@ def write_wheelfile(self, *args, **kwargs): "Operating System :: POSIX :: Linux", "Operating System :: Microsoft :: Windows", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", ], - python_requires=">=3.8", + python_requires=">=3.9", cmdclass=cmdclass, ) diff --git a/package/desktop/setup.py b/package/desktop/setup.py index 232adcfb993..9e3ab888919 100644 --- a/package/desktop/setup.py +++ b/package/desktop/setup.py @@ -187,11 +187,10 @@ def write_wheelfile(self, *args, **kwargs): "Operating System :: POSIX :: Linux", "Operating System :: Microsoft :: Windows", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", ], - python_requires=">=3.8", + python_requires=">=3.9", cmdclass=cmdclass, ) diff --git a/package/graphql/setup.py b/package/graphql/setup.py index af318c32eab..528242a258a 100644 --- a/package/graphql/setup.py +++ b/package/graphql/setup.py @@ -52,10 +52,9 @@ def get_version(): "Operating System :: POSIX :: Linux", "Operating System :: Microsoft :: Windows", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", ], - python_requires=">=3.8", + python_requires=">=3.9", ) diff --git a/setup.py b/setup.py index e1a825f8beb..f5bc265a825 100644 --- a/setup.py +++ b/setup.py @@ -150,11 +150,10 @@ def get_install_requirements(install_requires, choose_install_requires): "Operating System :: POSIX :: Linux", "Operating System :: Microsoft :: Windows", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", ], entry_points={"console_scripts": ["fiftyone=fiftyone.core.cli:main"]}, - python_requires=">=3.8", + python_requires=">=3.9", ) From 921b6d8ca832204f4101790c3f5e9b6fcff3666b Mon Sep 17 00:00:00 2001 From: topher Date: Wed, 18 Sep 2024 17:51:40 -0400 Subject: [PATCH 02/11] pymongo fix --- requirements/common.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/common.txt b/requirements/common.txt index f0555bad87f..ee6a2d44cfc 100644 --- a/requirements/common.txt +++ b/requirements/common.txt @@ -16,7 +16,7 @@ pandas>=1.3 plotly==5.17.0 pprintpp==0.4.0 psutil>=5.7.0 -pymongo>=3.12 +pymongo>=3.12,<4.9 pydantic==2.6.4 pytz==2022.1 PyYAML==6.0.1 From 04fb23c3bc587736addae732f8e324b405ce2cc8 Mon Sep 17 00:00:00 2001 From: topher Date: Thu, 19 Sep 2024 10:14:14 -0400 Subject: [PATCH 03/11] Update docs/README.md Co-authored-by: Benjamin Kane --- docs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index 93947b98bf3..1093b47bcbd 100644 --- a/docs/README.md +++ b/docs/README.md @@ -11,7 +11,7 @@ generate its documentation and API reference from source. In order to build the docs locally, you must: -1. Be running Python 3.9 or 3.10 in a +1. Be running Python 3.9 in a [virtual environment](https://docs.voxel51.com/getting_started/virtualenv.html) 2. Perform a developer install of `fiftyone`: From 8fc8e2df7ca6054d8fcf8a2a58b6b742bcab86ed Mon Sep 17 00:00:00 2001 From: topher Date: Thu, 19 Sep 2024 10:40:41 -0400 Subject: [PATCH 04/11] an attempt to fix Sphinx docs --- requirements/docs.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements/docs.txt b/requirements/docs.txt index a14bafa345e..ccbc44922fa 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -11,3 +11,4 @@ sphinx-tabs==1.2.1 Sphinx==3.5.4 sphinxcontrib-napoleon==0.7 sphinx-copybutton==0.4.0 +sphinxcontrib-applehelp==1.0.4 From 319d6c5ffeb7d88b9ca64386a9613e61c269c937 Mon Sep 17 00:00:00 2001 From: topher Date: Thu, 19 Sep 2024 11:03:34 -0400 Subject: [PATCH 05/11] bump db version to reflect package changes --- package/db/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/db/setup.py b/package/db/setup.py index 46da6d29262..8297b720ad8 100644 --- a/package/db/setup.py +++ b/package/db/setup.py @@ -165,7 +165,7 @@ def _get_download(): MONGODB_BINARIES = ["mongod"] -VERSION = "1.1.5" +VERSION = "1.1.6" def get_version(): From 13ddeead183f5b0591e7949bc9ac0e39881095f8 Mon Sep 17 00:00:00 2001 From: topher Date: Thu, 19 Sep 2024 12:58:21 -0400 Subject: [PATCH 06/11] more sphinx pins --- requirements/docs.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements/docs.txt b/requirements/docs.txt index ccbc44922fa..54ebea7a667 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -9,6 +9,7 @@ myst-parser==0.13.7 nbsphinx==0.8.8 sphinx-tabs==1.2.1 Sphinx==3.5.4 -sphinxcontrib-napoleon==0.7 sphinx-copybutton==0.4.0 sphinxcontrib-applehelp==1.0.4 +sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-napoleon==0.7 From 71c80173d40af5cfccdef25ff055aeac6e2aefec Mon Sep 17 00:00:00 2001 From: topher Date: Thu, 19 Sep 2024 13:06:53 -0400 Subject: [PATCH 07/11] address db tests --- .github/workflows/build-db.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-db.yml b/.github/workflows/build-db.yml index e85b5dfac86..86273f5c829 100644 --- a/.github/workflows/build-db.yml +++ b/.github/workflows/build-db.yml @@ -78,7 +78,7 @@ jobs: path: package/db/dist/*.whl test: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest needs: build env: FIFTYONE_DO_NOT_TRACK: true @@ -90,16 +90,20 @@ jobs: with: name: dist-sdist path: downloads + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: 3.9 - name: Install fiftyone-db run: | - pip3 install downloads/fiftyone_db-*.tar.gz + pip install downloads/fiftyone_db-*.tar.gz - name: Install test dependencies run: | - pip3 install pytest + pip install pytest - name: Run tests run: | cd package/db/ - python3 -m pytest --verbose tests/ + python -m pytest --verbose tests/ publish: runs-on: ubuntu-latest From 72adc0c33159aa4a56a794160996267878578479 Mon Sep 17 00:00:00 2001 From: topher Date: Thu, 19 Sep 2024 13:34:52 -0400 Subject: [PATCH 08/11] more sphinx fixes --- requirements/docs.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements/docs.txt b/requirements/docs.txt index 54ebea7a667..a3cf457b959 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -12,4 +12,5 @@ Sphinx==3.5.4 sphinx-copybutton==0.4.0 sphinxcontrib-applehelp==1.0.4 sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-htmlhelp==2.0.6 sphinxcontrib-napoleon==0.7 From c96d10a39bb423655d4900be6bdd67c73e1cd380 Mon Sep 17 00:00:00 2001 From: topher Date: Thu, 19 Sep 2024 13:49:34 -0400 Subject: [PATCH 09/11] even older sphinx plugins! --- requirements/docs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/docs.txt b/requirements/docs.txt index a3cf457b959..58f4eced7d6 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -12,5 +12,5 @@ Sphinx==3.5.4 sphinx-copybutton==0.4.0 sphinxcontrib-applehelp==1.0.4 sphinxcontrib-devhelp==1.0.2 -sphinxcontrib-htmlhelp==2.0.6 +sphinxcontrib-htmlhelp==2.0.1 sphinxcontrib-napoleon==0.7 From 245f5c749e6f632a60bf4018efaa3880c9380799 Mon Sep 17 00:00:00 2001 From: topher Date: Thu, 19 Sep 2024 15:06:28 -0400 Subject: [PATCH 10/11] sphinxcontrib.serializinghtml pin --- requirements/docs.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements/docs.txt b/requirements/docs.txt index 58f4eced7d6..d106c52cf26 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -14,3 +14,4 @@ sphinxcontrib-applehelp==1.0.4 sphinxcontrib-devhelp==1.0.2 sphinxcontrib-htmlhelp==2.0.1 sphinxcontrib-napoleon==0.7 +sphinxcontrib-serializinghtml==1.1.5 From f61995c8dc4249977c1631fde7704c522d2d210e Mon Sep 17 00:00:00 2001 From: topher Date: Thu, 19 Sep 2024 15:36:27 -0400 Subject: [PATCH 11/11] sphinxcontrib-qthelp pin --- requirements/docs.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements/docs.txt b/requirements/docs.txt index d106c52cf26..594d6a9014c 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -14,4 +14,5 @@ sphinxcontrib-applehelp==1.0.4 sphinxcontrib-devhelp==1.0.2 sphinxcontrib-htmlhelp==2.0.1 sphinxcontrib-napoleon==0.7 +sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.5