diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ecf98c9..8e009b4d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,18 +10,19 @@ jobs: # https://github.com/actions/python-versions/blob/main/versions-manifest.json strategy: matrix: - os: [macos-latest, windows-latest] - python-version: [2.7, 3.5, 3.6, 3.7, 3.8, pypy-2.7, pypy-3.7] - exclude: - - os: windows-latest - python-version: 3.6 + os: [macos-13, windows-2022, ubuntu-22.04] + python-version: [3.8, 3.9, "3.10", 3.11, 3.12] include: - - os: ubuntu-latest - python-version: 3.7 + - os: ubuntu-22.04 + python-version: pypy-3.9 + - os: ubuntu-22.04 + python-version: pypy-3.10 + - os: macos-14 # apple silicon + python-version: "3.10" steps: - uses: actions/checkout@v2 - name: Setup Python environment - uses: actions/setup-python@v2.2.2 + uses: actions/setup-python@v2.3.4 with: python-version: ${{ matrix.python-version }} - name: Install Requirements @@ -38,13 +39,13 @@ jobs: run: | pytest test/unit/test_dropbox_unit.py Docs: - runs-on: macos-latest + runs-on: macos-13 steps: - uses: actions/checkout@v2 - name: Setup Python environment - uses: actions/setup-python@v2.2.2 + uses: actions/setup-python@v2.3.4 with: - python-version: '3.7' + python-version: '3.8' - name: Install Requirements run: | python -m pip install --upgrade pip @@ -64,18 +65,19 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [macos-latest, windows-latest] - python-version: [2.7, 3.5, 3.6, 3.7, 3.8, pypy-2.7, pypy-3.7] - exclude: - - os: windows-latest - python-version: 3.6 - include: - - os: ubuntu-latest - python-version: 3.7 - steps: + os: [macos-13, windows-2022, ubuntu-22.04] + python-version: [3.8, 3.9, "3.10", 3.11, 3.12] + include: + - os: ubuntu-22.04 + python-version: pypy-3.9 + - os: ubuntu-22.04 + python-version: pypy-3.10 + - os: macos-14 # apple silicon + python-version: "3.10" + steps: - uses: actions/checkout@v2.3.4 - name: Setup Python environment - uses: actions/setup-python@v2.2.2 + uses: actions/setup-python@v2.3.4 with: python-version: ${{ matrix.python-version }} - name: Install Requirements @@ -101,4 +103,4 @@ jobs: SCOPED_TEAM_REFRESH_TOKEN: ${{ secrets.SCOPED_TEAM_REFRESH_TOKEN }} DROPBOX_SHARED_LINK: ${{ secrets.DROPBOX_SHARED_LINK }} run: | - pytest test/integration/test_dropbox.py \ No newline at end of file + pytest test/integration/test_dropbox.py diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 87cf19d1..356ef859 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -9,13 +9,13 @@ on: jobs: Coverage: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v2 - name: Setup Python environment - uses: actions/setup-python@v2.2.2 + uses: actions/setup-python@v2.3.4 with: - python-version: '3.7' + python-version: '3.8' - name: Install Requirements run: | python -m pip install --upgrade pip @@ -33,13 +33,13 @@ jobs: flags: unit fail_ci_if_error: true IntegrationCoverage: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v2 - name: Setup Python environment - uses: actions/setup-python@v2.2.2 + uses: actions/setup-python@v2.3.4 with: - python-version: '3.7' + python-version: '3.8' - name: Install Requirements run: | python -m pip install --upgrade pip @@ -69,4 +69,4 @@ jobs: uses: codecov/codecov-action@v1.3.2 with: flags: integration - fail_ci_if_error: true \ No newline at end of file + fail_ci_if_error: true diff --git a/.github/workflows/pypiupload.yml b/.github/workflows/pypiupload.yml index 3c7f1675..d1d228c9 100644 --- a/.github/workflows/pypiupload.yml +++ b/.github/workflows/pypiupload.yml @@ -12,12 +12,12 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [2.7, 3.x] + python-version: [3.x] steps: - uses: actions/checkout@v2 - name: Setup Python - uses: actions/setup-python@v2.2.2 + uses: actions/setup-python@v2.3.4 with: python-version: ${{ matrix.python-version }} - name: Install dependencies diff --git a/.github/workflows/spec_update.yml b/.github/workflows/spec_update.yml index f4a60c7c..00cbb61c 100644 --- a/.github/workflows/spec_update.yml +++ b/.github/workflows/spec_update.yml @@ -6,13 +6,13 @@ on: jobs: Update: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v2 - name: Setup Python environment - uses: actions/setup-python@v2.2.2 + uses: actions/setup-python@v2.3.4 with: - python-version: 3.7 + python-version: 3.8 - name: Get current time uses: 1466587594/get-current-time@v2 id: current-time diff --git a/requirements.txt b/requirements.txt index 2c55c04b..c963d483 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,8 @@ stone >= 2 # Other dependencies for development ply pytest -pytest-runner +pytest-runner == 5.3.2 sphinx twine +setuptools; python_version>="3.12" wheel diff --git a/setup.py b/setup.py index efbd57de..25c12507 100644 --- a/setup.py +++ b/setup.py @@ -28,12 +28,7 @@ 'requests >= 2.16.2', 'six >= 1.12.0', 'stone >= 2', -] - -setup_requires = [ - # Pin pytest-runner to 5.2.0, since 5.3.0 uses `find_namespaces` directive, not supported in - # Python 2.7 - 'pytest-runner == 5.2.0', + 'setuptools', ] # WARNING: This imposes limitations on test/requirements.txt such that the @@ -50,7 +45,6 @@ name='dropbox', version=version, install_requires=install_reqs, - setup_requires=setup_requires, tests_require=test_reqs, packages=['dropbox'], package_data={'dropbox': ['trusted-certs.crt']}, @@ -71,12 +65,11 @@ 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent', 'Programming Language :: Python', - 'Programming Language :: Python :: 2.7', - 'Programming Language :: Python :: 3.4', - 'Programming Language :: Python :: 3.5', - 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', 'Programming Language :: Python :: Implementation :: CPython', 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Software Development :: Libraries :: Python Modules', diff --git a/tox.ini b/tox.ini index 203030f2..f8f7a36d 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] -envlist = py{27,34,35,36,37,38,39-dev,py,py3},check,lint,docs,test_unit,coverage +envlist = py{38,39,310,311,312,py,py3},check,lint,docs,test_unit,coverage skip_missing_interpreters = true [flake8] @@ -41,6 +41,7 @@ commands = deps = twine + wheel usedevelop = true @@ -86,4 +87,4 @@ description = invoke sphinx-build to build the HTML docs extras = docs commands = sphinx-build -b html docs build/html deps = - sphinx \ No newline at end of file + sphinx