openbrokerapi 4.7.3__tar.gz → 4.8.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/.bumpversion.cfg +1 -1
  2. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/.github/workflows/codeql.yml +4 -4
  3. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/.github/workflows/python-publish.yml +15 -9
  4. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/.github/workflows/python-test.yml +4 -3
  5. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/.github/workflows/scorecard.yml +4 -4
  6. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/.pre-commit-config.yaml +6 -10
  7. openbrokerapi-4.8.0/.readthedocs.yml +20 -0
  8. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/CHANGELOG.rst +6 -1
  9. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/DEVELOPMENT.md +2 -2
  10. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/PKG-INFO +5 -7
  11. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/README.rst +1 -1
  12. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/doc/conf.py +2 -2
  13. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/openbrokerapi/api.py +1 -1
  14. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/pyproject.toml +13 -15
  15. openbrokerapi-4.8.0/uv.lock +1489 -0
  16. openbrokerapi-4.7.3/.readthedocs.yml +0 -14
  17. openbrokerapi-4.7.3/uv.lock +0 -2015
  18. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  19. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  20. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/.github/codeql/codeql-config.yml +0 -0
  21. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/.github/dependabot.yml +0 -0
  22. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/.github/workflows/auto-merge.yml +0 -0
  23. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/.gitignore +0 -0
  24. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/LICENSE +0 -0
  25. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/SECURITY.md +0 -0
  26. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/TODO.md +0 -0
  27. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/doc/.gitignore +0 -0
  28. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/doc/Makefile +0 -0
  29. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/doc/_static/in_memory_broker.py +0 -0
  30. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/doc/_static/seperated_broker.py +0 -0
  31. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/doc/_static/single_broker.py +0 -0
  32. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/doc/changelog.rst +0 -0
  33. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/doc/full_example.rst +0 -0
  34. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/doc/index.rst +0 -0
  35. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/doc/make.bat +0 -0
  36. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/doc/openbrokerapi.rst +0 -0
  37. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/doc/overview.rst +0 -0
  38. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/doc/readme.rst +0 -0
  39. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/openbrokerapi/__init__.py +0 -0
  40. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/openbrokerapi/auth.py +0 -0
  41. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/openbrokerapi/catalog.py +0 -0
  42. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/openbrokerapi/constants.py +0 -0
  43. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/openbrokerapi/errors.py +0 -0
  44. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/openbrokerapi/helper.py +0 -0
  45. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/openbrokerapi/log_util.py +0 -0
  46. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/openbrokerapi/request_filter.py +0 -0
  47. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/openbrokerapi/response.py +0 -0
  48. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/openbrokerapi/router.py +0 -0
  49. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/openbrokerapi/service_broker.py +0 -0
  50. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/openbrokerapi/settings.py +0 -0
  51. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/ship.sh +0 -0
  52. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/__init__.py +0 -0
  53. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_authentication.py +0 -0
  54. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_bad_request.py +0 -0
  55. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_bind.py +0 -0
  56. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_catalog.py +0 -0
  57. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_deprovisioning.py +0 -0
  58. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_get_binding.py +0 -0
  59. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_get_instance.py +0 -0
  60. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_integration_using_async_flow.py +0 -0
  61. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_integration_using_router.py +0 -0
  62. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_last_binding_operation.py +0 -0
  63. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_last_operation.py +0 -0
  64. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_not_implemented.py +0 -0
  65. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_prechecks.py +0 -0
  66. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_provisioning.py +0 -0
  67. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_router.py +0 -0
  68. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_serve.py +0 -0
  69. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_unbind.py +0 -0
  70. {openbrokerapi-4.7.3 → openbrokerapi-4.8.0}/tests/test_update.py +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 4.7.3
2
+ current_version = 4.8.0
3
3
 
4
4
  [bumpversion:file:pyproject.toml]
5
5
 
@@ -45,11 +45,11 @@ jobs:
45
45
 
