Compare commits

...

118 Commits

Author SHA1 Message Date
Alex Janousek
bcb3526fb5 Merge branch 'main' into fix-security-vulnerabilities 2026-01-21 09:25:02 -05:00
dependabot[bot]
90a6987aaf Bump black from 25.12.0 to 26.1.0 (#2170)
Bumps [black](https://github.com/psf/black) from 25.12.0 to 26.1.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/25.12.0...26.1.0)

---
updated-dependencies:
- dependency-name: black
  dependency-version: 26.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-21 14:22:00 +00:00
dependabot[bot]
3e888d62b9 Bump alembic from 1.17.2 to 1.18.1 (#2173)
Bumps [alembic](https://github.com/sqlalchemy/alembic) from 1.17.2 to 1.18.1.
- [Release notes](https://github.com/sqlalchemy/alembic/releases)
- [Changelog](https://github.com/sqlalchemy/alembic/blob/main/CHANGES)
- [Commits](https://github.com/sqlalchemy/alembic/commits)

---
updated-dependencies:
- dependency-name: alembic
  dependency-version: 1.18.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-21 14:13:19 +00:00
dependabot[bot]
2612df438c Bump cloudfoundry-client from 1.39.1 to 1.40.1 (#2172)
Bumps [cloudfoundry-client](https://github.com/cloudfoundry-community/cf-python-client) from 1.39.1 to 1.40.1.
- [Commits](https://github.com/cloudfoundry-community/cf-python-client/compare/v1.39.1...v1.40.1)

---
updated-dependencies:
- dependency-name: cloudfoundry-client
  dependency-version: 1.40.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-21 09:07:27 -05:00
dependabot[bot]
df362aa998 Bump phonenumbers from 9.0.21 to 9.0.22 (#2174)
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers) from 9.0.21 to 9.0.22.
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v9.0.21...v9.0.22)

---
updated-dependencies:
- dependency-name: phonenumbers
  dependency-version: 9.0.22
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-21 09:04:16 -05:00
dependabot[bot]
e58691ba2b Bump hypothesis from 6.149.1 to 6.150.0 (#2158)
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.149.1 to 6.150.0.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.149.1...hypothesis-python-6.150.0)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-version: 6.150.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-20 20:32:56 +00:00
dependabot[bot]
3efbb07fa1 Bump jinja2-cli from 0.8.2 to 1.0.0 (#2163)
Bumps [jinja2-cli](https://github.com/mattrobenolt/jinja2-cli) from 0.8.2 to 1.0.0.
- [Release notes](https://github.com/mattrobenolt/jinja2-cli/releases)
- [Commits](https://github.com/mattrobenolt/jinja2-cli/compare/0.8.2...v1.0.0)

---
updated-dependencies:
- dependency-name: jinja2-cli
  dependency-version: 1.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-20 20:24:28 +00:00
Alex Janousek
ab51cfb75e Fixing errors 2026-01-20 15:17:41 -05:00
Alex Janousek
5102d3c036 Should fix dependency errors 2026-01-20 15:17:20 -05:00
Kenneth Kehl
c9b0b11893 Merge pull request #2168 from GSA/change_year
change year to 2026
2026-01-20 12:15:37 -08:00
Kenneth Kehl
244c982121 fix static scan 2026-01-20 10:37:07 -08:00
Kenneth Kehl
0753f75ac6 fix static scan 2026-01-20 10:32:35 -08:00
Kenneth Kehl
d0576fd513 fix static scan 2026-01-20 10:28:17 -08:00
Kenneth Kehl
9980b68edf upgrade werkzeug 2026-01-20 10:22:11 -08:00
Kenneth Kehl
683c558a58 fix pyasn1 and filelock 2026-01-20 10:11:06 -08:00
Kenneth Kehl
55b61eedaa fix python vulnerabilities 2026-01-20 10:01:28 -08:00
Kenneth Kehl
857d5784af change year to 2026 2026-01-20 09:49:07 -08:00
dependabot[bot]
1fb1526e99 Bump jsonschema from 4.25.1 to 4.26.0 (#2162)
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.25.1 to 4.26.0.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.25.1...v4.26.0)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-version: 4.26.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-12 09:50:37 -05:00
dependabot[bot]
3f05993704 Bump hypothesis from 6.148.8 to 6.149.0 (#2153)
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.148.8 to 6.149.0.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.148.8...hypothesis-python-6.149.0)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-version: 6.149.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-06 15:59:28 +00:00
dependabot[bot]
06a9bed5c8 Bump marshmallow from 4.1.2 to 4.2.0 (#2152)
Bumps [marshmallow](https://github.com/marshmallow-code/marshmallow) from 4.1.2 to 4.2.0.
- [Changelog](https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst)
- [Commits](https://github.com/marshmallow-code/marshmallow/compare/4.1.2...4.2.0)

---
updated-dependencies:
- dependency-name: marshmallow
  dependency-version: 4.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-06 15:50:32 +00:00
dependabot[bot]
c85a1eb4be Bump celery from 5.6.1 to 5.6.2 (#2156)
Bumps [celery](https://github.com/celery/celery) from 5.6.1 to 5.6.2.
- [Release notes](https://github.com/celery/celery/releases)
- [Changelog](https://github.com/celery/celery/blob/main/Changelog.rst)
- [Commits](https://github.com/celery/celery/compare/v5.6.1...v5.6.2)

---
updated-dependencies:
- dependency-name: celery
  dependency-version: 5.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-06 15:41:20 +00:00
dependabot[bot]
b3745bdfca Bump cloudfoundry-client from 1.39.0 to 1.39.1 (#2154)
Bumps [cloudfoundry-client](https://github.com/cloudfoundry-community/cf-python-client) from 1.39.0 to 1.39.1.
- [Commits](https://github.com/cloudfoundry-community/cf-python-client/compare/v1.39.0...v1.39.1)

---
updated-dependencies:
- dependency-name: cloudfoundry-client
  dependency-version: 1.39.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-06 10:40:00 -05:00
dependabot[bot]
743ca361c6 Bump certifi from 2025.11.12 to 2026.1.4 (#2155)
Bumps [certifi](https://github.com/certifi/python-certifi) from 2025.11.12 to 2026.1.4.
- [Commits](https://github.com/certifi/python-certifi/compare/2025.11.12...2026.01.04)

---
updated-dependencies:
- dependency-name: certifi
  dependency-version: 2026.1.4
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-06 10:38:24 -05:00
dependabot[bot]
286decf861 Bump aiohttp from 3.13.2 to 3.13.3 (#2157)
---
updated-dependencies:
- dependency-name: aiohttp
  dependency-version: 3.13.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-06 10:32:01 -05:00
dependabot[bot]
a750d8396e Bump moto from 5.1.18 to 5.1.19 (#2148)
Bumps [moto](https://github.com/getmoto/moto) from 5.1.18 to 5.1.19.
- [Release notes](https://github.com/getmoto/moto/releases)
- [Changelog](https://github.com/getmoto/moto/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getmoto/moto/compare/5.1.18...5.1.19)

---
updated-dependencies:
- dependency-name: moto
  dependency-version: 5.1.19
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-30 22:37:43 +00:00
dependabot[bot]
268889b4bb Bump faker from 39.0.0 to 40.1.0 (#2149)
Bumps [faker](https://github.com/joke2k/faker) from 39.0.0 to 40.1.0.
- [Release notes](https://github.com/joke2k/faker/releases)
- [Changelog](https://github.com/joke2k/faker/blob/master/CHANGELOG.md)
- [Commits](https://github.com/joke2k/faker/compare/v39.0.0...v40.1.0)

---
updated-dependencies:
- dependency-name: faker
  dependency-version: 40.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-30 17:28:50 -05:00
dependabot[bot]
7a9a05571d Bump celery from 5.6.0 to 5.6.1 (#2150)
Bumps [celery](https://github.com/celery/celery) from 5.6.0 to 5.6.1.
- [Release notes](https://github.com/celery/celery/releases)
- [Changelog](https://github.com/celery/celery/blob/main/Changelog.rst)
- [Commits](https://github.com/celery/celery/compare/v5.6.0...v5.6.1)

---
updated-dependencies:
- dependency-name: celery
  dependency-version: 5.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-30 17:18:33 -05:00
dependabot[bot]
81bcfbc089 Bump mistune from 3.1.4 to 3.2.0 (#2146)
Bumps [mistune](https://github.com/lepture/mistune) from 3.1.4 to 3.2.0.
- [Release notes](https://github.com/lepture/mistune/releases)
- [Changelog](https://github.com/lepture/mistune/blob/main/docs/changes.rst)
- [Commits](https://github.com/lepture/mistune/compare/v3.1.4...v3.2.0)

---
updated-dependencies:
- dependency-name: mistune
  dependency-version: 3.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-26 16:19:13 +00:00
dependabot[bot]
c8a3785c84 Bump hypothesis from 6.148.7 to 6.148.8 (#2147)
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.148.7 to 6.148.8.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.148.7...hypothesis-python-6.148.8)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-version: 6.148.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-26 11:10:24 -05:00
dependabot[bot]
d55c5aa80b Bump numpy from 2.3.5 to 2.4.0 (#2145)
Bumps [numpy](https://github.com/numpy/numpy) from 2.3.5 to 2.4.0.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v2.3.5...v2.4.0)

---
updated-dependencies:
- dependency-name: numpy
  dependency-version: 2.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-23 18:19:53 +00:00
dependabot[bot]
50273d4135 Bump marshmallow from 4.1.1 to 4.1.2 (#2144)
Bumps [marshmallow](https://github.com/marshmallow-code/marshmallow) from 4.1.1 to 4.1.2.
- [Changelog](https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst)
- [Commits](https://github.com/marshmallow-code/marshmallow/compare/4.1.1...4.1.2)

---
updated-dependencies:
- dependency-name: marshmallow
  dependency-version: 4.1.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-23 13:11:03 -05:00
dependabot[bot]
a9b0ca2276 Bump phonenumbers from 9.0.20 to 9.0.21 (#2143)
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers) from 9.0.20 to 9.0.21.
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/commits)

---
updated-dependencies:
- dependency-name: phonenumbers
  dependency-version: 9.0.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-19 10:53:23 -05:00
dependabot[bot]
672c838318 Bump pre-commit from 4.5.0 to 4.5.1 (#2141)
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 4.5.0 to 4.5.1.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v4.5.0...v4.5.1)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-version: 4.5.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-18 17:41:16 +00:00
dependabot[bot]
eea66e0f5b Bump faker from 38.2.0 to 39.0.0 (#2142)
Bumps [faker](https://github.com/joke2k/faker) from 38.2.0 to 39.0.0.
- [Release notes](https://github.com/joke2k/faker/releases)
- [Changelog](https://github.com/joke2k/faker/blob/master/CHANGELOG.md)
- [Commits](https://github.com/joke2k/faker/compare/v38.2.0...v39.0.0)

---
updated-dependencies:
- dependency-name: faker
  dependency-version: 39.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-18 11:11:55 -05:00
dependabot[bot]
faf43a277d Bump cachetools from 6.2.2 to 6.2.4 (#2139)
Bumps [cachetools](https://github.com/tkem/cachetools) from 6.2.2 to 6.2.4.
- [Changelog](https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/tkem/cachetools/compare/v6.2.2...v6.2.4)

---
updated-dependencies:
- dependency-name: cachetools
  dependency-version: 6.2.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-17 10:19:11 -05:00
dependabot[bot]
ddcb8f28e8 Bump filelock from 3.19.1 to 3.20.1 (#2140)
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.19.1 to 3.20.1.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.19.1...3.20.1)

---
updated-dependencies:
- dependency-name: filelock
  dependency-version: 3.20.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-17 10:05:31 -05:00
dependabot[bot]
7d22fe1ee9 Bump urllib3 from 2.6.1 to 2.6.2 (#2137)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.6.1 to 2.6.2.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.6.1...2.6.2)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-12 09:05:28 -05:00
dependabot[bot]
0f82ef6096 Bump newrelic from 11.1.0 to 11.2.0 (#2131)
Bumps [newrelic](https://github.com/newrelic/newrelic-python-agent) from 11.1.0 to 11.2.0.
- [Release notes](https://github.com/newrelic/newrelic-python-agent/releases)
- [Commits](https://github.com/newrelic/newrelic-python-agent/compare/v11.1.0...v11.2.0)

---
updated-dependencies:
- dependency-name: newrelic
  dependency-version: 11.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-11 19:07:47 +00:00
dependabot[bot]
06932340b1 Bump sqlalchemy from 2.0.44 to 2.0.45 (#2132)
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.44 to 2.0.45.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-version: 2.0.45
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-11 13:55:02 -05:00
Kenneth Kehl
686c216515 Broken terraform (#2135)
* fix bad provider

* fix demo

---------

Co-authored-by: Kenneth Kehl <@kkehl@flexion.us>
2025-12-10 20:44:55 +00:00
Kenneth Kehl
898dfcfdd7 fix bad provider (#2133)
Co-authored-by: Kenneth Kehl <@kkehl@flexion.us>
2025-12-10 19:13:24 +00:00
Alex Janousek
b2a482955d Removed carlo from cf (#2130)
* Removed carlo from cf

* Missed a quote
2025-12-09 12:26:18 -08:00
dependabot[bot]
9bc353d1b6 Bump black from 25.11.0 to 25.12.0 (#2127)
Bumps [black](https://github.com/psf/black) from 25.11.0 to 25.12.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/25.11.0...25.12.0)

---
updated-dependencies:
- dependency-name: black
  dependency-version: 25.12.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-09 15:25:51 +00:00
dependabot[bot]
3a575c1c79 Bump marshmallow from 4.1.0 to 4.1.1 (#2126)
Bumps [marshmallow](https://github.com/marshmallow-code/marshmallow) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst)
- [Commits](https://github.com/marshmallow-code/marshmallow/compare/4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: marshmallow
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-09 15:13:00 +00:00
dependabot[bot]
16550abcdc Bump urllib3 from 2.6.0 to 2.6.1 (#2128)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.6.0 to 2.6.1.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.6.0...2.6.1)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-09 15:00:33 +00:00
dependabot[bot]
2ca334c47f Bump pytest from 9.0.1 to 9.0.2 (#2129)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.1 to 9.0.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/9.0.1...9.0.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-09 09:48:18 -05:00
dependabot[bot]
a767c14f47 Bump hypothesis from 6.148.6 to 6.148.7 (#2123)
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.148.6 to 6.148.7.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.148.6...hypothesis-python-6.148.7)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-version: 6.148.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-08 15:31:59 +00:00
dependabot[bot]
189c61f21f Bump phonenumbers from 9.0.19 to 9.0.20 (#2122)
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers) from 9.0.19 to 9.0.20.
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v9.0.19...v9.0.20)

---
updated-dependencies:
- dependency-name: phonenumbers
  dependency-version: 9.0.20
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-08 15:19:18 +00:00
dependabot[bot]
66697ee505 Bump urllib3 from 2.5.0 to 2.6.0 (#2124)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.5.0...2.6.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-08 10:07:02 -05:00
dependabot[bot]
ca8a235191 Bump hypothesis from 6.148.5 to 6.148.6 (#2121)
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.148.5 to 6.148.6.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.148.5...hypothesis-python-6.148.6)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-version: 6.148.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-05 09:35:51 -05:00
dependabot[bot]
0d1b519c48 Bump cyclonedx-python-lib from 11.5.0 to 11.6.0 (#2117)
Bumps [cyclonedx-python-lib](https://github.com/CycloneDX/cyclonedx-python-lib) from 11.5.0 to 11.6.0.
- [Release notes](https://github.com/CycloneDX/cyclonedx-python-lib/releases)
- [Changelog](https://github.com/CycloneDX/cyclonedx-python-lib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.5.0...v11.6.0)

---
updated-dependencies:
- dependency-name: cyclonedx-python-lib
  dependency-version: 11.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-03 15:12:35 +00:00
dependabot[bot]
63d7799eda Bump moto from 5.1.17 to 5.1.18 (#2119)
Bumps [moto](https://github.com/getmoto/moto) from 5.1.17 to 5.1.18.
- [Release notes](https://github.com/getmoto/moto/releases)
- [Changelog](https://github.com/getmoto/moto/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getmoto/moto/compare/5.1.17...5.1.18)

---
updated-dependencies:
- dependency-name: moto
  dependency-version: 5.1.18
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-03 14:59:50 +00:00
dependabot[bot]
c2b80f93c3 Bump pip-audit from 2.5.1 to 2.10.0 (#2118)
Bumps [pip-audit](https://github.com/pypa/pip-audit) from 2.5.1 to 2.10.0.
- [Release notes](https://github.com/pypa/pip-audit/releases)
- [Changelog](https://github.com/pypa/pip-audit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pypa/pip-audit/compare/v2.5.1...v2.10.0)

---
updated-dependencies:
- dependency-name: pip-audit
  dependency-version: 2.10.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-03 09:50:37 -05:00
dependabot[bot]
382c51dd50 Bump redis from 5.2.1 to 6.4.0 (#2120)
Bumps [redis](https://github.com/redis/redis-py) from 5.2.1 to 6.4.0.
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](https://github.com/redis/redis-py/compare/v5.2.1...v6.4.0)

---
updated-dependencies:
- dependency-name: redis
  dependency-version: 6.4.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-03 09:47:25 -05:00
dependabot[bot]
f858b0edb1 Bump beautifulsoup4 from 4.14.2 to 4.14.3 (#2115)
Bumps [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) from 4.14.2 to 4.14.3.

---
updated-dependencies:
- dependency-name: beautifulsoup4
  dependency-version: 4.14.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 16:32:06 +00:00
dependabot[bot]
2dd3a839f8 Bump hypothesis from 6.148.3 to 6.148.5 (#2114)
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.148.3 to 6.148.5.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.148.3...hypothesis-python-6.148.5)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-version: 6.148.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 16:20:04 +00:00
dependabot[bot]
a2cedc6fe8 Bump celery from 5.5.3 to 5.6.0 (#2112)
Bumps [celery](https://github.com/celery/celery) from 5.5.3 to 5.6.0.
- [Release notes](https://github.com/celery/celery/releases)
- [Changelog](https://github.com/celery/celery/blob/main/Changelog.rst)
- [Commits](https://github.com/celery/celery/compare/v5.5.3...v5.6.0)

---
updated-dependencies:
- dependency-name: celery
  dependency-version: 5.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 16:07:32 +00:00
dependabot[bot]
03a64d5d85 Bump werkzeug from 3.1.3 to 3.1.4 (#2113)
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/3.1.3...3.1.4)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-version: 3.1.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 15:55:31 +00:00
dependabot[bot]
cabe0055ab Bump flake8-bugbear from 25.10.21 to 25.11.29 (#2116)
Bumps [flake8-bugbear](https://github.com/PyCQA/flake8-bugbear) from 25.10.21 to 25.11.29.
- [Release notes](https://github.com/PyCQA/flake8-bugbear/releases)
- [Commits](https://github.com/PyCQA/flake8-bugbear/compare/25.10.21...25.11.29)

---
updated-dependencies:
- dependency-name: flake8-bugbear
  dependency-version: 25.11.29
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 10:42:42 -05:00
dependabot[bot]
627fd80aa0 Bump hypothesis from 6.148.2 to 6.148.3 (#2111)
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.148.2 to 6.148.3.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.148.2...hypothesis-python-6.148.3)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-version: 6.148.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-28 21:57:51 -05:00
dependabot[bot]
86777ce407 Bump pre-commit from 4.4.0 to 4.5.0 (#2108)
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v4.4.0...v4.5.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-version: 4.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-24 22:03:44 +00:00
dependabot[bot]
4c53a7f15f Bump bandit from 1.9.1 to 1.9.2 (#2109)
Bumps [bandit](https://github.com/PyCQA/bandit) from 1.9.1 to 1.9.2.
- [Release notes](https://github.com/PyCQA/bandit/releases)
- [Commits](https://github.com/PyCQA/bandit/compare/1.9.1...1.9.2)

---
updated-dependencies:
- dependency-name: bandit
  dependency-version: 1.9.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-24 16:53:01 -05:00
dependabot[bot]
a8a990295d Bump exceptiongroup from 1.3.0 to 1.3.1 (#2110)
Bumps [exceptiongroup](https://github.com/agronholm/exceptiongroup) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/agronholm/exceptiongroup/releases)
- [Changelog](https://github.com/agronholm/exceptiongroup/blob/main/CHANGES.rst)
- [Commits](https://github.com/agronholm/exceptiongroup/compare/1.3.0...1.3.1)

---
updated-dependencies:
- dependency-name: exceptiongroup
  dependency-version: 1.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-24 16:51:25 -05:00
dependabot[bot]
670e2b9e65 Bump phonenumbers from 9.0.18 to 9.0.19 (#2107)
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers) from 9.0.18 to 9.0.19.
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v9.0.18...v9.0.19)

---
updated-dependencies:
- dependency-name: phonenumbers
  dependency-version: 9.0.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-21 08:10:46 -05:00
dependabot[bot]
bd6df3630d Bump hypothesis from 6.148.1 to 6.148.2 (#2106)
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.148.1 to 6.148.2.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.148.1...hypothesis-python-6.148.2)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-version: 6.148.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-19 21:34:01 +00:00
dependabot[bot]
b6de2e5be2 Bump moto from 5.1.16 to 5.1.17 (#2103)
Bumps [moto](https://github.com/getmoto/moto) from 5.1.16 to 5.1.17.
- [Release notes](https://github.com/getmoto/moto/releases)
- [Changelog](https://github.com/getmoto/moto/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getmoto/moto/compare/5.1.16...5.1.17)

---
updated-dependencies:
- dependency-name: moto
  dependency-version: 5.1.17
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-19 21:25:09 +00:00
dependabot[bot]
512d2537a9 Bump bandit from 1.8.6 to 1.9.1 (#2104)
Bumps [bandit](https://github.com/PyCQA/bandit) from 1.8.6 to 1.9.1.
- [Release notes](https://github.com/PyCQA/bandit/releases)
- [Commits](https://github.com/PyCQA/bandit/compare/1.8.6...1.9.1)

---
updated-dependencies:
- dependency-name: bandit
  dependency-version: 1.9.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-19 16:16:14 -05:00
dependabot[bot]
50926bf222 Bump faker from 38.0.0 to 38.2.0 (#2105)
Bumps [faker](https://github.com/joke2k/faker) from 38.0.0 to 38.2.0.
- [Release notes](https://github.com/joke2k/faker/releases)
- [Changelog](https://github.com/joke2k/faker/blob/master/CHANGELOG.md)
- [Commits](https://github.com/joke2k/faker/compare/v38.0.0...v38.2.0)

---
updated-dependencies:
- dependency-name: faker
  dependency-version: 38.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-19 21:14:52 +00:00
dependabot[bot]
17157ae43c Bump numpy from 2.3.4 to 2.3.5 (#2101)
Bumps [numpy](https://github.com/numpy/numpy) from 2.3.4 to 2.3.5.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v2.3.4...v2.3.5)

---
updated-dependencies:
- dependency-name: numpy
  dependency-version: 2.3.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-18 15:00:13 +00:00
dependabot[bot]
9714977f3b Bump hypothesis from 6.147.0 to 6.148.1 (#2100)
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.147.0 to 6.148.1.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.147.0...hypothesis-python-6.148.1)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-version: 6.148.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-18 14:51:50 +00:00
dependabot[bot]
9519a3754a Bump click from 8.3.0 to 8.3.1 (#2102)
Bumps [click](https://github.com/pallets/click) from 8.3.0 to 8.3.1.
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.3.0...8.3.1)

---
updated-dependencies:
- dependency-name: click
  dependency-version: 8.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-18 09:43:02 -05:00
ccostino
56ac3a0bc1 Merge pull request #2099 from GSA/dependabot/pip/alembic-1.17.2
Bump alembic from 1.17.1 to 1.17.2
2025-11-14 16:26:32 -05:00
dependabot[bot]
51f0fd9fa7 Bump alembic from 1.17.1 to 1.17.2
Bumps [alembic](https://github.com/sqlalchemy/alembic) from 1.17.1 to 1.17.2.
- [Release notes](https://github.com/sqlalchemy/alembic/releases)
- [Changelog](https://github.com/sqlalchemy/alembic/blob/main/CHANGES)
- [Commits](https://github.com/sqlalchemy/alembic/commits)

---
updated-dependencies:
- dependency-name: alembic
  dependency-version: 1.17.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-14 21:07:07 +00:00
ccostino
463a34b67c Merge pull request #2098 from GSA/dependabot/pip/cachetools-6.2.2
Bump cachetools from 6.2.1 to 6.2.2
2025-11-13 17:41:28 -05:00
dependabot[bot]
a0d0633fdc Bump cachetools from 6.2.1 to 6.2.2
Bumps [cachetools](https://github.com/tkem/cachetools) from 6.2.1 to 6.2.2.
- [Changelog](https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/tkem/cachetools/compare/v6.2.1...v6.2.2)

---
updated-dependencies:
- dependency-name: cachetools
  dependency-version: 6.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-13 21:06:35 +00:00
ccostino
3ad3b005d5 Merge pull request #2095 from GSA/dependabot/pip/faker-38.0.0
Bump faker from 37.12.0 to 38.0.0
2025-11-13 13:36:41 -05:00
dependabot[bot]
c70bc7c2c5 Bump faker from 37.12.0 to 38.0.0
Bumps [faker](https://github.com/joke2k/faker) from 37.12.0 to 38.0.0.
- [Release notes](https://github.com/joke2k/faker/releases)
- [Changelog](https://github.com/joke2k/faker/blob/master/CHANGELOG.md)
- [Commits](https://github.com/joke2k/faker/compare/v37.12.0...v38.0.0)

---
updated-dependencies:
- dependency-name: faker
  dependency-version: 38.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-12 22:37:58 +00:00
ccostino
49996234de Merge pull request #2096 from GSA/dependabot/pip/pytest-9.0.1
Bump pytest from 9.0.0 to 9.0.1
2025-11-12 17:35:44 -05:00
ccostino
c38637c2e7 Merge pull request #2097 from GSA/dependabot/pip/certifi-2025.11.12
Bump certifi from 2025.10.5 to 2025.11.12
2025-11-12 16:37:09 -05:00
dependabot[bot]
c90eb112e0 Bump certifi from 2025.10.5 to 2025.11.12
Bumps [certifi](https://github.com/certifi/python-certifi) from 2025.10.5 to 2025.11.12.
- [Commits](https://github.com/certifi/python-certifi/compare/2025.10.05...2025.11.12)

---
updated-dependencies:
- dependency-name: certifi
  dependency-version: 2025.11.12
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-12 21:08:37 +00:00
dependabot[bot]
72c2061f00 Bump pytest from 9.0.0 to 9.0.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.0 to 9.0.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/9.0.0...9.0.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-12 21:08:09 +00:00
dependabot[bot]
e2f874bdae Bump pytest from 8.4.2 to 9.0.0 (#2092)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.4.2 to 9.0.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.4.2...9.0.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-11 12:59:45 +00:00
dependabot[bot]
592049a0f3 Bump black from 25.9.0 to 25.11.0 (#2091)
Bumps [black](https://github.com/psf/black) from 25.9.0 to 25.11.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/25.9.0...25.11.0)

---
updated-dependencies:
- dependency-name: black
  dependency-version: 25.11.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-11 12:50:58 +00:00
dependabot[bot]
8e51a3364f Bump pre-commit from 4.3.0 to 4.4.0 (#2093)
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 4.3.0 to 4.4.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v4.3.0...v4.4.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-version: 4.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-11 07:41:38 -05:00
ccostino
2ea202a9e4 Merge pull request #2090 from GSA/dependabot/pip/phonenumbers-9.0.18
Bump phonenumbers from 9.0.17 to 9.0.18
2025-11-07 16:21:19 -05:00
dependabot[bot]
2713efd4ee Bump phonenumbers from 9.0.17 to 9.0.18
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers) from 9.0.17 to 9.0.18.
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v9.0.17...v9.0.18)

---
updated-dependencies:
- dependency-name: phonenumbers
  dependency-version: 9.0.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-07 21:06:42 +00:00
ccostino
55acb27675 Merge pull request #2089 from GSA/dependabot/pip/hypothesis-6.147.0
Bump hypothesis from 6.146.0 to 6.147.0
2025-11-06 16:14:19 -05:00
dependabot[bot]
8baf02a393 Bump hypothesis from 6.146.0 to 6.147.0
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.146.0 to 6.147.0.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.146.0...hypothesis-python-6.147.0)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-version: 6.147.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-06 21:06:14 +00:00
dependabot[bot]
0845e9ffbe Bump hypothesis from 6.145.1 to 6.146.0 (#2088)
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.145.1 to 6.146.0.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.145.1...hypothesis-python-6.146.0)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-version: 6.146.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-06 09:20:05 -05:00
dependabot[bot]
3cbda2fd50 Bump newrelic from 11.0.1 to 11.1.0 (#2086)
Bumps [newrelic](https://github.com/newrelic/newrelic-python-agent) from 11.0.1 to 11.1.0.
- [Release notes](https://github.com/newrelic/newrelic-python-agent/releases)
- [Commits](https://github.com/newrelic/newrelic-python-agent/compare/v11.0.1...v11.1.0)

---
updated-dependencies:
- dependency-name: newrelic
  dependency-version: 11.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-05 12:39:56 +00:00
dependabot[bot]
2f3cdb39be Bump regex from 2025.10.23 to 2025.11.3 (#2087)
Bumps [regex](https://github.com/mrabarnett/mrab-regex) from 2025.10.23 to 2025.11.3.
- [Changelog](https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt)
- [Commits](https://github.com/mrabarnett/mrab-regex/compare/2025.10.23...2025.11.3)

---
updated-dependencies:
- dependency-name: regex
  dependency-version: 2025.11.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-05 07:30:54 -05:00
dependabot[bot]
864f4caf76 Bump moto from 5.1.15 to 5.1.16 (#2084)
Bumps [moto](https://github.com/getmoto/moto) from 5.1.15 to 5.1.16.
- [Release notes](https://github.com/getmoto/moto/releases)
- [Changelog](https://github.com/getmoto/moto/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getmoto/moto/compare/5.1.15...5.1.16)

---
updated-dependencies:
- dependency-name: moto
  dependency-version: 5.1.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-04 22:33:48 +00:00
dependabot[bot]
ceea463086 Bump hypothesis from 6.142.5 to 6.145.0 (#2085)
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.142.5 to 6.145.0.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.142.5...hypothesis-python-6.145.0)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-version: 6.145.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-04 13:24:20 -05:00
ccostino
b776bffb20 Merge pull request #2083 from GSA/dependabot/pip/marshmallow-4.1.0
Bump marshmallow from 4.0.1 to 4.1.0
2025-11-04 11:32:10 -05:00
dependabot[bot]
b660c4052c Bump marshmallow from 4.0.1 to 4.1.0
Bumps [marshmallow](https://github.com/marshmallow-code/marshmallow) from 4.0.1 to 4.1.0.
- [Changelog](https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst)
- [Commits](https://github.com/marshmallow-code/marshmallow/compare/4.0.1...4.1.0)

---
updated-dependencies:
- dependency-name: marshmallow
  dependency-version: 4.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-03 21:10:55 +00:00
dependabot[bot]
065f862a52 Bump deprecated from 1.3.0 to 1.3.1 (#2080)
Bumps [deprecated](https://github.com/laurent-laporte-pro/deprecated) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/laurent-laporte-pro/deprecated/releases)
- [Changelog](https://github.com/laurent-laporte-pro/deprecated/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/laurent-laporte-pro/deprecated/compare/v1.3.0...v1.3.1)

---
updated-dependencies:
- dependency-name: deprecated
  dependency-version: 1.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 20:14:59 +00:00
dependabot[bot]
19c8f26476 Bump cyclonedx-python-lib from 11.4.0 to 11.5.0 (#2081)
Bumps [cyclonedx-python-lib](https://github.com/CycloneDX/cyclonedx-python-lib) from 11.4.0 to 11.5.0.
- [Release notes](https://github.com/CycloneDX/cyclonedx-python-lib/releases)
- [Changelog](https://github.com/CycloneDX/cyclonedx-python-lib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.4.0...v11.5.0)

---
updated-dependencies:
- dependency-name: cyclonedx-python-lib
  dependency-version: 11.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 20:04:31 +00:00
dependabot[bot]
62b8ea71a4 Bump hypothesis from 6.142.4 to 6.142.5 (#2082)
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.142.4 to 6.142.5.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.142.4...hypothesis-python-6.142.5)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-version: 6.142.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 14:55:17 -05:00
dependabot[bot]
4a57413dca Bump deprecated from 1.2.18 to 1.3.0 (#2077)
Bumps [deprecated](https://github.com/laurent-laporte-pro/deprecated) from 1.2.18 to 1.3.0.
- [Release notes](https://github.com/laurent-laporte-pro/deprecated/releases)
- [Changelog](https://github.com/laurent-laporte-pro/deprecated/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/laurent-laporte-pro/deprecated/compare/v1.2.18...v1.3.0)

---
updated-dependencies:
- dependency-name: deprecated
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-30 02:15:52 +00:00
dependabot[bot]
ffd23dc1a2 Bump alembic from 1.17.0 to 1.17.1 (#2076)
Bumps [alembic](https://github.com/sqlalchemy/alembic) from 1.17.0 to 1.17.1.
- [Release notes](https://github.com/sqlalchemy/alembic/releases)
- [Changelog](https://github.com/sqlalchemy/alembic/blob/main/CHANGES)
- [Commits](https://github.com/sqlalchemy/alembic/commits)

---
updated-dependencies:
- dependency-name: alembic
  dependency-version: 1.17.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-30 02:06:33 +00:00
dependabot[bot]
838fef13f2 Bump virtualenv from 20.35.3 to 20.35.4 (#2078)
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.35.3 to 20.35.4.
- [Release notes](https://github.com/pypa/virtualenv/releases)
- [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst)
- [Commits](https://github.com/pypa/virtualenv/compare/20.35.3...20.35.4)

---
updated-dependencies:
- dependency-name: virtualenv
  dependency-version: 20.35.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-29 21:58:00 -04:00
ccostino
99649b4b1b Merge pull request #2063 from GSA/2971-include-recent-template-used-per-service-within-organization
Dashboard endpoint to combine data
2025-10-29 11:34:25 -04:00
ccostino
bf68dde3f6 Merge pull request #2075 from GSA/disable-demo-infra-drift-check
Disable demo infrastructure drift check
2025-10-29 11:20:49 -04:00
Carlo Costino
fe3c54707c Disable demo infrastructure drift check
This changeset disables the infrastructure drift check for our demo environment because we are no longer using the demo environment, and the infrastructure is in a known broken state.  More work will follow on in the future to clean things up fully.

Signed-off-by: Carlo Costino <carlo.costino@gsa.gov>
2025-10-29 10:27:59 -04:00
dependabot[bot]
cb4b769557 Bump aiohttp from 3.13.1 to 3.13.2 (#2074)
---
updated-dependencies:
- dependency-name: aiohttp
  dependency-version: 3.13.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-29 07:35:43 -04:00
Beverly Nguyen
e5546dddbc Remove unnecessary UUID/string conversions 2025-10-28 20:44:48 -07:00
Beverly Nguyen
e9a013753b removed converting uuid to strings 2025-10-28 20:33:28 -07:00
dependabot[bot]
aeef6bddcd Bump python-dotenv from 1.1.1 to 1.2.1 (#2071)
Bumps [python-dotenv](https://github.com/theskumar/python-dotenv) from 1.1.1 to 1.2.1.
- [Release notes](https://github.com/theskumar/python-dotenv/releases)
- [Changelog](https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md)
- [Commits](https://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.1)

---
updated-dependencies:
- dependency-name: python-dotenv
  dependency-version: 1.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-28 08:53:13 -04:00
ccostino
a313acee95 Merge pull request #2070 from GSA/dependabot/pip/bleach-6.3.0
Bump bleach from 6.2.0 to 6.3.0
2025-10-28 08:35:32 -04:00
dependabot[bot]
00afb7d890 Bump bleach from 6.2.0 to 6.3.0
Bumps [bleach](https://github.com/mozilla/bleach) from 6.2.0 to 6.3.0.
- [Changelog](https://github.com/mozilla/bleach/blob/main/CHANGES)
- [Commits](https://github.com/mozilla/bleach/compare/v6.2.0...v6.3.0)

---
updated-dependencies:
- dependency-name: bleach
  dependency-version: 6.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-28 12:25:03 +00:00
ccostino
2714b4bfce Merge pull request #2069 from GSA/dependabot/pip/hypothesis-6.142.4
Bump hypothesis from 6.142.3 to 6.142.4
2025-10-28 08:22:58 -04:00
Beverly Nguyen
608aa3bac6 test 2025-10-27 16:39:42 -07:00
Beverly Nguyen
2d730befd3 fix testing 2025-10-27 16:39:42 -07:00
Beverly Nguyen
5b76a75ac6 isort 2025-10-27 16:39:42 -07:00
Beverly Nguyen
e6226dd82a formatting 2025-10-27 16:39:42 -07:00
Beverly Nguyen
bc08521d83 added get_organization_dashboard 2025-10-27 16:39:42 -07:00
Beverly Nguyen
6115e0f778 Created a dashboard endpoint combines service usage data with recent template names and primary contact emails, providing all data needed for the organization dashboard table in a single API call. 2025-10-27 16:26:03 -07:00
dependabot[bot]
d7cd9a4985 Bump hypothesis from 6.142.3 to 6.142.4
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.142.3 to 6.142.4.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.142.3...hypothesis-python-6.142.4)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-version: 6.142.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 21:21:38 +00:00
16 changed files with 963 additions and 738 deletions

View File

@@ -44,44 +44,44 @@ jobs:
exit $exit_code
fi
check_demo_drift:
runs-on: ubuntu-latest
name: Check for drift of demo terraform configuration
environment: demo
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: 'production'
# check_demo_drift:
# runs-on: ubuntu-latest
# name: Check for drift of demo terraform configuration
# environment: demo
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# with:
# ref: 'production'
# Looks like we need to install Terraform ourselves now!
# https://github.com/actions/runner-images/issues/10796#issuecomment-2417064348
- name: Setup Terraform
uses: hashicorp/setup-terraform@v3
with:
terraform_version: "^1.7.5"
terraform_wrapper: false
# # Looks like we need to install Terraform ourselves now!
# # https://github.com/actions/runner-images/issues/10796#issuecomment-2417064348
# - name: Setup Terraform
# uses: hashicorp/setup-terraform@v3
# with:
# terraform_version: "^1.7.5"
# terraform_wrapper: false
- name: Check for drift
env:
AWS_ACCESS_KEY_ID: ${{ secrets.TERRAFORM_STATE_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.TERRAFORM_STATE_SECRET_ACCESS_KEY }}
TF_VAR_cf_user: ${{ secrets.CLOUDGOV_USERNAME }}
TF_VAR_cf_password: ${{ secrets.CLOUDGOV_PASSWORD }}
run: |
cd terraform/demo
terraform init
terraform plan -detailed-exitcode
exit_code=$?
if [ $exit_code -eq 0 ]; then
echo "No changes detected. Intrastructure is up-to-date."
elif [ $exit_code -eq 2 ]; then
echo "Changes detected. Infrastructure drift found."
exit 1
else
echo "Error running terraform plan."
exit $exit_code
fi
# - name: Check for drift
# env:
# AWS_ACCESS_KEY_ID: ${{ secrets.TERRAFORM_STATE_ACCESS_KEY }}
# AWS_SECRET_ACCESS_KEY: ${{ secrets.TERRAFORM_STATE_SECRET_ACCESS_KEY }}
# TF_VAR_cf_user: ${{ secrets.CLOUDGOV_USERNAME }}
# TF_VAR_cf_password: ${{ secrets.CLOUDGOV_PASSWORD }}
# run: |
# cd terraform/demo
# terraform init
# terraform plan -detailed-exitcode
# exit_code=$?
# if [ $exit_code -eq 0 ]; then
# echo "No changes detected. Intrastructure is up-to-date."
# elif [ $exit_code -eq 2 ]; then
# echo "Changes detected. Infrastructure drift found."
# exit 1
# else
# echo "Error running terraform plan."
# exit $exit_code
# fi
check_prod_drift:
runs-on: ubuntu-latest

View File

@@ -9,8 +9,8 @@ class CloudfoundryConfig:
self.s3_buckets = {bucket["name"]: bucket["credentials"] for bucket in buckets}
self._empty_bucket_credentials = {
"bucket": "",
"access_key_id": "",
"secret_access_key": "",
"access_key_id": "", # nosec B105
"secret_access_key": "", # nosec B105
"region": "",
}

View File

@@ -719,7 +719,7 @@ def fetch_usage_year_for_organization(
service_with_usage = {}
# initialise results
for service in services:
service_with_usage[str(service.id)] = {
service_with_usage[service.id] = {
"service_id": service.id,
"service_name": service.name,
"free_sms_limit": 0,
@@ -736,7 +736,7 @@ def fetch_usage_year_for_organization(
organization_id, year_start, year_end
)
for usage in sms_usages:
service_with_usage[str(usage.service_id)] = {
service_with_usage[usage.service_id] = {
"service_id": usage.service_id,
"service_name": usage.service_name,
"free_sms_limit": usage.free_sms_fragment_limit,
@@ -749,7 +749,7 @@ def fetch_usage_year_for_organization(
"restricted": usage.restricted,
}
for email_usage in email_usages:
service_with_usage[str(email_usage.service_id)][
service_with_usage[email_usage.service_id][
"emails_sent"
] = email_usage.emails_sent

View File

@@ -27,7 +27,12 @@ from app import create_uuid, db
from app.dao.dao_utils import autocommit
from app.dao.inbound_sms_dao import Pagination
from app.enums import KeyType, NotificationStatus, NotificationType
from app.models import FactNotificationStatus, Notification, NotificationHistory
from app.models import (
FactNotificationStatus,
Notification,
NotificationHistory,
Template,
)
from app.utils import (
escape_special_characters,
get_midnight_in_utc,
@@ -340,7 +345,7 @@ def dao_get_notification_count_for_service_message_ratio(service_id, current_yea
return recent_count + old_count
def dao_get_notification_counts_for_organization(service_ids, current_year):
def dao_get_notification_counts_per_service(service_ids, current_year):
"""
Get notification counts for multiple services in a single organization.
"""
@@ -395,6 +400,31 @@ def dao_get_notification_counts_for_organization(service_ids, current_year):
return result_dict
def dao_get_recent_sms_template_per_service(service_ids):
if not service_ids:
return {}
stmt = (
select(
Notification.service_id,
Template.name.label("template_name"),
)
.join(Template, Template.id == Notification.template_id)
.where(
Notification.service_id.in_(service_ids),
Notification.notification_type == NotificationType.SMS,
Notification.key_type != KeyType.TEST,
)
.distinct(Notification.service_id)
.order_by(Notification.service_id, desc(Notification.created_at))
)
results = db.session.execute(stmt).all()
return {service_id: template_name for service_id, template_name in results}
def dao_get_failed_notification_count():
stmt = select(func.count(Notification.id)).where(
Notification.status == NotificationStatus.FAILED

View File

@@ -254,6 +254,21 @@ def dao_fetch_all_services_created_by_user(user_id):
return db.session.execute(stmt).scalars().all()
def dao_get_service_primary_contacts(service_ids):
if not service_ids:
return {}
stmt = select(
Service.id.label("service_id"),
Service.billing_contact_email_addresses.label("email_address"),
).where(Service.id.in_(service_ids))
results = db.session.execute(stmt).all()
return {service_id: email_address for service_id, email_address in results}
@autocommit
@version_class(
VersionOptions(ApiKey, must_write_history=False),

View File

@@ -35,11 +35,12 @@ def check_service_over_total_message_limit(key_type, service):
# For now we are using calendar year
# Switch to using service agreement dates when the Agreement model is ready
# If the service stat has never been set before, compute the remaining seconds for 2025
# and set it (all services) to expire on 12/31/2025.
# and set it (all services) to expire on 12/31/2026.
if service_stats is None:
now_et = datetime.now(ZoneInfo("America/New_York"))
target_time = datetime(
2025, 12, 31, 23, 59, 59, tzinfo=ZoneInfo("America/New_York")
2026, 12, 31, 23, 59, 59, tzinfo=ZoneInfo("America/New_York")
)
time_difference = target_time - now_et
seconds_difference = int(time_difference.total_seconds())

View File

@@ -10,7 +10,10 @@ from app.config import QueueNames
from app.dao.annual_billing_dao import set_default_free_allowance_for_service
from app.dao.dao_utils import transaction
from app.dao.fact_billing_dao import fetch_usage_year_for_organization
from app.dao.notifications_dao import dao_get_notification_counts_for_organization
from app.dao.notifications_dao import (
dao_get_notification_counts_per_service,
dao_get_recent_sms_template_per_service,
)
from app.dao.organization_dao import (
dao_add_service_to_organization,
dao_add_user_to_organization,
@@ -23,7 +26,10 @@ from app.dao.organization_dao import (
dao_remove_user_from_organization,
dao_update_organization,
)
from app.dao.services_dao import dao_fetch_service_by_id
from app.dao.services_dao import (
dao_fetch_service_by_id,
dao_get_service_primary_contacts,
)
from app.dao.templates_dao import dao_get_template_by_id
from app.dao.users_dao import get_user_by_id
from app.enums import KeyType
@@ -151,11 +157,8 @@ def get_organization_services_usage(organization_id):
year = int(request.args.get("year", "none"))
except ValueError:
return jsonify(result="error", message="No valid year provided"), 400
include_all = request.args.get("include_all_services", "false").lower() == "true"
services = fetch_usage_year_for_organization(
organization_id, year, include_all_services=include_all
)
services = fetch_usage_year_for_organization(organization_id, year)
list_services = services.values()
sorted_services = sorted(
list_services, key=lambda s: (-s["active"], s["service_name"].lower())
@@ -163,6 +166,51 @@ def get_organization_services_usage(organization_id):
return jsonify(services=sorted_services)
@organization_blueprint.route("/<uuid:organization_id>/dashboard", methods=["GET"])
def get_organization_dashboard(organization_id):
check_suspicious_id(organization_id)
try:
year = int(request.args.get("year", "none"))
except ValueError:
return jsonify(result="error", message="No valid year provided"), 400
services_with_usage = fetch_usage_year_for_organization(
organization_id, year, include_all_services=True
)
service_ids = [
service_data["service_id"] for service_data in services_with_usage.values()
]
if not service_ids:
return jsonify(services=[]), 200
recent_templates = dao_get_recent_sms_template_per_service(service_ids)
primary_contacts = dao_get_service_primary_contacts(service_ids)
for service_data in services_with_usage.values():
service_uuid = service_data["service_id"]
service_data["recent_sms_template_name"] = recent_templates.get(service_uuid)
service_data["primary_contact"] = primary_contacts.get(service_uuid)
services_list = list(services_with_usage.values())
sorted_services = sorted(
services_list,
key=lambda s: (
(
0
if (s["active"] and not s["restricted"])
else 1 if (s["active"] and s["restricted"]) else 2
),
s["service_name"].lower(),
),
)
return jsonify(services=sorted_services)
@organization_blueprint.route(
"/<uuid:organization_id>/users/<uuid:user_id>", methods=["POST"]
)
@@ -294,7 +342,7 @@ def get_organization_message_allowance(organization_id):
current_year = datetime.now(tz=ZoneInfo("UTC")).year
service_ids = [service.id for service in services]
messages_by_service = dao_get_notification_counts_for_organization(
messages_by_service = dao_get_notification_counts_per_service(
service_ids, current_year
)

1330
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -9,22 +9,22 @@ readme = "README.md"
[tool.poetry.dependencies]
python = "^3.13.2"
alembic = "==1.17.0"
alembic = "==1.18.1"
amqp = "==5.3.1"
beautifulsoup4 = "==4.14.2"
beautifulsoup4 = "==4.14.3"
boto3 = "^1.38.27"
botocore = "^1.38.27"
cachetools = "==6.2.1"
celery = {version = "==5.5.3", extras = ["redis"]}
cachetools = "==6.2.4"
celery = {version = "==5.6.2", extras = ["redis"]}
certifi = ">=2022.12.7"
cffi = "==2.0.0"
charset-normalizer = "^3.4.4"
click = "==8.3.0"
click = "==8.3.1"
click-datetime = "==0.4.0"
click-didyoumean = "==0.3.1"
click-plugins = "==1.1.1.2"
click-repl = "==0.3.0"
deprecated = "==1.2.18"
deprecated = "==1.3.1"
gevent = "==25.5.1"
expiringdict = "==1.2.2"
flask = "~=3.1"
@@ -34,30 +34,30 @@ flask-redis = "==0.4.0"
flask-sqlalchemy = "^3.1.1"
gunicorn = {version = "==23.0.0", extras = ["gevent"]}
iso8601 = "==2.1.0"
jsonschema = {version = "==4.25.1", extras = ["format"]}
jsonschema = {version = "==4.26.0", extras = ["format"]}
lxml = "==6.0.2"
marshmallow = "^4.0.1"
marshmallow = "^4.2.0"
marshmallow-sqlalchemy = "^1.4.2"
newrelic = "^11.0.1"
newrelic = "^11.2.0"
packaging = "==25.0"
poetry-dotenv-plugin = "==0.2.0"
psycopg2-binary = "==2.9.11"
pyjwt = "==2.10.1"
python-dotenv = "==1.1.1"
sqlalchemy = "==2.0.44"
werkzeug = "^3.0.6"
faker = "^37.12.0"
python-dotenv = "==1.2.1"
sqlalchemy = "==2.0.45"
werkzeug = "^3.1.5"
faker = "^40.1.0"
async-timeout = "^5.0.1"
bleach = "^6.1.0"
bleach = "^6.3.0"
geojson = "^3.2.0"
numpy = "^2.3.4"
numpy = "^2.4.0"
ordered-set = "^4.1.0"
phonenumbers = "^9.0.17"
phonenumbers = "^9.0.22"
python-json-logger = "^4.0.0"
regex = "^2025.10.23"
regex = "^2025.11.3"
shapely = "^2.1.2"
smartypants = "^2.0.1"
mistune = "^3.1.4"
mistune = "^3.2.0"
blinker = "^1.9.0"
cryptography = "^46.0.3"
idna = "^3.11"
@@ -68,38 +68,39 @@ python-dateutil = "^2.9.0.post0"
pyyaml = "^6.0.3"
s3transfer = "^0.13.1"
six = "^1.16.0"
urllib3 = "^2.5.0"
urllib3 = "^2.6.3"
webencodings = "^0.5.1"
itsdangerous = "^2.2.0"
jinja2 = "^3.1.6"
redis = "^5.0.8"
redis = "^6.4.0"
requests = "^2.32.5"
virtualenv = "^20.35.3"
virtualenv = "^20.36.1"
marshmallow-enum = "^1.5.1"
awscli = "^1.40.36"
typing-extensions = "^4.15.0"
aiohttp = "^3.13.1"
pytest = "^8.4.2"
aiohttp = "^3.13.3"
pytest = "^9.0.2"
filelock = ">=3.20.3"
pyasn1 = ">=0.6.2"
[tool.poetry.group.dev.dependencies]
awscli = "^1.33.32"
bandit = "*"
black = "^25.9.0"
cyclonedx-python-lib = "^11.4.0"
black = "^26.1.0"
cyclonedx-python-lib = "^11.6.0"
cloudfoundry-client = "*"
exceptiongroup = "==1.3.0"
exceptiongroup = "==1.3.1"
flake8 = "^7.3.0"
flake8-bugbear = "^25.10.21"
flake8-bugbear = "^25.11.29"
freezegun = "^1.5.5"
hypothesis = "^6.142.3"
hypothesis = "^6.150.2"
honcho = "*"
isort = "^7.0.0"
jinja2-cli = {version = "==0.8.2", extras = ["yaml"]}
moto = "==5.1.15"
jinja2-cli = {version = "==1.0.0", extras = ["yaml"]}
moto = "==5.1.19"
pip-audit = "*"
pre-commit = "^4.3.0"
pytest = "^8.4.2"
pre-commit = "^4.5.1"
pytest = "^9.0.2"
pytest-env = "^1.2.0"
pytest-mock = "^3.15.1"
pytest-cov = "^7.0.0"

View File

@@ -50,7 +50,7 @@ module "egress-space" {
cf_restricted_space_name = local.cf_space_name
deployers = [
var.cf_user,
"carlo.costino@gsa.gov"
"alex.janousek@gsa.gov"
]
}

View File

@@ -2,8 +2,8 @@ terraform {
required_version = "~> 1.7"
required_providers {
cloudfoundry = {
source = "cloudfoundry-community/cloudfoundry"
version = "0.53.1"
source = "cloudfoundry/cloudfoundry"
version = "1.9.0"
}
cfcommunity = {
source = "cloudfoundry-community/cloudfoundry"

View File

@@ -2,8 +2,8 @@ terraform {
required_version = "~> 1.7"
required_providers {
cloudfoundry = {
source = "cloudfoundry-community/cloudfoundry"
version = "0.53.1"
source = "cloudfoundry/cloudfoundry"
version = "1.9.0"
}
cfcommunity = {
source = "cloudfoundry-community/cloudfoundry"

View File

@@ -50,7 +50,7 @@ module "egress-space" {
cf_restricted_space_name = local.cf_space_name
deployers = [
var.cf_user,
"carlo.costino@gsa.gov"
"alex.janousek@gsa.gov"
]
}

View File

@@ -60,7 +60,7 @@ module "egress-space" {
cf_restricted_space_name = local.cf_space_name
deployers = [
var.cf_user,
"carlo.costino@gsa.gov"
"alex.janousek@gsa.gov"
]
}

View File

@@ -924,7 +924,7 @@ def test_fetch_usage_year_for_organization(notify_db_session):
results = fetch_usage_year_for_organization(fixtures["org_1"].id, 2019)
assert len(results) == 3
first_row = results[str(fixtures["service_1_sms_and_letter"].id)]
first_row = results[fixtures["service_1_sms_and_letter"].id]
assert first_row["service_id"] == fixtures["service_1_sms_and_letter"].id
assert first_row["service_name"] == fixtures["service_1_sms_and_letter"].name
assert first_row["free_sms_limit"] == 10
@@ -933,7 +933,7 @@ def test_fetch_usage_year_for_organization(notify_db_session):
assert first_row["sms_cost"] == 0.0
assert first_row["emails_sent"] == 0
second_row = results[str(service_with_emails_for_org.id)]
second_row = results[service_with_emails_for_org.id]
assert second_row["service_id"] == service_with_emails_for_org.id
assert second_row["service_name"] == service_with_emails_for_org.name
assert second_row["free_sms_limit"] == 0
@@ -942,7 +942,7 @@ def test_fetch_usage_year_for_organization(notify_db_session):
assert second_row["sms_cost"] == 0
assert second_row["emails_sent"] == 1100
third_row = results[str(fixtures["service_with_out_ft_billing_this_year"].id)]
third_row = results[fixtures["service_with_out_ft_billing_this_year"].id]
assert (
third_row["service_id"] == fixtures["service_with_out_ft_billing_this_year"].id
)
@@ -1025,11 +1025,11 @@ def test_fetch_usage_year_for_organization_calculates_cost_from_multiple_rates(
)
assert len(results) == 1
assert results[str(service_1.id)]["free_sms_limit"] == 3
assert results[str(service_1.id)]["sms_remainder"] == 0
assert results[str(service_1.id)]["sms_billable_units"] == 6
assert results[str(service_1.id)]["chargeable_billable_sms"] == 3
assert results[str(service_1.id)]["sms_cost"] == 8.0
assert results[service_1.id]["free_sms_limit"] == 3
assert results[service_1.id]["sms_remainder"] == 0
assert results[service_1.id]["sms_billable_units"] == 6
assert results[service_1.id]["chargeable_billable_sms"] == 3
assert results[service_1.id]["sms_cost"] == 8.0
@freeze_time("2022-05-01 13:30")
@@ -1051,11 +1051,11 @@ def test_fetch_usage_year_for_organization_when_no_usage(notify_db_session):
)
assert len(results) == 1
assert results[str(service_1.id)]["free_sms_limit"] == 3
assert results[str(service_1.id)]["sms_remainder"] == 3
assert results[str(service_1.id)]["sms_billable_units"] == 0
assert results[str(service_1.id)]["chargeable_billable_sms"] == 0
assert results[str(service_1.id)]["sms_cost"] == 0.0
assert results[service_1.id]["free_sms_limit"] == 3
assert results[service_1.id]["sms_remainder"] == 3
assert results[service_1.id]["sms_billable_units"] == 0
assert results[service_1.id]["chargeable_billable_sms"] == 0
assert results[service_1.id]["sms_cost"] == 0.0
@freeze_time("2022-05-01 13:30")
@@ -1112,9 +1112,9 @@ def test_fetch_usage_year_for_organization_only_queries_present_year(notify_db_s
results = fetch_usage_year_for_organization(organization_id=org.id, year=last_year)
assert len(results) == 1
assert results[str(service_1.id)]["sms_billable_units"] == 2
assert results[str(service_1.id)]["chargeable_billable_sms"] == 2
assert results[str(service_1.id)]["sms_cost"] == 2.0
assert results[service_1.id]["sms_billable_units"] == 2
assert results[service_1.id]["chargeable_billable_sms"] == 2
assert results[service_1.id]["sms_cost"] == 2.0
@freeze_time("2020-02-27 13:30")
@@ -1165,8 +1165,8 @@ def test_fetch_usage_year_for_organization_only_returns_data_for_live_services(
results = fetch_usage_year_for_organization(organization_id=org.id, year=2020)
assert len(results) == 1
assert results[str(live_service.id)]["sms_billable_units"] == 19
assert results[str(live_service.id)]["emails_sent"] == 0
assert results[live_service.id]["sms_billable_units"] == 19
assert results[live_service.id]["emails_sent"] == 0
@freeze_time("2022-04-27 13:30")

View File

@@ -942,7 +942,7 @@ def test_get_organization_message_allowance(admin_request, sample_organization,
dao_add_service_to_organization(service_2, sample_organization.id)
mock_get_counts = mocker.patch(
"app.organization.rest.dao_get_notification_counts_for_organization"
"app.organization.rest.dao_get_notification_counts_per_service"
)
mock_get_counts.return_value = {
service_1.id: 30000,
@@ -987,3 +987,57 @@ def test_get_organization_message_allowance_invalid_org_id(admin_request):
organization_id=fake_uuid,
_expected_status=404,
)
def test_get_organization_dashboard(admin_request, mocker):
org_id = uuid.uuid4()
service_id = uuid.uuid4()
mock_usage = mocker.patch("app.organization.rest.fetch_usage_year_for_organization")
mock_usage.return_value = {
service_id: {
"service_id": service_id,
"service_name": "Test Service",
"active": True,
"restricted": False,
"emails_sent": 100,
"sms_billable_units": 5,
"sms_remainder": 245,
"sms_cost": 1.50,
"free_sms_limit": 250,
"chargeable_billable_sms": 0,
}
}
mock_templates = mocker.patch(
"app.organization.rest.dao_get_recent_sms_template_per_service"
)
mock_templates.return_value = {service_id: "Welcome SMS"}
mock_contacts = mocker.patch(
"app.organization.rest.dao_get_service_primary_contacts"
)
mock_contacts.return_value = {service_id: "billing@example.com"}
response = admin_request.get(
"organization.get_organization_dashboard",
organization_id=org_id,
**{"year": 2025},
)
assert len(response["services"]) == 1
service_data = response["services"][0]
assert service_data["service_id"] == str(service_id)
assert service_data["service_name"] == "Test Service"
assert service_data["active"] is True
assert service_data["restricted"] is False
assert service_data["sms_billable_units"] == 5
assert service_data["free_sms_limit"] == 250
assert service_data["sms_remainder"] == 245
assert service_data["recent_sms_template_name"] == "Welcome SMS"
assert service_data["primary_contact"] == "billing@example.com"
mock_usage.assert_called_once_with(org_id, 2025, include_all_services=True)
mock_templates.assert_called_once_with([service_id])
mock_contacts.assert_called_once_with([service_id])