8000 Updates by kurtmckee · Pull Request #222 · globus/action-provider-tools · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Updates #222

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

Merged
merged 8 commits into from
Jul 1, 2025
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
5 changes: 2 additions & 3 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,14 @@ jobs:
- name: "Linux"
runner: "ubuntu-latest"
cpythons:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
tox-environments-from-pythons: true
tox-post-environments:
- "py3.8-minimum_flask"
- "py3.8-flask"
- "py3.9-minimum_flask"
- "py3.9-flask"
- "py3.12-minimum_flask"
- "py3.12-flask"

Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -109,4 +109,4 @@ venv.bak/
.idea/

# Poetry
/poetry.lock
poetry.lock
12 changes: 6 additions & 6 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ ci:
autoupdate_schedule: "quarterly"

default_language_version:
python: "python3.12"
python: "python3.13"

repos:
- repo: meta
Expand All @@ -23,12 +23,12 @@ repos:
hooks:
- id: alphabetize-codeowners

# Enforce Python 3.8+ idioms.
# Enforce Python 3.9+ idioms.
- repo: https://github.com/asottile/pyupgrade
rev: v3.19.1
rev: v3.20.0
hooks:
- id: pyupgrade
args: [--py38-plus]
args: [--py39-plus]

- repo: https://github.com/psf/black-pre-commit-mirror
rev: 25.1.0
Expand All @@ -41,11 +41,11 @@ repos:
- id: isort

- repo: https://github.com/pycqa/flake8
rev: 7.2.0
rev: 7.3.0
hooks:
- id: flake8
additional_dependencies:
- flake8-bugbear==24.10.31
- flake8-bugbear==24.12.12

- repo: https://github.com/sirosen/slyp
rev: 0.8.2
Expand Down
11 changes: 11 additions & 0 deletions changelog.d/20250701_111035_kurtmckee_updates.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Python support
--------------

* Drop Python 3.8 support.

Development
-----------

* Migrate to PEP 621 metadata.
* Add project URLs that will display on PyPI.
* Remove the "License :: Free To Use But Restricted" trove classifier.
4 changes: 1 addition & 3 deletions examples/apt_blueprint/backend.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
from typing import Dict

from globus_action_provider_tools import ActionStatus
from globus_action_provider_tools.storage import AbstractActionRepository

simple_backend: Dict[str, ActionStatus] = {}
simple_backend: dict[str, ActionStatus] = {}


class ActionRepo(AbstractActionRepository):
Expand Down
3 changes: 1 addition & 2 deletions examples/apt_blueprint/blueprint.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from datetime import datetime, timezone
from typing import Dict, List, Set

from flask import request
from pydantic import BaseModel, Field
Expand Down Expand Up @@ -59,7 +58,7 @@ class Config:


@aptb.action_enumerate
def action_enumeration(auth: AuthState, params: Dict[str, Set]) -> List[ActionStatus]:
def action_enumeration(auth: AuthState, params: dict[str, set]) -> list[ActionStatus]:
"""
This is an optional endpoint, useful for allowing requesters to enumerate
actions filtered by ActionStatus and role.
Expand Down
49 changes: 24 additions & 25 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,17 +1,9 @@
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"


# poetry
# ------

[tool.poetry]
[project]
name = "globus-action-provider-tools"
version = "0.21.0"
description = "Tools to help developers build services that implement the Action Provider specification."
authors = [
"Globus Team <support@globus.org>",
{ name = "Globus Team", email = "support@globus.org" },
]
keywords = [
"globus",
Expand All @@ -22,30 +14,37 @@ keywords = [
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: Free To Use But Restricted",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Software Development :: Libraries :: Application Frameworks",
"Topic :: Software Development :: Libraries :: Python Modules"
]

readme = "README.rst"
requires-python = ">=3.9"
license = "Apache-2.0"
dependencies = [
"globus-sdk (>=3.9, <4)",
"jsonschema (>=4.17, <5)",
"pyyaml (>=6, <7)",
"pydantic (>=1.7.3, <2)",
"isodate (>=0.6, <0.7)",
"cachetools (>=5.0, <6)",
]

[project.urls]
Source = "https://github.com/globus/action-provider-tools"
Documentation = "https://action-provider-tools.readthedocs.io/en/latest/"

[tool.poetry.scripts]
[project.scripts]
whattimeisit-provider = "examples.flask.whattimeisitrightnow.app.app:main"

[tool.poetry.dependencies]
python = ">=3.8"
globus-sdk=">=3.9,<4"
jsonschema = ">=4.17,<5"
pyyaml = ">=6,<7"
pydantic = ">=1.7.3,<2"
isodate = ">=0.6,<0.7"
cachetools = ">=5.0,<6"
flask = {version = ">=2.3,<3", optional = true}
[project.optional-dependencies]
flask = [
"flask (>=2.3, <3)",
]

[tool.poetry.extras]
flask = ["flask"]
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"


# coverage
Expand Down Expand Up @@ -124,5 +123,5 @@ categories = [
"Documentation",
"Development",
]
version = "literal: pyproject.toml: tool.poetry.version"
version = "literal: pyproject.toml: project.version"
new_fragment_template = "file: fragment-template.rst.txt"
Loading
0