46
46
  steps:
47
47
  - name: Checkout repository
48
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
48
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
49
49
 
50
50
  # Initializes the CodeQL tools for scanning.
51
51
  - name: Initialize CodeQL
52
- uses: github/codeql-action/init@3599b3baa15b485a2e49ef411a7a4bb2452e7f93 # v3.30.5
52
+ uses: github/codeql-action/init@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
53
53
  with:
54
54
  languages: ${{ matrix.language }}
55
55
  config-file: ./.github/codeql/codeql-config.yml
@@ -64,7 +64,7 @@ jobs:
64
64
  # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
65
65
  # If this step fails, then you should remove it and run the build manually (see below)
66
66
  - name: Autobuild
67
- uses: github/codeql-action/autobuild@3599b3baa15b485a2e49ef411a7a4bb2452e7f93 # v3.30.5
67
+ uses: github/codeql-action/autobuild@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
68
68
 
69
69
  # ℹ️ Command-line programs to run using the OS shell.
70
70
  # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -77,6 +77,6 @@ jobs:
77
77
  # ./location_of_script_within_repo/buildscript.sh
78
78
 
79
79
  - name: Perform CodeQL Analysis
80
- uses: github/codeql-action/analyze@3599b3baa15b485a2e49ef411a7a4bb2452e7f93 # v3.30.5
80
+ uses: github/codeql-action/init@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
81
81
  with:
82
82
  category: "/language:${{matrix.language}}"
@@ -18,13 +18,13 @@ jobs:
18
18
  id-token: write
19
19
 
20
20
  steps:
21
- - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
21
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
22
22
 
23
23
  - name: Install uv
24
- uses: astral-sh/setup-uv@v4
24
+ uses: astral-sh/setup-uv@v7
25
25
  with:
26
26
  version: 'latest'
27
- python-version: '3.8' # use the oldest supported Python version for publishing
27
+ python-version: '3.11' # use the oldest supported Python version for publishing
28
28
  enable-cache: true
29
29
 
30
30
  - name: Build Package
@@ -32,29 +32,35 @@ jobs:
32
32
  uv build
33
33
 
34
34
  - name: Upload dist artefact
35
- uses: actions/upload-artifact@v4
35
+ uses: actions/upload-artifact@v7.0.2
36
36
  with:
37
37
  name: dist
