Skip to content
Open
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
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python: ['3.9', '3.10', '3.11', '3.12', '3.13']
python: ['3.11', '3.12', '3.13', '3.14']
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
Expand Down
130 changes: 65 additions & 65 deletions .github/workflows/master_bootstrap-flask-example.yml
Original file line number Diff line number Diff line change
@@ -1,65 +1,65 @@
# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions
# More info on Python, GitHub Actions, and Azure App Service: https://aka.ms/python-webapps-actions
name: Build and deploy Python app to Azure Web App - bootstrap-flask-example
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python version
uses: actions/setup-python@v1
with:
python-version: '3.11'
- name: Create and start virtual environment
run: |
python -m venv venv
source venv/bin/activate
- name: Install dependencies
run: |
pip install -r examples/requirements.txt
cp examples/requirements.txt examples/bootstrap5/requirements.txt
# Optional: Add step to run tests here (PyTest, Django test suites, etc.)
- name: Upload artifact for deployment jobs
uses: actions/upload-artifact@v4.4.0
with:
name: python-app
path: |
./examples/bootstrap5/
!venv/
deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'Production'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v4.1.7
with:
name: python-app
path: .
- name: 'Deploy to Azure Web App'
uses: azure/webapps-deploy@v2
id: deploy-to-webapp
with:
app-name: 'bootstrap-flask-example'
slot-name: 'Production'
publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_EA24F62410C243EEA4968476E7017059 }}
# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions
# More info on Python, GitHub Actions, and Azure App Service: https://aka.ms/python-webapps-actions

name: Build and deploy Python app to Azure Web App - bootstrap-flask-example

on:
push:
branches:
- main
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Set up Python version
uses: actions/setup-python@v1
with:
python-version: '3.14'

- name: Create and start virtual environment
run: |
python -m venv venv
source venv/bin/activate

- name: Install dependencies
run: |
pip install -r examples/requirements.txt
cp examples/requirements.txt examples/bootstrap5/requirements.txt

# Optional: Add step to run tests here (PyTest, Django test suites, etc.)

- name: Upload artifact for deployment jobs
uses: actions/upload-artifact@v4.4.0
with:
name: python-app
path: |
./examples/bootstrap5/
!venv/

deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'Production'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}

steps:
- name: Download artifact from build job
uses: actions/download-artifact@v4.1.7
with:
name: python-app
path: .

- name: 'Deploy to Azure Web App'
uses: azure/webapps-deploy@v2
id: deploy-to-webapp
with:
app-name: 'bootstrap-flask-example'
slot-name: 'Production'
publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_EA24F62410C243EEA4968476E7017059 }}
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
python-version: '3.14'
cache: pip
cache-dependency-path: requirements*/*.txt
- run: pip install setuptools wheel build
Expand Down
2 changes: 2 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
Changelog
=========

- Drop Python 3.9 and 3.10 support.
- Upgrade dependencies.
- Upgrade license format in pyproject.toml.
- Upgrade to Bootstrap 5.3.6

Expand Down
3 changes: 1 addition & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,10 @@ classifiers = [
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: 3.13',
'Programming Language :: Python :: 3.14',
'Framework :: Flask',
'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
'Topic :: Software Development :: Libraries :: Python Modules',
Expand Down
2 changes: 1 addition & 1 deletion requirements/build.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ pyproject-hooks==1.2.0
# via build
tomli==2.2.1
# via build
wheel==0.45.1
wheel==0.46.2
# via -r requirements/build.in
zipp==3.20.2
# via importlib-metadata
6 changes: 3 additions & 3 deletions requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ colorama==0.4.6
# via tox
distlib==0.3.9
# via virtualenv
filelock==3.16.1
filelock==3.20.3
# via
# tox
# virtualenv
Expand All @@ -40,9 +40,9 @@ toposort==1.10
# via pip-compile-multi
tox==4.24.2
# via -r requirements/dev.in
virtualenv==20.29.3
virtualenv==20.36.1
# via tox
wheel==0.45.1
wheel==0.46.2
# via pip-tools

# The following packages are considered to be unsafe in a requirements file:
Expand Down
4 changes: 2 additions & 2 deletions requirements/docs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ pygments==2.19.1
# via sphinx
pytz==2025.1
# via babel
requests==2.32.3
requests==2.32.4
# via sphinx
snowballstemmer==2.2.0
# via sphinx
Expand All @@ -61,7 +61,7 @@ sphinxcontrib-qthelp==1.0.3
# via sphinx
sphinxcontrib-serializinghtml==1.1.5
# via sphinx
urllib3==2.2.3
urllib3==2.6.3
# via requests
zipp==3.20.2
# via importlib-metadata
8 changes: 4 additions & 4 deletions requirements/tests.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,23 @@
#
beautifulsoup4==4.13.4
# via -r requirements/tests.in
blinker==1.8.2
blinker==1.9.0
# via flask
click==8.1.8
# via flask
coverage[toml]==7.6.1
# via pytest-cov
exceptiongroup==1.2.2
# via pytest
flask==3.0.3
flask==3.1.3
# via
# flask-sqlalchemy
# flask-wtf
flask-sqlalchemy==3.1.1
# via -r requirements/tests.in
flask-wtf==1.2.1
# via -r requirements/tests.in
greenlet==3.1.1
greenlet==3.5.5
# via sqlalchemy
importlib-metadata==8.5.0
# via flask
Expand Down Expand Up @@ -62,7 +62,7 @@ typing-extensions==4.12.2
# via
# beautifulsoup4
# sqlalchemy
werkzeug==3.0.6
werkzeug==3.1.5
# via flask
wtforms==3.1.2
# via flask-wtf
Expand Down
5 changes: 2 additions & 3 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
[tox]
isolated_build = True
envlist = py39, py310, py311, py312, py313, flake8, docs
envlist = py311, py312, py313, py314, flake8, docs
skip_missing_interpreters = true

[gh-actions]
python =
3.9: py39
3.10: py310
3.11: py311
3.12: py312
3.13: py313
3.14: py314

[testenv]
deps =
Expand Down
Loading