Skip to content

Commit 3f421bb

Browse files
authored
Merge branch 'main' into i466
2 parents f24ff27 + f28b0f7 commit 3f421bb

38 files changed

Lines changed: 113 additions & 118 deletions

.github/workflows/branch-cicd.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
name: Set up Python 3
4444
uses: actions/setup-python@v5
4545
with:
46-
python-version: '3.9'
46+
python-version: '3.13'
4747
-
4848
name: 💵 Python Cache
4949
uses: actions/cache@v4

.github/workflows/codeql-analysis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ jobs:
4040
- name: Checkout repository
4141
uses: actions/checkout@v4
4242

43-
- name: Setup python 3.9
43+
- name: Setup python 3.13
4444
uses: actions/setup-python@v5
4545
with:
46-
python-version: 3.9
46+
python-version: 3.13
4747

4848
# Initializes the CodeQL tools for scanning.
4949
- name: Initialize CodeQL

.github/workflows/secrets-detection.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
detect-secrets scan --disable-plugin AbsolutePathDetectorExperimental --baseline .secrets.new \
4848
--exclude-files '\.secrets..*' \
4949
--exclude-files '\.git.*' \
50-
--exclude-files '\.pre-commit-config.yaml' \
50+
--exclude-files '\.pre-commit-config\.yaml' \
5151
--exclude-files '\.mypy_cache' \
5252
--exclude-files '\.pytest_cache' \
5353
--exclude-files '\.tox' \

.pre-commit-config.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ repos:
1818
- id: reorder-python-imports
1919
files: ^src/|tests/
2020

21-
# Disabling "black" because it's conflicting with "reorder_python_imports"
21+
# Disabling "black" for now as it's conflicting with reorder_python_imports
22+
# (They keep fighting over whether to have a blank line before imports)
2223
#
2324
# - repo: local
2425
# hooks:
@@ -52,10 +53,13 @@ repos:
5253
hooks:
5354
- id: detect-secrets
5455
args:
56+
- '--disable-plugin'
57+
- 'AbsolutePathDetectorExperimental'
5558
- '--baseline'
5659
- '.secrets.baseline'
5760
- --exclude-files '\.secrets..*'
5861
- --exclude-files '\.git.*'
62+
- --exclude-files '\.pre-commit-config\.yaml'
5963
- --exclude-files '\.mypy_cache'
6064
- --exclude-files '\.pytest_cache'
6165
- --exclude-files '\.tox'

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ The Planetary Data System (PDS) Digital Object Identifier (DOI) Service provides
77

88
## Prerequisites
99

10-
- Python 3.9 or above
10+
- Python 3.13 or above
1111
- A login to the DOI Service Provider endpoint server (currently DataCite)
1212

1313

@@ -38,7 +38,7 @@ If you get an error like
3838

3939
src/types.h:36:2: error: You need a compatible libgit2 version (1.1.x)
4040

41-
then you're probably using [brew.sh](https://brew.sh)'s Python 3.10. Use their Python 3.9 instead.
41+
then you're probably using [brew.sh](https://brew.sh)'s Python 3.10. Use their Python 3.13 instead.
4242

4343
Update your local configuration to access the DOI service provider's test server.
4444

docs/source/conf.py

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,9 @@
3434
"sphinx.ext.githubpages",
3535
"sphinx.ext.autosummary",
3636
"sphinx.ext.napoleon",
37-
"sphinx_rtd_theme",
3837
"sphinxarg.ext",
3938
]
4039

41-
# Add any paths that contain templates here, relative to this directory.
42-
templates_path = ["_templates"]
43-
4440
# List of patterns, relative to source directory, that match files and
4541
# directories to ignore when looking for source files.
4642
# This pattern also affects html_static_path and html_extra_path.
@@ -63,8 +59,6 @@
6359