38
38
  path: dist/*
39
39
 
40
40
  - name: Publish package distributions to Test-PyPI
41
- uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # release/v1
42
- with:
43
- repository-url: https://test.pypi.org/legacy/
41
+ run: |
42
+ uv publish --trusted-publishing always --publish-url https://test.pypi.org/legacy/
44
43
 
45
44
  publish-pypi:
46
45
  runs-on: ubuntu-latest
47
46
  environment: release
48
47
  permissions:
48
+ # IMPORTANT: this permission is mandatory for trusted publishing
49
49
  id-token: write
50
50
  needs: build-and-testpypi
51
51
 
52
52
  steps:
53
53
  - name: Download dist artefact
54
- uses: actions/download-artifact@v4
54
+ uses: actions/download-artifact@v7
55
55
  with:
56
56
  name: dist
57
57
  path: dist
58
58
 
59
+ - name: Install uv
60
+ uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3
61
+ with:
62
+ version: 'latest'
63
+
59
64
  - name: Publish package distributions to PyPI
60
- uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # release/v1
65
+ run: |
66
+ uv publish --trusted-publishing always
@@ -19,12 +19,12 @@ jobs:
19
19
  strategy:
20
20
  fail-fast: true
21
21
  matrix:
22
- python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
22
+ python-version: ["3.11", "3.12", "3.13", "3.14"]
23
23
 
24
24
  steps:
25
- - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
25
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
26
26
  - name: Install uv and set the Python version
27
- uses: astral-sh/setup-uv@v6
27
+ uses: astral-sh/setup-uv@v7
28
28
  with:
29
29
  python-version: ${{ matrix.python-version }}
30
30
  - name: Install dependencies
@@ -34,6 +34,7 @@ jobs:
34
34
  - name: Lint with ruff
35
35
  run: |
36
36
  uv run ruff check .
37
+ uv run ruff format --check .
37
38
  - name: Test with pytest
38
39
  run: |
39
40
  uv run pytest --cov=openbrokerapi
@@ -28,12 +28,12 @@ jobs:
28
28
 
29
29
  steps:
30
30
  - name: "Checkout code"
31
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
31
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
32
32
  with:
33
33
  persist-credentials: false
34
34
 
35
35
  - name: "Run analysis"
36
- uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534 # v2.3.3
36
+ uses: ossf/scorecard-action@fa7117db83c52d787ae5a89f350999701505d78e # v2.5.0
37
37
  with:
38
38
  results_file: results.sarif
39
39
  results_format: sarif
@@ -55,7 +55,7 @@ jobs:
55
55
  # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
56
56
  # format to the repository Actions tab.
57
57
  - name: "Upload artifact"
58
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
58
+ uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
59
59
  with:
60
60
  name: SARIF file
61
61
  path: results.sarif
@@ -64,6 +64,6 @@ jobs:
64
64
  # Upload the results to GitHub's code scanning dashboard (optional).
65
65
  # Commenting out will disable upload of results to your repo's Code Scanning dashboard
66
66
  - name: "Upload to code-scanning"
67
- uses: github/codeql-action/upload-sarif@3599b3baa15b485a2e49ef411a7a4bb2452e7f93 # v3.30.5
67
+ uses: github/codeql-action/upload-sarif@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
68
68
  with:
69
69
  sarif_file: results.sarif
@@ -1,18 +1,13 @@
1
1
  repos:
2
2
  - repo: https://github.com/pre-commit/pre-commit-hooks
3
- rev: v4.4.0
3
+ rev: v6.0.0
4
4
  hooks:
5
5
  - id: end-of-file-fixer
6
6
  - id: trailing-whitespace
7
7
  - id: check-ast
8
8
 
9
- - repo: https://github.com/psf/black
10
- rev: 23.1.0
11
- hooks:
12
- - id: black
13
-
14
9
  - repo: https://github.com/pre-commit/mirrors-mypy
15
- rev: 'v1.0.1'
10
+ rev: 'v2.4.1'
16
11
  hooks:
17
12
  - id: mypy
18
13
  additional_dependencies:
@@ -22,8 +17,9 @@ repos:
22
17
  # see: https://github.com/pre-commit/mirrors-mypy/issues/1#issuecomment-1011579690
23
18
  exclude: "^(doc|tests)/.*"
24
19
 
25
- - repo: https://github.com/charliermarsh/ruff-pre-commit
20
+ - repo: https://github.com/astral-sh/ruff-pre-commit
26
21
  # Ruff version.
27
- rev: 'v0.4.8'
22
+ rev: 'v0.17.3'
28
23
  hooks:
29
- - id: ruff
24
+ - id: ruff-check
25
+ - id: ruff-format
@@ -0,0 +1,20 @@
1
+ # Required
2
+ version: 2
3
+
4
+ build:
5
+ os: "ubuntu-24.04"
6
+ tools:
7
+ python: "3.13"
8
+ jobs:
9
+ post_install:
10
+ # docs requirements are a PEP 735 dependency group, not an extra
11
+ - python -m pip install --upgrade "pip>=25.1"
12
+ - python -m pip install --group docs
13
+
14
+ python:
15
+ install:
16
+ - method: pip
17
+ path: .
18
+
19
+ sphinx:
20
+ configuration: doc/conf.py
@@ -2,7 +2,12 @@ Changelog
2
2
  =========
3
3
 
4
4
  **unreleased**
5
- - nothing yet
5
+
6
+ **4.8.0**
7
+ - Drop support for EOL Python 3.8, 3.9 and 3.10 (requires Python 3.11+)
8
+ - Add support for Python 3.14
9
+ - Update dependencies
10
+ - Replace black with ruff format
6
11
 
7
12
  **4.7.3**
8
13
  - API `bind`` and `unbind`` methods with `AsyncRequired` error handling
@@ -2,12 +2,12 @@
2
2
 
3
3
  ## Contributing
4
4
 
5
- Use black to format your code!
5
+ Use ruff to format your code (`uv run ruff format .`)!
6
6
 
7
7
  ## Build pipeline
8
8
 
9
9
  To publish a release use bumpversion. This will update the `pyproject.toml` and tag the commit.
10
- #TODO a Github action will pick up the new tag and publish a new version on pypi
10
+ The `python-publish.yml` GitHub Action picks up the new tag, builds with `uv build` and publishes to Test-PyPI and PyPI with `uv publish` via trusted publishing.
11
11
 
12
12
  > To trigger the whole build process use `ship.sh`.
13
13
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: openbrokerapi
3
- Version: 4.7.3
3
+ Version: 4.8.0
4
4
  Summary: A python package for the V2 CF Service Broker API and Open Broker API (version 2.13+)
5
5
  Project-URL: Homepage, https://openbrokerapi.readthedocs.io/
6
6
  Project-URL: Documentation, https://openbrokerapi.readthedocs.io/
@@ -17,13 +17,11 @@ Classifier: Intended Audience :: Developers
17
17
  Classifier: License :: OSI Approved :: MIT License
18
18
  Classifier: Operating System :: OS Independent
19
19
  Classifier: Programming Language :: Python :: 3 :: Only
20
- Classifier: Programming Language :: Python :: 3.8
21
- Classifier: Programming Language :: Python :: 3.9
22
- Classifier: Programming Language :: Python :: 3.10
23
20
  Classifier: Programming Language :: Python :: 3.11
24
21
  Classifier: Programming Language :: Python :: 3.12
25
22
  Classifier: Programming Language :: Python :: 3.13
26
- Requires-Python: >=3.8
23
+ Classifier: Programming Language :: Python :: 3.14
24
+ Requires-Python: >=3.11
27
25
  Requires-Dist: flask<4.0.0,>=3.0.3
28
26
  Provides-Extra: gevent
29
27
  Requires-Dist: gevent>=22.10.2; extra == 'gevent'
@@ -54,7 +52,7 @@ To find out more about Platform Compatibility for OSBAPI versions, check out
54
52
  Installation
55
53
  ------------
56
54
 
57
- This package is available for Python 3.8+.
55
+ This package is available for Python 3.11+.
58
56
 
59
57
  .. code:: bash
60
58
 
@@ -21,7 +21,7 @@ To find out more about Platform Compatibility for OSBAPI versions, check out
21
21
  Installation
22
22
  ------------
23
23
 
24
- This package is available for Python 3.8+.
24
+ This package is available for Python 3.11+.
25
25
 
26
26
  .. code:: bash
27
27
 
@@ -60,9 +60,9 @@ author = "Maic Siemering"
60
60
  # built documents.
61
61
  #
62
62
  # The short X.Y version.
63
- version = "4.7.3"
63
+ version = "4.8.0"
64
64
  # The full version, including alpha/beta/rc tags.
65
- release = "4.7.3"
65
+ release = "4.8.0"
66
66
 
67
67
  # The language for content autogenerated by Sphinx. Refer to documentation
68
68
  # for a list of supported languages.
@@ -58,7 +58,7 @@ def _check_plan_id(broker: ServiceBroker, plan_id) -> bool:
58
58
 
59
59
  def get_blueprint(
60
60
  service_broker: ServiceBroker,
61
- broker_credentials: Union[None, List[BrokerCredentials], BrokerCredentials],
61
+ broker_credentials: Union[List[BrokerCredentials], BrokerCredentials, None],
62
62
  logger: logging.Logger,
63
63
  *,
64
64
  authenticator: Optional[BrokerAuthenticator] = None,
@@ -1,13 +1,13 @@
1
1
  [project]
2
2
  name = "openbrokerapi"
3
- version = "4.7.3"
3
+ version = "4.8.0"
4
4
  description = "A python package for the V2 CF Service Broker API and Open Broker API (version 2.13+)"
5
5
  authors = [
6
6
  { name = "Maic Siemering", email = "maic@siemering.tech" },
7
7
  ]
8
8
  license = { text = "MIT" }
9
9
  readme = "README.rst"
10
- requires-python = ">= 3.8"
10
+ requires-python = ">= 3.11"
11
11
  keywords = [
12
12
  "cloudfoundry",
13
13
  "cfbrokerapi",
@@ -34,12 +34,10 @@ classifiers = [
34
34
  # Specify the Python versions you support here. In particular, ensure
35
35
  # that you indicate whether you support Python 2, Python 3 or both.
36
36
  "Programming Language :: Python :: 3 :: Only",
37
- "Programming Language :: Python :: 3.8",
38
- "Programming Language :: Python :: 3.9",
39
- "Programming Language :: Python :: 3.10",
40
37
  "Programming Language :: Python :: 3.11",
41
38
  "Programming Language :: Python :: 3.12",
42
39
  "Programming Language :: Python :: 3.13",
40
+ "Programming Language :: Python :: 3.14",
43
41
  ]
44
42
  dependencies = [
45
43
  "Flask>=3.0.3,<4.0.0",
@@ -50,16 +48,16 @@ gevent = ["gevent>=22.10.2"]
50
48
  gunicorn = ["gunicorn>=20.1"]
51
49
 
52
50
  [dependency-groups]
53
- docs = ["Sphinx>=6.1.3,<8.0.0", "sphinx-rtd-theme>=1.2,<3.0"]
51
+ docs = ["Sphinx>=7.4.7,<10.0.0", "sphinx-rtd-theme>=1.2,<4.0"]
54
52
  dev = [
55
- "pytest>=8.3.5",
53
+ "pytest>=9.2.0",
56
54
  "Flask-Testing>=0.8.1",
57
- "requests>=2.32.4",
58
- "pre-commit>=3.5.0",
55
+ "requests>=2.34.2",
56
+ "pre-commit>=4.7.0",
59
57
  "bumpversion>=0.6.0",
60
- "ruff>=0.13.2",
61
- "mypy>=1.14.1",
62
- "types-requests>=2.32.0.20241016",
58
+ "ruff>=0.17.3",
59
+ "mypy>=2.4.1",
60
+ "types-requests>=2.33.0.20261030",
63
61
  ]
64
62
 
65
63
  [project.urls]
@@ -104,7 +102,7 @@ exclude = [
104
102
  ]
105
103
 
106
104
  line-length = 120
107
- target-version = "py38"
105
+ target-version = "py311"
108
106
 
109
107
  [tool.ruff.lint]
110
108
 
@@ -125,7 +123,7 @@ select = [
125
123
  "RUF", # Ruff-specific rules
126
124
  ]
127
125
  ignore = [
128
- "E501", # line too long, handled by black
126
+ "E501", # line too long, handled by ruff format
129
127
  "B008", # do not perform function calls in argument defaults
130
128
  "C901", # too complex
131
129
  "RUF200", # still using poetry
@@ -146,7 +144,7 @@ max-complexity = 10
146
144
  "doc/conf.py" = ["E402"]
147
145
 
148
146
  [tool.mypy]
149
- python_version = "3.8"
147
+ python_version = "3.11"
150
148
  warn_return_any = true
151
149
  warn_unused_configs = true
152
150
  exclude = [