From 8f9f78d7ad80a85deaab6db9f528e750d85f30a7 Mon Sep 17 00:00:00 2001 From: Visesh Rajendraprasad Date: Thu, 7 Nov 2024 16:31:12 -0500 Subject: [PATCH] drop Python 3.9 support (#172) --- .github/workflows/ci_cd.yml | 40 ++++++++++++++---------------- .github/workflows/nightly-docs.yml | 4 +-- .github/workflows/nightly.yml | 4 +-- .gitignore | 1 + README.rst | 28 ++++++++------------- pyproject.toml | 5 ++-- 6 files changed, 37 insertions(+), 45 deletions(-) diff --git a/.github/workflows/ci_cd.yml b/.github/workflows/ci_cd.yml index 27ff58c3..e74addf9 100644 --- a/.github/workflows/ci_cd.yml +++ b/.github/workflows/ci_cd.yml @@ -35,41 +35,40 @@ jobs: python-version: ${{ env.MAIN_PYTHON_VERSION }} show-diff-on-failure: false -# docs-style: -# name: Documentation style check -# runs-on: ubuntu-latest -# steps: -# - name: PyAnsys documentation style checks -# uses: ansys/actions/doc-style@v4 -# with: -# token: ${{ secrets.GITHUB_TOKEN }} + # docs-style: + # name: Documentation style check + # runs-on: ubuntu-latest + # steps: + # - name: PyAnsys documentation style checks + # uses: ansys/actions/doc-style@v4 + # with: + # token: ${{ secrets.GITHUB_TOKEN }} smoke-tests: name: Build and smoke tests runs-on: ${{ matrix.os }} - needs: [style] + needs: [ style ] strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.9', '3.10', '3.11', '3.12'] + os: [ ubuntu-latest, windows-latest ] + python-version: [ '3.10', '3.11', '3.12' ] steps: - name: Build wheelhouse and perform smoke test uses: ansys/actions/build-wheelhouse@v8 with: library-name: ${{ env.PACKAGE_NAME }} - library-namespace: ${{ env.PACKAGE_NAMESPACE }} operating-system: ${{ matrix.os }} python-version: ${{ matrix.python-version }} test: name: Testing - needs: [smoke-tests] + needs: [ smoke-tests ] runs-on: ${{ matrix.os }} strategy: matrix: os: [ ubuntu-latest ] - python-version: [ '3.9', '3.10', '3.11', '3.12' ] + python-version: [ '3.10', '3.11', '3.12' ] steps: - uses: actions/checkout@v4 @@ -110,7 +109,7 @@ jobs: docs: name: Build docs runs-on: ubuntu-latest -# needs: [docs-style] + # needs: [docs-style] steps: - name: Run Ansys documentation building action uses: ansys/actions/doc-build@v8 @@ -121,7 +120,7 @@ jobs: package: name: Package library - needs: [test, docs] + needs: [ test, docs ] runs-on: ubuntu-latest steps: - name: Build library source and wheel artifacts @@ -133,7 +132,7 @@ jobs: release: name: Release project if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') - needs: [package] + needs: [ package ] runs-on: ubuntu-latest steps: - name: Release to the public PyPI repository @@ -153,7 +152,7 @@ jobs: name: Upload dev documentation if: github.ref == 'refs/heads/main' runs-on: ubuntu-latest - needs: [package] + needs: [ package ] steps: - name: Deploy the latest documentation uses: ansys/actions/doc-deploy-dev@v8 @@ -168,7 +167,7 @@ jobs: name: Upload release documentation if: github.event_name == 'push' && contains(github.ref, 'refs/tags') runs-on: ubuntu-latest - needs: [release] + needs: [ release ] steps: - name: Deploy the stable documentation uses: ansys/actions/doc-deploy-stable@v8 @@ -178,12 +177,11 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }} bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }} - python-version: ${{ env.MAIN_PYTHON_VERSION }} build-failure: name: Teams notify on failure if: failure() && (github.event_name == 'pull_request' || github.ref == 'refs/heads/main' || github.ref_type == 'tag') - needs: [ style, test] + needs: [ style, test ] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/nightly-docs.yml b/.github/workflows/nightly-docs.yml index 847e7979..23a29c3d 100644 --- a/.github/workflows/nightly-docs.yml +++ b/.github/workflows/nightly-docs.yml @@ -1,8 +1,8 @@ name: Nightly Documentation Build on: - schedule: # UTC at 0400 - 12am EDT - - cron: '0 4 * * *' + schedule: # UTC at 0400 - 12am EDT + - cron: '0 4 * * *' workflow_dispatch: env: diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index e256df09..e57f98c8 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -6,7 +6,7 @@ on: workflow_dispatch: env: - MAIN_PYTHON_VERSION: '3.12' + MAIN_PYTHON_VERSION: '3.10' PACKAGE_NAME: 'ansys-dynamicreporting-core' PACKAGE_NAMESPACE: 'ansys.dynamicreporting.core' @@ -19,7 +19,7 @@ jobs: strategy: matrix: os: [ ubuntu-latest ] - python-version: [ '3.9', '3.10', '3.11', '3.12' ] + python-version: [ '3.10', '3.11', '3.12' ] steps: - uses: actions/checkout@v4 diff --git a/.gitignore b/.gitignore index a32f298b..dbe88154 100644 --- a/.gitignore +++ b/.gitignore @@ -74,3 +74,4 @@ doc/_build # TIFF files *.tiff _test_enhanced_images.py +test_adr_sls.py diff --git a/README.rst b/README.rst index f6e24200..cd165178 100644 --- a/README.rst +++ b/README.rst @@ -66,7 +66,7 @@ To reach the project support team, email `pyansys.core@ansys.com `_. @@ -76,17 +76,6 @@ To install the package, simply run pip install ansys-dynamicreporting-core - -Alternatively, the user can download the repository and locally build the -package. Two modes of installation are available: - -- Developer installation -- User installation - - -The code provided for both installation modes use a `virtual environment -`_. - Developer installation ^^^^^^^^^^^^^^^^^^^^^^ To clone and install the ``pydynamicreporting`` package in development mode, @@ -101,16 +90,15 @@ run this code: source venv/bin/activate # (.\venv\Scripts\activate for Windows shell) make install-dev # install pydynamicreporting in editable mode - The preceding code creates an "editable" installation that lets you develop and test PyDynamicReporting at the same time. -User installation -^^^^^^^^^^^^^^^^^ -To build and create a production-like installation: +To build and create a production-like installation, first install +`chocolatey `_. Then: .. code:: + choco install make # install make make clean # clean make build # build # this replaces the editable installation done previously. If you don't want to replace, @@ -119,12 +107,15 @@ To build and create a production-like installation: # you can skip the steps above and just do 'make all' make smoketest # test import - Local GitHub Actions ^^^^^^^^^^^^^^^^^^^^ To run GitHub Actions on your local desktop (recommended), install the `act `_ package. +.. code:: + + choco install act-cli + To run a job, such as the ``style`` job from the ``ci_cd.yml`` file, use this command, where ``style`` is the job name: @@ -142,6 +133,9 @@ Dependencies To use PyDynamicReporting, you must have a locally installed and licensed copy of Ansys 2023 R2 or later. +To use PyDynamicReporting Serverless (ansys.dynamicreporting.core.serverless), +you must have a locally installed and licensed copy of Ansys 2025 R1 or later. + Basic usage ----------- This code shows how to start the simplest PyDynamicReporting session: diff --git a/pyproject.toml b/pyproject.toml index 5528ffbc..59eeff3e 100755 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ requires = [ [project] name = "ansys-dynamicreporting-core" -version = "0.8.0.dev0" +version = "0.9.0.dev0" authors = [ {name = "ANSYS, Inc.", email = "pyansys.core@ansys.com"}, ] @@ -20,7 +20,7 @@ maintainers = [ ] description = "Python interface to Ansys Dynamic Reporting" readme = "README.rst" -requires-python = ">=3.8" +requires-python = ">=3.10" keywords = ["dynamicreporting", "pydynamicreporting", "pyansys", "ansys"] license = {text = "MIT"} classifiers = [ @@ -29,7 +29,6 @@ classifiers = [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Natural Language :: English", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12",