Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drop Python 3.9 support #172

Merged
merged 5 commits into from
Nov 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 19 additions & 21 deletions .github/workflows/ci_cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/nightly-docs.yml
Original file line number Diff line number Diff line change
@@ -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:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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'

Expand All @@ -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
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,4 @@ doc/_build
# TIFF files
*.tiff
_test_enhanced_images.py
test_adr_sls.py
28 changes: 11 additions & 17 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ To reach the project support team, email `[email protected] <pyansys.core@a

Installation
------------
The ``pydynamicreporting`` package supports Python 3.9 through 3.12 on
The ``pydynamicreporting`` package supports Python 3.10 through 3.12 on
Windows and Linux. It is currently available on the PyPi
`repository <https://pypi.org/project/ansys-dynamicreporting-core/>`_.

Expand All @@ -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
<https://docs.python.org/3/library/venv.html>`_.

Developer installation
^^^^^^^^^^^^^^^^^^^^^^
To clone and install the ``pydynamicreporting`` package in development mode,
Expand All @@ -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 <https://chocolatey.org/install>`_. 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,
Expand All @@ -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 <https://github.com/nektos/act#readme>`_ 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:

Expand All @@ -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:
Expand Down
5 changes: 2 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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 = "[email protected]"},
]
Expand All @@ -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 = [
Expand All @@ -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",
Expand Down
Loading