diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index d299c16fb..24e7a9f7f 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -15,15 +15,13 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - name: Set up Python 3.8 - uses: actions/setup-python@v1 + uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: "3.8" - name: Install dependencies - run: | - pip install -U pip - pip install tox + run: pip install -U tox - name: Linting code run: tox -e lint - name: Linting docs @@ -33,70 +31,61 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [2.7, 3.5, 3.6, 3.7, 3.8] + python-version: ["pypy3", "2.7", "3.5", "3.6", "3.7", "3.8"] steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v1 + uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Install dependencies - run: | - pip install -U pip - pip install tox tox-gh-actions + run: pip install -U tox tox-gh-actions - name: Test with tox run: tox - name: Upload coverage to Codecov uses: codecov/codecov-action@v1 with: - token: ${{ secrets.CODECOV_TOKEN }} file: .coverage MacOS: runs-on: macos-latest strategy: matrix: - python-version: [2.7, 3.5, 3.6, 3.7, 3.8] + python-version: ["pypy3", "2.7", "3.5", "3.6", "3.7", "3.8"] steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v1 + uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Install dependencies - run: | - pip install -U pip - pip install tox tox-gh-actions + run: pip install -U tox tox-gh-actions - name: Test with tox run: tox - name: Upload coverage to Codecov uses: codecov/codecov-action@v1 with: - token: ${{ secrets.CODECOV_TOKEN }} file: .coverage Windows: runs-on: windows-latest strategy: matrix: - python-version: [2.7, 3.5, 3.6, 3.7, 3.8] + python-version: ["pypy3", "2.7", "3.5", "3.6", "3.7", "3.8"] steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v1 + uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Install dependencies - run: | - pip install -U pip - pip install tox tox-gh-actions + run: pip install -U tox tox-gh-actions - name: Test with tox run: tox - name: Upload coverage to Codecov uses: codecov/codecov-action@v1 with: - token: ${{ secrets.CODECOV_TOKEN }} file: .coverage diff --git a/.travis.yml b/.travis.yml index 688c7ecfd..cfa289503 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,7 +26,7 @@ matrix: os: windows language: shell # 'language: python' is an error on Travis CI Windows before_install: - - choco install python --version 3.7.5 + - choco install python --version 3.7.7 - python -m pip install --upgrade pip env: - PATH=/c/Python37:/c/Python37/Scripts:$PATH @@ -34,6 +34,9 @@ matrix: - name: "Python 3.8" python: "3.8" env: TOXENV=py38 + - name: "Python 3.9" + python: "3.9-dev" + env: TOXENV=py39 - name: "Linting" python: "3.7" env: TOXENV=lint,docs diff --git a/Makefile b/Makefile index 8c5c9c39b..894a6ba5b 100644 --- a/Makefile +++ b/Makefile @@ -7,8 +7,9 @@ build35: PYTHON_VER = python3.5 build36: PYTHON_VER = python3.6 build37: PYTHON_VER = python3.7 build38: PYTHON_VER = python3.8 +build39: PYTHON_VER = python3.9 -build27 build35 build36 build37 build38: clean +build27 build35 build36 build37 build38 build39: clean virtualenv venv --python=$(PYTHON_VER) . venv/bin/activate; \ pip install -r requirements.txt; \ diff --git a/README.rst b/README.rst index 00f306563..e31ce600b 100644 --- a/README.rst +++ b/README.rst @@ -47,7 +47,7 @@ Features -------- - Fully-implemented, drop-in replacement for datetime -- Supports Python 2.7, 3.5, 3.6, 3.7 and 3.8 +- Supports Python 2.7, 3.5, 3.6, 3.7, 3.8 and 3.9 - Timezone-aware and UTC by default - Provides super-simple creation options for many common input scenarios - :code:`shift` method with support for relative offsets, including weeks diff --git a/setup.py b/setup.py index a60250a03..3f6e433a5 100644 --- a/setup.py +++ b/setup.py @@ -39,8 +39,9 @@ "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", ], - keywords="arrow date time datetime timestamp timezone", + keywords="arrow date time datetime timestamp timezone humanize", project_urls={ "Repository": "https://github.com/crsmithdev/arrow", "Bug Reports": "https://github.com/crsmithdev/arrow/issues", diff --git a/tox.ini b/tox.ini index 9b8958822..7538e71f9 100644 --- a/tox.ini +++ b/tox.ini @@ -1,14 +1,16 @@ [tox] -envlist = py{27,35,36,37,38},lint,docs +envlist = py{py3,27,35,36,37,38,39},lint,docs skip_missing_interpreters = true [gh-actions] python = + pypy3: pypy3 2.7: py27 3.5: py35 3.6: py36 3.7: py37 3.8: py38 + 3.9: py39 # Configure testing environments