6460
html_theme_options = {
6561
"canonical_url": "",
66-
"logo_only": False,
67-
"display_version": True,
6862
"prev_next_buttons_location": "bottom",
6963
"style_external_links": False,
7064
# Toc options
@@ -77,8 +71,6 @@
7771

7872
html_logo = "_static/images/PDS_Planets.png"
7973

80-
html_context = {
81-
"css_files": [
82-
"_static/theme_overrides.css", # override wide tables in RTD theme
83-
],
84-
}
74+
html_css_files = [
75+
'theme_overrides.css',
76+
]

docs/source/installation/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Requirements
99
Prior to installing this software, ensure your system meets the following
1010
requirements:
1111

12-
Python_ 3.9 or above. Python 2 will absolutely *not* work.
12+
Python_ 3.13 or above. Python 2 will absolutely *not* work.
1313
• ``libxml2`` version 2.9.2; later 2.9 versions are fine. Run ``xml2-config
1414
--version`` to find out.
1515
• ``libxslt`` version 1.1.28; later 1.1 versions are OK too. Run ``xslt-config`` to see.

setup.cfg

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ classifiers =
1515
Environment :: Web Environment
1616
Framework :: Flask
1717
Intended Audience :: Science/Research
18-
License :: OSI Approved :: Apache Software License
1918
Operating System :: OS Independent
2019
Programming Language :: Python :: 3
2120
Topic :: Scientific/Engineering
@@ -39,12 +38,12 @@ install_requires =
3938
itsdangerous==2.0.1
4039
jinja2==3.1.4
4140
jsonschema~=3.0.0
42-
lxml==5.3.0
41+
lxml==6.0.0
4342
nltk==3.5
44-
numpy==1.21.2
43+
numpy==2.2.3
4544
openapi-schema-validator~=0.1.4
46-
openpyxl~=3.0.7
47-
pandas==1.3.4
45+
openpyxl~=3.1.0
46+
pandas==2.3.0
4847
python-dateutil~=2.9.0.post0
4948
python-jose[cryptography]
5049
pytz==2020.1
@@ -64,16 +63,16 @@ include_package_data = True
6463
package_dir =
6564
= src
6665
packages = find:
67-
python_requires = >= 3.9
66+
python_requires = >= 3.13
6867
test_suite = pds_doi_service.test.suite
6968

7069

7170
[options.extras_require]
7271
dev =
72+
aiosmtpd~=1.4.6
7373
build~=1.2.2
74-
black~=24.8.0
75-
flake8~=7.1.1
76-
flake8-bugbear~=24.8.19
74+
flake8~=7.3.0
75+
flake8-bugbear~=24.12.12
7776
flake8-docstrings~=1.7.0
7877
pep8-naming~=0.14.1
7978
pydocstyle~=6.3.0
@@ -83,18 +82,18 @@ dev =
8382
pytest-watch~=4.2.0
8483
pytest-xdist~=3.6.1
8584
pre-commit~=3.3.3
86-
sphinx~=5.0.0
87-
sphinx-rtd-theme~=0.5.0
85+
sphinx~=8.2.3
86+
sphinx-rtd-theme~=3.0.2
8887
types-setuptools~=68.1.0.0
8988
sphinxcontrib-napoleon~=0.7
9089
tox>=3.28,<4.24
9190
flask_testing~=0.8.0
92-
sphinx-rtd-theme>=0.5,<3.1
91+
sphinx-rtd-theme~=3.0.2
9392
sphinx-argparse~=0.2.5
9493
behave~=1.2.6
9594
allure-behave~=2.8.13
9695
behave-testrail-reporter~=0.4.0
97-
pygit2~=1.9.2
96+
pygit2~=1.18.2
9897
lxml-stubs~=0.5.1
9998
pandas-stubs~=2.0.1.230501
10099
types-flask~=1.1.6

src/pds_doi_service/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# encoding: utf-8
22
"""Planetary Data System's Digital Object Identifier service"""
3-
import pkg_resources
3+
import importlib.resources
44

5-
__version__ = VERSION = pkg_resources.resource_string(__name__, "VERSION.txt").decode("utf-8").strip()
5+
__version__ = VERSION = importlib.resources.files(__name__).joinpath("VERSION.txt").read_text().strip()

src/pds_doi_service/api/test/test_dois_controller.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import os
66
import unittest
77
from datetime import datetime
8+
from importlib import resources
89
from os.path import abspath
910
from os.path import exists
1011
from os.path import join
@@ -24,7 +25,6 @@
2425
from pds_doi_service.core.outputs.service import DOIServiceFactory
2526
from pds_doi_service.core.outputs.service import SERVICE_TYPE_DATACITE
2627
from pds_doi_service.core.util.config_parser import DOIConfigUtil
27-
from pkg_resources import resource_filename
2828

2929
from ._base import BaseTestCase
3030

@@ -47,7 +47,7 @@ class TestDoisController(BaseTestCase):
4747

4848
@classmethod
4949
def setUpClass(cls):
50-
cls.test_dir = resource_filename(__name__, "")
50+
cls.test_dir = str(resources.files(__name__))
5151
cls.test_data_dir = join(cls.test_dir, "data")
5252
cls.input_dir = abspath(join(cls.test_dir, os.pardir, os.pardir, os.pardir, os.pardir, "input"))
5353
cls.service_type = DOIServiceFactory.get_service_type()

0 commit comments

Comments
 (0)