Compare commits

...

166 Commits

Author SHA1 Message Date
Andrew
d065a29b66 chore(main): release 0.4.3 (#671) 2024-07-03 16:59:24 -05:00
dependabot[bot]
aaad153b83 ci: bump pip from 24.0.0 to 24.1.1 in /.github/workflows (#698) 2024-07-03 21:52:48 +00:00
dependabot[bot]
d9493ba25a ci: bump virtualenv from 20.26.2 to 20.26.3 in /.github/workflows (#697)
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.26.2 to 20.26.3.
- [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.26.2...20.26.3)

---
updated-dependencies:
- dependency-name: virtualenv
  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>
2024-07-03 16:35:29 -05:00
dependabot[bot]
cb9d03af5f ci: bump pip from 24.0.0 to 24.1 in /.github/workflows (#695)
Bumps [pip](https://github.com/pypa/pip) from 24.0.0 to 24.1.
- [Changelog](https://github.com/pypa/pip/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/pip/compare/24.0...24.1)

---
updated-dependencies:
- dependency-name: pip
  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>
2024-07-03 16:35:17 -05:00
dependabot[bot]
a4b73966f1 deps: bump the pip group with 3 updates (#694)
Bumps the pip group with 3 updates: [authlib](https://github.com/lepture/authlib), [tornado](https://github.com/tornadoweb/tornado) and [urllib3](https://github.com/urllib3/urllib3).


Updates `authlib` from 1.3.0 to 1.3.1
- [Release notes](https://github.com/lepture/authlib/releases)
- [Changelog](https://github.com/lepture/authlib/blob/master/docs/changelog.rst)
- [Commits](https://github.com/lepture/authlib/compare/v1.3.0...v1.3.1)

Updates `tornado` from 6.4 to 6.4.1
- [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst)
- [Commits](https://github.com/tornadoweb/tornado/compare/v6.4.0...v6.4.1)

Updates `urllib3` from 2.2.1 to 2.2.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.2.1...2.2.2)

---
updated-dependencies:
- dependency-name: authlib
  dependency-type: indirect
  dependency-group: pip
- dependency-name: tornado
  dependency-type: indirect
  dependency-group: pip
- dependency-name: urllib3
  dependency-type: indirect
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-03 16:35:05 -05:00
dependabot[bot]
e075a31fa3 ci: bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 (#693)
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.14 to 1.9.0.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.14...v1.9.0)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  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>
2024-07-03 16:34:43 -05:00
dependabot[bot]
c071ced5bf deps: bump reorder-python-imports from 3.12.0 to 3.13.0 (#685)
Bumps [reorder-python-imports](https://github.com/asottile/reorder-python-imports) from 3.12.0 to 3.13.0.
- [Commits](https://github.com/asottile/reorder-python-imports/compare/v3.12.0...v3.13.0)

---
updated-dependencies:
- dependency-name: reorder-python-imports
  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>
2024-07-03 16:34:27 -05:00
dependabot[bot]
67ec0b5d58 deps: bump pytz from 2023.4 to 2024.1 (#670)
Bumps [pytz](https://github.com/stub42/pytz) from 2023.4 to 2024.1.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2023.4...release_2024.1)

---
updated-dependencies:
- dependency-name: pytz
  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>
2024-07-03 16:34:01 -05:00
Andrew Herrington
6bae975521 chore: bump poetry lock 2024-07-03 16:30:12 -05:00
dependabot[bot]
f9e0fd0bd1 deps: bump ruff from 0.4.6 to 0.5.0 (#699)
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.6 to 0.5.0.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/v0.4.6...0.5.0)

---
updated-dependencies:
- dependency-name: ruff
  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>
2024-07-03 16:24:14 -05:00
Mariatta
7fa3e2ff1a Bump to pydantic 2.8.0 (#702)
* deps: bump pydantic from 1.10.15 to 2.8.0

Bumps [pydantic](https://github.com/pydantic/pydantic) from 1.10.15 to 2.8.0.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v1.10.15...v2.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>

* Update dependencies
run the bump-pydantic tool.

* Migrate the validate_uuid using field_validator.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-03 16:20:29 -05:00
dependabot[bot]
4d00499f94 deps: bump pre-commit from 2.21.0 to 3.5.0 (#669)
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 2.21.0 to 3.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/v2.21.0...v3.5.0)

---
updated-dependencies:
- dependency-name: pre-commit
  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>
2024-06-01 13:09:15 -05:00
dependabot[bot]
5325352bae deps: bump coverage from 7.5.2 to 7.5.3 (#683) 2024-05-30 01:08:58 +00:00
dependabot[bot]
627f070e3f deps: bump ruff from 0.4.5 to 0.4.6 (#681) 2024-05-29 01:13:59 +00:00
dependabot[bot]
b372e66c44 deps: bump coverage from 7.5.1 to 7.5.2 (#680) 2024-05-27 01:45:29 +00:00
dependabot[bot]
55ea01de63 deps: bump ruff from 0.4.4 to 0.4.5 (#679) 2024-05-24 02:03:57 +00:00
dependabot[bot]
a78d6d9a85 --- (#678) 2024-05-21 01:19:49 +00:00
dependabot[bot]
0f52d6b535 --- (#677) 2024-05-21 01:17:01 +00:00
dependabot[bot]
e46f70c470 deps: bump ruff from 0.4.3 to 0.4.4 (#675) 2024-05-20 01:10:51 +00:00
dependabot[bot]
e24fcb233b deps: bump types-pytz from 2023.4.0.20240130 to 2024.1.0.20240417 (#672)
Bumps [types-pytz](https://github.com/python/typeshed) from 2023.4.0.20240130 to 2024.1.0.20240417.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  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>
2024-05-18 11:18:19 -05:00
dependabot[bot]
afa83a2528 ci: bump virtualenv from 20.26.1 to 20.26.2 in /.github/workflows (#674) 2024-05-14 01:22:03 +00:00
dependabot[bot]
f615e35468 ci: bump poetry from 1.8.2 to 1.8.3 in /.github/workflows (#673) 2024-05-09 01:57:19 +00:00
dependabot[bot]
6e88834d93 deps: bump httpx from 0.24.1 to 0.27.0 (#668) 2024-05-08 01:36:31 +00:00
Andrew
78393be66b chore(main): release 0.4.2 (#666) 2024-05-07 16:24:54 -05:00
dependabot[bot]
802520d454 deps: bump pytest-cov from 4.1.0 to 5.0.0 (#663)
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov) from 4.1.0 to 5.0.0.
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v4.1.0...v5.0.0)

---
updated-dependencies:
- dependency-name: pytest-cov
  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>
2024-05-07 11:31:07 -05:00
dependabot[bot]
97723e91b6 deps: bump sphinx from 5.3.0 to 7.1.2 (#662)
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 5.3.0 to 7.1.2.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES.rst)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v5.3.0...v7.1.2)

---
updated-dependencies:
- dependency-name: sphinx
  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>
2024-05-07 09:27:42 -05:00
dependabot[bot]
c56e048635 deps: bump safety from 2.3.5 to 3.2.0 (#661)
Bumps [safety](https://github.com/pyupio/safety) from 2.3.5 to 3.2.0.
- [Release notes](https://github.com/pyupio/safety/releases)
- [Changelog](https://github.com/pyupio/safety/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pyupio/safety/compare/2.3.5...3.2.0)

---
updated-dependencies:
- dependency-name: safety
  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>
2024-05-06 22:37:58 -05:00
dependabot[bot]
1f8449ca40 ci: bump google-github-actions/release-please-action from 3 to 4 (#664)
Bumps [google-github-actions/release-please-action](https://github.com/google-github-actions/release-please-action) from 3 to 4.
- [Release notes](https://github.com/google-github-actions/release-please-action/releases)
- [Changelog](https://github.com/google-github-actions/release-please-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google-github-actions/release-please-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: google-github-actions/release-please-action
  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>
2024-05-06 20:39:08 -05:00
dependabot[bot]
f94538951c deps: bump croniter from 1.4.1 to 2.0.5 (#660)
Bumps [croniter](https://github.com/kiorky/croniter) from 1.4.1 to 2.0.5.
- [Changelog](https://github.com/kiorky/croniter/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/kiorky/croniter/compare/1.4.1...2.0.5)

---
updated-dependencies:
- dependency-name: croniter
  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>
2024-05-06 20:37:38 -05:00
dependabot[bot]
b7438af127 docs: bump furo from 2024.4.27 to 2024.5.6 in /docs (#665) 2024-05-07 01:36:36 +00:00
Andrew
d4b7849191 chore(main): release 0.4.1 (#490) 2024-05-05 14:25:37 -05:00
dependabot[bot]
f785186582 deps: bump pytest-asyncio from 0.21.2 to 0.23.6 (#657)
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.21.2 to 0.23.6.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.21.2...v0.23.6)

---
updated-dependencies:
- dependency-name: pytest-asyncio
  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>
2024-05-05 14:22:04 -05:00
dependabot[bot]
f6aa9deeaf build(deps): bump furo from 2023.5.20 to 2024.4.27 in /docs (#651)
Bumps [furo](https://github.com/pradyunsg/furo) from 2023.5.20 to 2024.4.27.
- [Release notes](https://github.com/pradyunsg/furo/releases)
- [Changelog](https://github.com/pradyunsg/furo/blob/main/docs/changelog.md)
- [Commits](https://github.com/pradyunsg/furo/compare/2023.05.20...2024.04.27)

---
updated-dependencies:
- dependency-name: furo
  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>
2024-05-05 14:19:49 -05:00
dependabot[bot]
6de87bb43d deps: bump ruff from 0.0.275 to 0.4.3 (#655)
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.0.275 to 0.4.3.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/v0.0.275...v0.4.3)

---
updated-dependencies:
- dependency-name: ruff
  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>
2024-05-05 14:18:48 -05:00
Andrew
4e0bf29e8a ci: update release yaml (#659) 2024-05-05 14:15:00 -05:00
dependabot[bot]
50f8bbabb2 deps: bump types-croniter from 1.4.0.1 to 2.0.0.20240423 (#654)
Bumps [types-croniter](https://github.com/python/typeshed) from 1.4.0.1 to 2.0.0.20240423.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-croniter
  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>
2024-05-05 14:14:31 -05:00
dependabot[bot]
ae3539a979 build(deps): bump actions/setup-python from 4.1.0 to 5.1.0 (#632)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.1.0 to 5.1.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4.1.0...v5.1.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  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>
2024-05-05 14:11:27 -05:00
dependabot[bot]
ef87bdb335 build(deps-dev): bump respx from 0.20.1 to 0.21.1 (#633) 2024-05-05 19:09:22 +00:00
dependabot[bot]
f8255292ef build(deps): bump sphinx from 7.0.1 to 7.3.7 in /docs (#645)
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 7.0.1 to 7.3.7.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES.rst)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v7.0.1...v7.3.7)

---
updated-dependencies:
- dependency-name: sphinx
  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>
2024-05-05 14:08:14 -05:00
dependabot[bot]
8214b5a5ac build(deps): bump pypa/gh-action-pypi-publish from 1.8.7 to 1.8.14
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.7 to 1.8.14.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.7...v1.8.14)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-05 19:05:25 +00:00
dependabot[bot]
0f4119af47 build(deps): bump actions/checkout from 3 to 4 (#554)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  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>
2024-05-05 14:03:04 -05:00
dependabot[bot]
7991cc15e6 build(deps): bump crazy-max/ghaction-github-labeler from 4.1.0 to 5.0.0 (#559)
Bumps [crazy-max/ghaction-github-labeler](https://github.com/crazy-max/ghaction-github-labeler) from 4.1.0 to 5.0.0.
- [Release notes](https://github.com/crazy-max/ghaction-github-labeler/releases)
- [Commits](https://github.com/crazy-max/ghaction-github-labeler/compare/v4.1.0...v5.0.0)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-github-labeler
  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>
2024-05-05 14:02:55 -05:00
Andrew
1b14e4bdc8 ci: fix ci (#658)
* ci: fix tests

* ci: fixup test install

* ci: remove 3.7

* ci: delete coverage for now

* ci: update to 3.11

* ci: add 3.12 to testing
2024-05-05 13:58:20 -05:00
Andrew Herrington
778932a2f8 chore: package updates and fix ci 2024-05-05 13:39:25 -05:00
Andrew Herrington
4ca01eaf0c Revert "chore: ci fixups and poetry update"
This reverts commit d0b986025e.
2024-05-05 13:02:14 -05:00
Andrew Herrington
d0b986025e chore: ci fixups and poetry update 2024-05-05 12:20:49 -05:00
worldworm
cb862fa2c5 docs: fixes get_check args (#597) 2024-05-05 12:09:14 -05:00
Andrew
31218d3b00 ci: update dependabot.yml 2024-03-17 17:24:29 -05:00
Andrew
2a1f45d7c0 ci: update .github/labels.yml 2024-03-17 17:24:28 -05:00
Andrew
c9b4a70948 ci: update .prettierignore 2024-03-17 17:24:28 -05:00
Andrew
5122e435f3 ci: update .pre-commit-config.yaml 2024-03-17 17:24:28 -05:00
Andrew
96f5d9cba9 ci: update .flake8 2024-03-17 17:24:27 -05:00
Andrew
47d763a201 ci: update labeler workflow 2024-03-17 17:24:27 -05:00
Andrew
f550ab0797 ci: update tests workflow 2024-03-17 17:24:26 -05:00
Andrew
80ff5efc79 ci: update pre-release workflow 2024-03-17 17:24:26 -05:00
Andrew
9b94d8d54e ci: update release workflow 2024-03-17 17:24:25 -05:00
Andrew
6c44d14c1a ci: update release-please workflow 2024-03-17 17:24:25 -05:00
Andrew
321828dfb6 ci: update dependabot-auto-merge workflow 2023-12-07 22:49:03 -06:00
Andrew
095c8aa93e ci: update issues workflow 2023-12-07 22:49:03 -06:00
dependabot[bot]
00251551d3 build(deps): bump pypa/gh-action-pypi-publish from 1.8.6 to 1.8.7
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.6 to 1.8.7.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.6...v1.8.7)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-27 02:02:01 +00:00
dependabot[bot]
14f60a19bb build(deps-dev): bump mypy from 1.4.0 to 1.4.1
Bumps [mypy](https://github.com/python/mypy) from 1.4.0 to 1.4.1.
- [Commits](https://github.com/python/mypy/compare/v1.4.0...v1.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-26 02:03:27 +00:00
dependabot[bot]
b7eccfb74c build(deps-dev): bump pytest from 7.3.2 to 7.4.0
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.3.2 to 7.4.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/7.3.2...7.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-26 02:02:05 +00:00
dependabot[bot]
fdfc51f399 build(deps-dev): bump ruff from 0.0.274 to 0.0.275
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.0.274 to 0.0.275.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/astral-sh/ruff/compare/v0.0.274...v0.0.275)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-23 02:01:29 +00:00
dependabot[bot]
e419d2b332 build(deps-dev): bump ruff from 0.0.273 to 0.0.274
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.0.273 to 0.0.274.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/astral-sh/ruff/compare/v0.0.273...v0.0.274)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-22 02:05:32 +00:00
dependabot[bot]
b52645068c build(deps-dev): bump types-croniter from 1.3.2.9 to 1.4.0.0
Bumps [types-croniter](https://github.com/python/typeshed) from 1.3.2.9 to 1.4.0.0.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-croniter
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-22 02:04:47 +00:00
dependabot[bot]
7de885e2d4 build(deps-dev): bump mypy from 1.3.0 to 1.4.0
Bumps [mypy](https://github.com/python/mypy) from 1.3.0 to 1.4.0.
- [Commits](https://github.com/python/mypy/compare/v1.3.0...v1.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-21 02:04:05 +00:00
dependabot[bot]
2efc7fce99 build(deps-dev): bump ruff from 0.0.272 to 0.0.273
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.0.272 to 0.0.273.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/astral-sh/ruff/compare/v0.0.272...v0.0.273)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-21 02:02:08 +00:00
dependabot[bot]
a3cc535b85 build(deps-dev): bump reorder-python-imports from 3.9.0 to 3.10.0
Bumps [reorder-python-imports](https://github.com/asottile/reorder-python-imports) from 3.9.0 to 3.10.0.
- [Commits](https://github.com/asottile/reorder-python-imports/compare/v3.9.0...v3.10.0)

---
updated-dependencies:
- dependency-name: reorder-python-imports
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 02:05:04 +00:00
dependabot[bot]
fe6060d337 build(deps): bump virtualenv in /.github/workflows
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.23.0 to 20.23.1.
- [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.23.0...20.23.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 02:03:38 +00:00
dependabot[bot]
a748e07311 build(deps-dev): bump pytest-mock from 3.10.0 to 3.11.1
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock) from 3.10.0 to 3.11.1.
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases)
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-mock/compare/v3.10.0...v3.11.1)

---
updated-dependencies:
- dependency-name: pytest-mock
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-16 02:02:00 +00:00
dependabot[bot]
dac9c1e88b build(deps): bump croniter from 1.3.15 to 1.4.1
Bumps [croniter](https://github.com/kiorky/croniter) from 1.3.15 to 1.4.1.
- [Changelog](https://github.com/kiorky/croniter/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/kiorky/croniter/compare/1.3.15...1.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-16 02:01:44 +00:00
dependabot[bot]
7570fc178c build(deps-dev): bump pytest from 7.3.1 to 7.3.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.3.1 to 7.3.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/7.3.1...7.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-12 02:03:05 +00:00
dependabot[bot]
776e9fa194 build(deps-dev): bump ruff from 0.0.271 to 0.0.272
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.271 to 0.0.272.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.271...v0.0.272)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-09 02:01:36 +00:00
dependabot[bot]
83b7479021 build(deps): bump pydantic from 1.10.8 to 1.10.9
Bumps [pydantic](https://github.com/pydantic/pydantic) from 1.10.8 to 1.10.9.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/v1.10.9/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v1.10.8...v1.10.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-08 02:01:58 +00:00
dependabot[bot]
3daa63f4fd build(deps-dev): bump ruff from 0.0.270 to 0.0.271
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.270 to 0.0.271.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.270...v0.0.271)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-07 02:02:34 +00:00
Andrew
1376595877 fix: update poetry and virtualenv (#489) 2023-06-03 09:59:52 -05:00
dependabot[bot]
d3f26278c4 build(deps-dev): bump coverage from 7.2.6 to 7.2.7
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.2.6 to 7.2.7.
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.2.6...7.2.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-30 02:01:49 +00:00
dependabot[bot]
6c0b98b916 build(deps): bump sphinx from 6.2.1 to 7.0.1 in /docs (#471)
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.2.1 to 7.0.1.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v6.2.1...v7.0.1)

---
updated-dependencies:
- dependency-name: sphinx
  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>
2023-05-28 18:47:51 -05:00
dependabot[bot]
abda13198c build(deps): bump croniter from 1.3.14 to 1.3.15
Bumps [croniter](https://github.com/kiorky/croniter) from 1.3.14 to 1.3.15.
- [Changelog](https://github.com/kiorky/croniter/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/kiorky/croniter/compare/1.3.14...1.3.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-26 02:01:27 +00:00
dependabot[bot]
b69f90390f build(deps-dev): bump pytest-cov from 4.0.0 to 4.1.0
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov) from 4.0.0 to 4.1.0.
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v4.0.0...v4.1.0)

---
updated-dependencies:
- dependency-name: pytest-cov
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-25 02:02:18 +00:00
dependabot[bot]
9009f7456a build(deps-dev): bump ruff from 0.0.269 to 0.0.270
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.269 to 0.0.270.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.269...v0.0.270)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-25 02:01:49 +00:00
dependabot[bot]
e40540aa11 build(deps): bump actions/setup-python from 4.6.0 to 4.6.1
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.6.0 to 4.6.1.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4.6.0...v4.6.1)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-25 02:00:35 +00:00
dependabot[bot]
fb67bfc9ba build(deps): bump pydantic from 1.10.7 to 1.10.8
Bumps [pydantic](https://github.com/pydantic/pydantic) from 1.10.7 to 1.10.8.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/v1.10.8/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v1.10.7...v1.10.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-24 02:02:46 +00:00
dependabot[bot]
8b6aebfc07 build(deps-dev): bump coverage from 7.2.5 to 7.2.6
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.2.5 to 7.2.6.
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.2.5...7.2.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-24 02:01:13 +00:00
dependabot[bot]
05226fab16 build(deps): bump requests from 2.28.2 to 2.31.0
Bumps [requests](https://github.com/psf/requests) from 2.28.2 to 2.31.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.28.2...v2.31.0)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-23 06:17:30 +00:00
dependabot[bot]
15ca0e757f build(deps-dev): bump pytest-xdist from 3.3.0 to 3.3.1
Bumps [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) from 3.3.0 to 3.3.1.
- [Changelog](https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-xdist/compare/v3.3.0...v3.3.1)

---
updated-dependencies:
- dependency-name: pytest-xdist
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-22 02:07:33 +00:00
dependabot[bot]
6255bb5ad8 build(deps): bump furo from 2023.3.27 to 2023.5.20 in /docs
Bumps [furo](https://github.com/pradyunsg/furo) from 2023.3.27 to 2023.5.20.
- [Release notes](https://github.com/pradyunsg/furo/releases)
- [Changelog](https://github.com/pradyunsg/furo/blob/main/docs/changelog.md)
- [Commits](https://github.com/pradyunsg/furo/compare/2023.03.27...2023.05.20)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-22 02:02:54 +00:00
dependabot[bot]
8ab99832ec build(deps-dev): bump ruff from 0.0.267 to 0.0.269
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.267 to 0.0.269.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.267...v0.0.269)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-19 02:04:24 +00:00
dependabot[bot]
cc8de4a2f7 build(deps): bump httpx from 0.24.0 to 0.24.1
Bumps [httpx](https://github.com/encode/httpx) from 0.24.0 to 0.24.1.
- [Release notes](https://github.com/encode/httpx/releases)
- [Changelog](https://github.com/encode/httpx/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/httpx/compare/0.24.0...0.24.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-19 02:02:46 +00:00
dependabot[bot]
1713780209 build(deps): bump codecov/codecov-action from 3.1.3 to 3.1.4
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3.1.3...v3.1.4)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-16 02:02:58 +00:00
dependabot[bot]
c644dc2827 build(deps-dev): bump ruff from 0.0.265 to 0.0.267
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.265 to 0.0.267.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.265...v0.0.267)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-15 02:08:30 +00:00
dependabot[bot]
e309911ce3 build(deps-dev): bump pytest-xdist from 3.2.1 to 3.3.0
Bumps [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) from 3.2.1 to 3.3.0.
- [Changelog](https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-xdist/compare/v3.2.1...v3.3.0)

---
updated-dependencies:
- dependency-name: pytest-xdist
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-15 02:06:11 +00:00
dependabot[bot]
85b553ef83 build(deps-dev): bump mypy from 1.2.0 to 1.3.0
Bumps [mypy](https://github.com/python/mypy) from 1.2.0 to 1.3.0.
- [Commits](https://github.com/python/mypy/compare/v1.2.0...v1.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-11 02:02:52 +00:00
dependabot[bot]
15dbb47b6f build(deps-dev): bump ruff from 0.0.264 to 0.0.265
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.264 to 0.0.265.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.264...v0.0.265)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-08 02:03:34 +00:00
dependabot[bot]
12cba5e7ee build(deps): bump nox from 2022.11.21 to 2023.4.22 in /.github/workflows (#458)
Bumps [nox](https://github.com/wntrblm/nox) from 2022.11.21 to 2023.4.22.
- [Release notes](https://github.com/wntrblm/nox/releases)
- [Changelog](https://github.com/wntrblm/nox/blob/main/CHANGELOG.md)
- [Commits](https://github.com/wntrblm/nox/compare/2022.11.21...2023.04.22)

---
updated-dependencies:
- dependency-name: nox
  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>
2023-05-06 13:05:06 -05:00
dependabot[bot]
d2e7f51cf3 build(deps-dev): bump types-croniter from 1.3.2.8 to 1.3.2.9 (#450)
Bumps [types-croniter](https://github.com/python/typeshed) from 1.3.2.8 to 1.3.2.9.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-croniter
  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>
2023-05-06 13:04:57 -05:00
dependabot[bot]
ce2fef7edd build(deps-dev): bump ruff from 0.0.263 to 0.0.264
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.263 to 0.0.264.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.263...v0.0.264)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-03 02:02:44 +00:00
dependabot[bot]
62aecf60be build(deps): bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.5 to 1.8.6.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.5...v1.8.6)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-03 02:02:21 +00:00
dependabot[bot]
296cf32d23 build(deps-dev): bump coverage from 7.2.3 to 7.2.5
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.2.3 to 7.2.5.
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.2.3...7.2.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-01 02:07:05 +00:00
dependabot[bot]
74e546c5e6 build(deps): bump pip from 23.1.1 to 23.1.2 in /.github/workflows
Bumps [pip](https://github.com/pypa/pip) from 23.1.1 to 23.1.2.
- [Release notes](https://github.com/pypa/pip/releases)
- [Changelog](https://github.com/pypa/pip/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/pip/compare/23.1.1...23.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-27 02:02:29 +00:00
dependabot[bot]
de6a7c388e build(deps-dev): bump ruff from 0.0.262 to 0.0.263
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.262 to 0.0.263.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.262...v0.0.263)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-26 02:02:30 +00:00
dependabot[bot]
fdacf0fc7a build(deps): bump sphinx from 6.2.0 to 6.2.1 in /docs
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.2.0 to 6.2.1.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v6.2.0...v6.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-26 02:01:36 +00:00
dependabot[bot]
346a23f999 build(deps-dev): bump pyupgrade from 3.3.1 to 3.3.2
Bumps [pyupgrade](https://github.com/asottile/pyupgrade) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/asottile/pyupgrade/releases)
- [Commits](https://github.com/asottile/pyupgrade/compare/v3.3.1...v3.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-25 02:02:02 +00:00
dependabot[bot]
bf298304e7 build(deps): bump pip from 23.0.1 to 23.1.1 in /.github/workflows
Bumps [pip](https://github.com/pypa/pip) from 23.0.1 to 23.1.1.
- [Release notes](https://github.com/pypa/pip/releases)
- [Changelog](https://github.com/pypa/pip/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/pip/compare/23.0.1...23.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-24 02:05:03 +00:00
dependabot[bot]
bac7bbd4fc build(deps): bump sphinx from 6.1.3 to 6.2.0 in /docs
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 6.2.0.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v6.1.3...v6.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-24 02:03:56 +00:00
dependabot[bot]
2b328d2caa build(deps): bump actions/setup-python from 4.5.0 to 4.6.0
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4.5.0...v4.6.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-21 02:04:07 +00:00
dependabot[bot]
7d076036d9 build(deps): bump codecov/codecov-action from 3.1.2 to 3.1.3
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3.1.2...v3.1.3)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-21 02:01:06 +00:00
dependabot[bot]
ef5141c9ee build(deps-dev): bump ruff from 0.0.261 to 0.0.262
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.261 to 0.0.262.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.261...v0.0.262)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-20 02:02:04 +00:00
dependabot[bot]
6bef6801e3 build(deps-dev): bump pytest from 7.3.0 to 7.3.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.3.0 to 7.3.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/7.3.0...7.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-17 02:02:48 +00:00
Andrew
fcead223d8 ci: update dependabot-auto-merge workflow 2023-04-14 19:46:59 -05:00
Andrew
2e205ba42f ci: update issues workflow 2023-04-14 19:46:58 -05:00
dependabot[bot]
a0053b6bb4 build(deps): bump croniter from 1.3.10 to 1.3.14
Bumps [croniter](https://github.com/kiorky/croniter) from 1.3.10 to 1.3.14.
- [Release notes](https://github.com/kiorky/croniter/releases)
- [Changelog](https://github.com/kiorky/croniter/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/kiorky/croniter/compare/1.3.10...1.3.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-13 02:02:03 +00:00
dependabot[bot]
8df036aef7 build(deps): bump httpx from 0.23.3 to 0.24.0
Bumps [httpx](https://github.com/encode/httpx) from 0.23.3 to 0.24.0.
- [Release notes](https://github.com/encode/httpx/releases)
- [Changelog](https://github.com/encode/httpx/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/httpx/compare/0.23.3...0.24.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 02:02:13 +00:00
dependabot[bot]
71ae85f101 build(deps): bump codecov/codecov-action from 3.1.1 to 3.1.2
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3.1.1...v3.1.2)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 02:01:45 +00:00
dependabot[bot]
c8ade5ff0d build(deps-dev): bump pytest from 7.2.2 to 7.3.0 (#446)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.2.2 to 7.3.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/7.2.2...7.3.0)

---
updated-dependencies:
- dependency-name: pytest
  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>
2023-04-09 21:08:23 -05:00
dependabot[bot]
dd694b78dc build(deps-dev): bump types-croniter from 1.3.2.7 to 1.3.2.8 (#445)
Bumps [types-croniter](https://github.com/python/typeshed) from 1.3.2.7 to 1.3.2.8.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-croniter
  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>
2023-04-09 21:08:11 -05:00
dependabot[bot]
37022b5cbe build(deps): bump croniter from 1.3.8 to 1.3.10
Bumps [croniter](https://github.com/kiorky/croniter) from 1.3.8 to 1.3.10.
- [Release notes](https://github.com/kiorky/croniter/releases)
- [Changelog](https://github.com/kiorky/croniter/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/kiorky/croniter/compare/1.3.8...1.3.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 02:06:10 +00:00
dependabot[bot]
b6f2426f2e build(deps-dev): bump coverage from 7.2.2 to 7.2.3
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.2.2 to 7.2.3.
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.2.2...7.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-07 02:02:53 +00:00
dependabot[bot]
4edbe1740e build(deps-dev): bump mypy from 1.1.1 to 1.2.0
Bumps [mypy](https://github.com/python/mypy) from 1.1.1 to 1.2.0.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v1.1.1...v1.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-07 02:02:11 +00:00
dependabot[bot]
55dc34db2e build(deps-dev): bump ruff from 0.0.260 to 0.0.261
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.260 to 0.0.261.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.260...v0.0.261)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-06 02:04:04 +00:00
dependabot[bot]
e5f49fc63c build(deps): bump pypa/gh-action-pypi-publish from 1.8.4 to 1.8.5
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.4 to 1.8.5.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.4...v1.8.5)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-04 02:00:49 +00:00
dependabot[bot]
56ac786026 build(deps): bump poetry from 1.4.1 to 1.4.2 in /.github/workflows
Bumps [poetry](https://github.com/python-poetry/poetry) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/python-poetry/poetry/releases)
- [Changelog](https://github.com/python-poetry/poetry/blob/1.4.2/CHANGELOG.md)
- [Commits](https://github.com/python-poetry/poetry/compare/1.4.1...1.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 02:04:35 +00:00
dependabot[bot]
dd9cffe544 build(deps): bump pypa/gh-action-pypi-publish from 1.8.3 to 1.8.4
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.3 to 1.8.4.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.3...v1.8.4)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 02:03:17 +00:00
dependabot[bot]
eeda043366 build(deps-dev): bump types-pytz from 2023.2.0.1 to 2023.3.0.0
Bumps [types-pytz](https://github.com/python/typeshed) from 2023.2.0.1 to 2023.3.0.0.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-31 02:02:35 +00:00
dependabot[bot]
bfed9596f1 build(deps-dev): bump types-pytz from 2022.7.1.2 to 2023.2.0.1 (#433)
Bumps [types-pytz](https://github.com/python/typeshed) from 2022.7.1.2 to 2023.2.0.1.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  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>
2023-03-29 21:55:23 -05:00
dependabot[bot]
6fcff4f4ba build(deps): bump pytz from 2023.2 to 2023.3 (#435)
Bumps [pytz](https://github.com/stub42/pytz) from 2023.2 to 2023.3.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2023.2...release_2023.3)

---
updated-dependencies:
- dependency-name: pytz
  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>
2023-03-29 21:54:57 -05:00
dependabot[bot]
986dd0a910 build(deps-dev): bump ruff from 0.0.259 to 0.0.260
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.259 to 0.0.260.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.259...v0.0.260)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-30 02:02:46 +00:00
dependabot[bot]
74f689f6f6 build(deps): bump furo from 2022.12.7 to 2023.3.27 (#434)
Bumps [furo](https://github.com/pradyunsg/furo) from 2022.12.7 to 2023.3.27.
- [Release notes](https://github.com/pradyunsg/furo/releases)
- [Changelog](https://github.com/pradyunsg/furo/blob/main/docs/changelog.md)
- [Commits](https://github.com/pradyunsg/furo/compare/2022.12.07...2023.03.27)

---
updated-dependencies:
- dependency-name: furo
  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>
2023-03-28 21:49:51 -05:00
dependabot[bot]
64cbeea5e9 build(deps-dev): bump types-croniter from 1.3.2.6 to 1.3.2.7 (#432)
Bumps [types-croniter](https://github.com/python/typeshed) from 1.3.2.6 to 1.3.2.7.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-croniter
  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>
2023-03-28 21:49:29 -05:00
dependabot[bot]
c83b09592f build(deps): bump pytz from 2022.7.1 to 2023.2 (#429)
Bumps [pytz](https://github.com/stub42/pytz) from 2022.7.1 to 2023.2.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2022.7.1...release_2023.2)

---
updated-dependencies:
- dependency-name: pytz
  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>
2023-03-28 21:49:24 -05:00
dependabot[bot]
30cff07ef0 build(deps): bump furo from 2023.3.23 to 2023.3.27 in /docs
Bumps [furo](https://github.com/pradyunsg/furo) from 2023.3.23 to 2023.3.27.
- [Release notes](https://github.com/pradyunsg/furo/releases)
- [Changelog](https://github.com/pradyunsg/furo/blob/main/docs/changelog.md)
- [Commits](https://github.com/pradyunsg/furo/compare/2023.03.23...2023.03.27)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-28 02:02:25 +00:00
dependabot[bot]
1c7abdcef5 build(deps): bump furo from 2022.12.7 to 2023.3.23 in /docs (#425)
Bumps [furo](https://github.com/pradyunsg/furo) from 2022.12.7 to 2023.3.23.
- [Release notes](https://github.com/pradyunsg/furo/releases)
- [Changelog](https://github.com/pradyunsg/furo/blob/main/docs/changelog.md)
- [Commits](https://github.com/pradyunsg/furo/compare/2022.12.07...2023.03.23)

---
updated-dependencies:
- dependency-name: furo
  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>
2023-03-24 22:14:31 -05:00
dependabot[bot]
5750ebfc79 build(deps): bump furo from 2022.12.7 to 2023.3.23 (#427)
Bumps [furo](https://github.com/pradyunsg/furo) from 2022.12.7 to 2023.3.23.
- [Release notes](https://github.com/pradyunsg/furo/releases)
- [Changelog](https://github.com/pradyunsg/furo/blob/main/docs/changelog.md)
- [Commits](https://github.com/pradyunsg/furo/compare/2022.12.07...2023.03.23)

---
updated-dependencies:
- dependency-name: furo
  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>
2023-03-24 22:14:21 -05:00
dependabot[bot]
30b1e6d327 build(deps-dev): bump ruff from 0.0.258 to 0.0.259
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.258 to 0.0.259.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.258...v0.0.259)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-24 02:05:18 +00:00
dependabot[bot]
2a9fd649ca build(deps-dev): bump ruff from 0.0.256 to 0.0.258
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.256 to 0.0.258.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.256...v0.0.258)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-23 02:06:36 +00:00
dependabot[bot]
c6c9c63abf build(deps): bump pypa/gh-action-pypi-publish from 1.8.1 to 1.8.3
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.1 to 1.8.3.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.1...v1.8.3)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-23 02:03:45 +00:00
dependabot[bot]
4b7eceaf48 build(deps): bump pydantic from 1.10.6 to 1.10.7
Bumps [pydantic](https://github.com/pydantic/pydantic) from 1.10.6 to 1.10.7.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/v1.10.7/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v1.10.6...v1.10.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-23 02:01:53 +00:00
dependabot[bot]
72cb4eb159 build(deps-dev): bump pytest-asyncio from 0.20.3 to 0.21.0
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.20.3 to 0.21.0.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.20.3...v0.21.0)

---
updated-dependencies:
- dependency-name: pytest-asyncio
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 01:58:57 +00:00
dependabot[bot]
351d5b2f41 build(deps): bump poetry from 1.4.0 to 1.4.1 in /.github/workflows
Bumps [poetry](https://github.com/python-poetry/poetry) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/python-poetry/poetry/releases)
- [Changelog](https://github.com/python-poetry/poetry/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python-poetry/poetry/compare/1.4.0...1.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 01:57:14 +00:00
dependabot[bot]
425c6b44f0 build(deps-dev): bump coverage from 7.2.1 to 7.2.2
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.2.1 to 7.2.2.
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.2.1...7.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-17 02:03:02 +00:00
dependabot[bot]
dab7923e72 build(deps): bump pypa/gh-action-pypi-publish from 1.7.1 to 1.8.1
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.7.1 to 1.8.1.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.7.1...v1.8.1)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-17 02:01:01 +00:00
dependabot[bot]
d74cde7805 build(deps-dev): bump ruff from 0.0.255 to 0.0.256
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.255 to 0.0.256.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.255...v0.0.256)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-16 02:02:04 +00:00
dependabot[bot]
b8b9939d9f build(deps-dev): bump ruff from 0.0.254 to 0.0.255
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.254 to 0.0.255.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.254...v0.0.255)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-14 02:04:18 +00:00
dependabot[bot]
b29ed0792f build(deps): bump actions/cache from 3.3.0 to 3.3.1
Bumps [actions/cache](https://github.com/actions/cache) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.3.0...v3.3.1)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-14 02:02:06 +00:00
dependabot[bot]
44f48c0817 build(deps-dev): bump pytest-xdist from 3.2.0 to 3.2.1
Bumps [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/pytest-dev/pytest-xdist/releases)
- [Changelog](https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-xdist/compare/v3.2.0...v3.2.1)

---
updated-dependencies:
- dependency-name: pytest-xdist
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 02:09:51 +00:00
dependabot[bot]
0caf482172 build(deps): bump pypa/gh-action-pypi-publish from 1.6.4 to 1.7.1
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.6.4 to 1.7.1.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.6.4...v1.7.1)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 02:08:29 +00:00
dependabot[bot]
5df0ddb040 build(deps): bump virtualenv in /.github/workflows
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.20.0 to 20.21.0.
- [Release notes](https://github.com/pypa/virtualenv/releases)
- [Changelog](https://github.com/pypa/virtualenv/blob/20.21.0/docs/changelog.rst)
- [Commits](https://github.com/pypa/virtualenv/compare/20.20.0...20.21.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 02:08:22 +00:00
dependabot[bot]
286e262b75 build(deps-dev): bump bandit from 1.7.4 to 1.7.5
Bumps [bandit](https://github.com/PyCQA/bandit) from 1.7.4 to 1.7.5.
- [Release notes](https://github.com/PyCQA/bandit/releases)
- [Commits](https://github.com/PyCQA/bandit/compare/1.7.4...1.7.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-10 02:02:57 +00:00
dependabot[bot]
672338a811 build(deps): bump actions/cache from 3.2.6 to 3.3.0
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.6 to 3.3.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.6...v3.3.0)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-10 02:01:52 +00:00
dependabot[bot]
da4752088d build(deps): bump pydantic from 1.10.5 to 1.10.6
Bumps [pydantic](https://github.com/pydantic/pydantic) from 1.10.5 to 1.10.6.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/v1.10.6/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v1.10.5...v1.10.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-09 02:02:58 +00:00
dependabot[bot]
21b27483ca build(deps-dev): bump mypy from 1.0.1 to 1.1.1
Bumps [mypy](https://github.com/python/mypy) from 1.0.1 to 1.1.1.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v1.0.1...v1.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-08 02:04:21 +00:00
dependabot[bot]
7ca69b1c31 build(deps-dev): bump pytest from 7.2.1 to 7.2.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.2.1 to 7.2.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/7.2.1...7.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 02:33:16 +00:00
dependabot[bot]
c607b04967 build(deps-dev): bump ruff from 0.0.253 to 0.0.254
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.253 to 0.0.254.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.253...v0.0.254)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 02:15:32 +00:00
Andrew
ffacdbc35c ci: update dependabot-auto-merge workflow 2023-03-04 23:32:12 -06:00
Andrew
80cd50dc71 ci: update issues workflow 2023-03-04 23:32:12 -06:00
dependabot[bot]
a8207c84e7 build(deps): bump furo from 2022.9.29 to 2022.12.7
Bumps [furo](https://github.com/pradyunsg/furo) from 2022.9.29 to 2022.12.7.
- [Release notes](https://github.com/pradyunsg/furo/releases)
- [Changelog](https://github.com/pradyunsg/furo/blob/main/docs/changelog.md)
- [Commits](https://github.com/pradyunsg/furo/compare/2022.09.29...2022.12.07)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-03 02:03:41 +00:00
dependabot[bot]
b91194cef9 build(deps): bump sphinx from 4.5.0 to 5.3.0 (#403)
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 4.5.0 to 5.3.0.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v4.5.0...v5.3.0)

---
updated-dependencies:
- dependency-name: sphinx
  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>
2023-03-01 21:43:02 -06:00
dependabot[bot]
de91dc95f7 build(deps-dev): bump ruff from 0.0.249 to 0.0.253
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.249 to 0.0.253.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.249...v0.0.253)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-02 02:03:17 +00:00
dependabot[bot]
4126125081 build(deps): bump virtualenv in /.github/workflows
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.19.0 to 20.20.0.
- [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.19.0...20.20.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 02:05:19 +00:00
dependabot[bot]
c6d7927ff0 build(deps-dev): bump types-pytz from 2022.7.1.1 to 2022.7.1.2 (#396)
Bumps [types-pytz](https://github.com/python/typeshed) from 2022.7.1.1 to 2022.7.1.2.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  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>
2023-02-28 14:23:53 -06:00
dependabot[bot]
6e1c830548 build(deps-dev): bump types-croniter from 1.3.2.5 to 1.3.2.6 (#397)
Bumps [types-croniter](https://github.com/python/typeshed) from 1.3.2.5 to 1.3.2.6.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-croniter
  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>
2023-02-28 14:23:46 -06:00
Andrew
e0ec82c732 chore: upgrade to poetry 1.4 (#400)
Also remove the rest of poetry-dynamic-versioning which is no longer
used
2023-02-27 18:42:49 -06:00
dependabot[bot]
ecb16204f8 build(deps-dev): bump coverage from 7.2.0 to 7.2.1
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.2.0 to 7.2.1.
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.2.0...7.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 02:52:45 +00:00
dependabot[bot]
f2c2ea7a08 build(deps-dev): bump coverage from 7.1.0 to 7.2.0
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.1.0...7.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-23 01:27:42 +00:00
dependabot[bot]
fbf5e480f7 build(deps): bump poetry-dynamic-versioning in /.github/workflows
Bumps [poetry-dynamic-versioning](https://github.com/mtkennerly/poetry-dynamic-versioning) from 0.21.3 to 0.21.4.
- [Release notes](https://github.com/mtkennerly/poetry-dynamic-versioning/releases)
- [Changelog](https://github.com/mtkennerly/poetry-dynamic-versioning/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mtkennerly/poetry-dynamic-versioning/compare/v0.21.3...v0.21.4)

---
updated-dependencies:
- dependency-name: poetry-dynamic-versioning
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-22 01:48:40 +00:00
dependabot[bot]
e1404cd130 build(deps): bump actions/cache from 3.2.5 to 3.2.6
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.5 to 3.2.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.5...v3.2.6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-22 01:47:55 +00:00
31 changed files with 1347 additions and 1309 deletions

View File

@@ -4,15 +4,23 @@ updates:
directory: "/" directory: "/"
schedule: schedule:
interval: daily interval: daily
commit-message:
prefix: ci
- package-ecosystem: pip - package-ecosystem: pip
directory: "/.github/workflows" directory: "/.github/workflows"
schedule: schedule:
interval: daily interval: daily
commit-message:
prefix: ci
- package-ecosystem: pip - package-ecosystem: pip
directory: "/docs" directory: "/docs"
schedule: schedule:
interval: daily interval: daily
commit-message:
prefix: docs
- package-ecosystem: pip - package-ecosystem: pip
directory: "/" directory: "/"
schedule: schedule:
interval: daily interval: daily
commit-message:
prefix: deps

View File

@@ -1,7 +1,6 @@
pip==23.0.1 pip==24.1.1
nox==2022.11.21 nox==2024.4.15
nox-poetry==1.0.2 nox-poetry==1.0.3
poetry==1.3.2 poetry==1.8.3
virtualenv==20.19.0 virtualenv==20.26.3
poetry-dynamic-versioning==0.21.3
toml==0.10.2 toml==0.10.2

View File

@@ -7,7 +7,7 @@ jobs:
auto-merge: auto-merge:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- uses: ahmadnassri/action-dependabot-auto-merge@v2 - uses: ahmadnassri/action-dependabot-auto-merge@v2
with: with:
target: minor target: minor

View File

@@ -10,9 +10,9 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v3.1.0 uses: actions/checkout@v4
- name: Run Labeler - name: Run Labeler
uses: crazy-max/ghaction-github-labeler@v4.1.0 uses: crazy-max/ghaction-github-labeler@v5.0.0
with: with:
skip-delete: true skip-delete: true

View File

@@ -10,12 +10,12 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v3.1.0 uses: actions/checkout@v4
with: with:
fetch-depth: 2 fetch-depth: 2
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v4.5.0 uses: actions/setup-python@v5.1.0
with: with:
python-version: "3.10" python-version: "3.10"
@@ -34,7 +34,7 @@ jobs:
poetry build --ansi poetry build --ansi
- name: Publish package on TestPyPI - name: Publish package on TestPyPI
uses: pypa/gh-action-pypi-publish@v1.6.4 uses: pypa/gh-action-pypi-publish@v1.9.0
with: with:
user: __token__ user: __token__
password: ${{ secrets.TEST_PYPI_TOKEN }} password: ${{ secrets.TEST_PYPI_TOKEN }}

View File

@@ -7,7 +7,7 @@ jobs:
release-please: release-please:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: google-github-actions/release-please-action@v3 - uses: google-github-actions/release-please-action@v4
with: with:
token: ${{ secrets.THIS_PAT }} token: ${{ secrets.THIS_PAT }}
release-type: python release-type: python

View File

@@ -8,32 +8,27 @@ jobs:
release: release:
name: Release name: Release
runs-on: ubuntu-latest runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/healthchecks-io
permissions:
id-token: write
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v3.1.0 uses: actions/checkout@v4.1.4
with: with:
fetch-depth: 2 fetch-depth: 2
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v4.5.0 uses: actions/setup-python@v5.1.0
with: with:
python-version: "3.10" python-version: "3.11"
- name: Install pip and poetry
- name: Upgrade pip
run: | run: |
pip install --constraint=.github/workflows/constraints.txt pip pip install --upgrade --constraint .github/workflows/constraints.txt pip poetry
pip --version pip --version
- name: Install Poetry
run: |
pip install --constraint=.github/workflows/constraints.txt poetry poetry-dynamic-versioning
poetry --version poetry --version
- name: Build package - name: Build package
run: | run: |
poetry build --ansi poetry build
- name: Publish package distributions to PyPI
- name: Publish package on PyPI uses: pypa/gh-action-pypi-publish@release/v1
uses: pypa/gh-action-pypi-publish@v1.6.4
with:
user: __token__
password: ${{ secrets.PYPI_TOKEN }}

View File

@@ -11,22 +11,15 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- { python: "3.10", os: "ubuntu-latest", session: "pre-commit" } - { python: "3.11", os: "ubuntu-latest", session: "pre-commit" }
- { python: "3.10", os: "ubuntu-latest", session: "safety" } - { python: "3.11", os: "ubuntu-latest", session: "safety" }
# - { python: "3.10", os: "ubuntu-latest", session: "mypy" } - { python: "3.12", os: "ubuntu-latest", session: "tests" }
# - { python: "3.9", os: "ubuntu-latest", session: "mypy" }
# - { python: "3.8", os: "ubuntu-latest", session: "mypy" }
# - { python: "3.7", os: "ubuntu-latest", session: "mypy" }
- { python: "3.11", os: "ubuntu-latest", session: "tests" } - { python: "3.11", os: "ubuntu-latest", session: "tests" }
- { python: "3.10", os: "ubuntu-latest", session: "tests" } - { python: "3.10", os: "ubuntu-latest", session: "tests" }
- { python: "3.9", os: "ubuntu-latest", session: "tests" } - { python: "3.9", os: "ubuntu-latest", session: "tests" }
- { python: "3.8", os: "ubuntu-latest", session: "tests" } - { python: "3.8", os: "ubuntu-latest", session: "tests" }
- { python: "3.7", os: "ubuntu-latest", session: "tests" } - { python: "3.11", os: "ubuntu-latest", session: "xdoctest" }
# poetry fails to install on windows - { python: "3.11", os: "ubuntu-latest", session: "docs-build" }
# - { python: "3.10", os: "windows-latest", session: "tests" }
- { python: "3.11", os: "macos-latest", session: "tests" }
- { python: "3.10", os: "ubuntu-latest", session: "xdoctest" }
- { python: "3.10", os: "ubuntu-latest", session: "docs-build" }
env: env:
NOXSESSION: ${{ matrix.session }} NOXSESSION: ${{ matrix.session }}
@@ -35,37 +28,19 @@ jobs:
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v3.1.0 uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python }} - name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v4.5.0 uses: actions/setup-python@v5.1.0
with: with:
python-version: ${{ matrix.python }} python-version: ${{ matrix.python }}
- name: Upgrade pip - name: Install needed tools
run: | run: |
pip install --constraint=.github/workflows/constraints.txt pip pip install --upgrade pip nox poetry virtualenv toml --constraint=.github/workflows/constraints.txt
pip --version pip --version
# separate out nox-poetry until it gets a released version with support for 1.8
- name: Upgrade pip in virtual environments pip install --upgrade nox-poetry --constraint=.github/workflows/constraints.txt
shell: python
run: |
import os
import pip
with open(os.environ["GITHUB_ENV"], mode="a") as io:
print(f"VIRTUALENV_PIP={pip.__version__}", file=io)
- name: Install Poetry
run: |
pipx install --pip-args=--constraint=.github/workflows/constraints.txt poetry
poetry --version
- name: Install Nox
run: |
pipx install --pip-args=--constraint=.github/workflows/constraints.txt nox
pipx inject --pip-args=--constraint=.github/workflows/constraints.txt nox nox-poetry toml
nox --version
- name: Compute pre-commit cache key - name: Compute pre-commit cache key
if: matrix.session == 'pre-commit' if: matrix.session == 'pre-commit'
@@ -85,7 +60,7 @@ jobs:
fh.write(f"result={result}\n") fh.write(f"result={result}\n")
- name: Restore pre-commit cache - name: Restore pre-commit cache
uses: actions/cache@v3.2.5 uses: actions/cache@v4.0.2
if: matrix.session == 'pre-commit' if: matrix.session == 'pre-commit'
with: with:
path: ~/.cache/pre-commit path: ~/.cache/pre-commit
@@ -96,32 +71,3 @@ jobs:
- name: Run Nox - name: Run Nox
run: | run: |
nox --force-color --python=${{ matrix.python }} nox --force-color --python=${{ matrix.python }}
- name: Upload coverage data
if: always() && matrix.session == 'tests'
uses: "actions/upload-artifact@v3.1.2"
with:
name: coverage-data
path: ".coverage.*"
- name: Upload documentation
if: matrix.session == 'docs-build'
uses: actions/upload-artifact@v3.1.2
with:
name: docs
path: docs/_build
coverage:
runs-on: ubuntu-latest
needs: tests
steps:
- name: Download coverage data
uses: actions/download-artifact@v3.0.2
with:
name: coverage-data
- name: Upload coverage report
uses: codecov/codecov-action@v3.1.1
with:
files: .coverage.xml
verbose: true

View File

@@ -1,11 +1,26 @@
exclude: ".*tests\/fixtures.*"
repos: repos:
- repo: https://github.com/charliermarsh/ruff-pre-commit - repo: https://github.com/pre-commit/pre-commit-hooks
# Ruff version. rev: v4.6.0
rev: "v0.0.249"
hooks: hooks:
- id: check-yaml
- id: debug-statements
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.4.3
hooks:
# Run the linter.
- id: ruff - id: ruff
args: [--fix, --exit-non-zero-on-fix] args: [ --fix ]
types: [python] # Run the formatter.
- id: ruff-format
- repo: https://github.com/rhysd/actionlint
rev: v1.6.27
hooks:
- id: actionlint-docker
name: Actionlint
- repo: local - repo: local
hooks: hooks:
- id: bandit - id: bandit
@@ -14,7 +29,7 @@ repos:
language: system language: system
types: [python] types: [python]
require_serial: true require_serial: true
args: ["-c", "bandit.yml"] args: ["-c", "pyproject.toml"]
- id: check-added-large-files - id: check-added-large-files
name: Check for added large files name: Check for added large files
entry: check-added-large-files entry: check-added-large-files
@@ -41,24 +56,10 @@ repos:
entry: pyupgrade entry: pyupgrade
language: system language: system
types: [python] types: [python]
args: [--py37-plus] args: [--py38-plus]
- id: reorder-python-imports
name: Reorder python imports
entry: reorder-python-imports
language: system
types: [python]
args: [--application-directories=src]
- id: trailing-whitespace - id: trailing-whitespace
name: Trim Trailing Whitespace name: Trim Trailing Whitespace
entry: trailing-whitespace-fixer entry: trailing-whitespace-fixer
language: system language: system
types: [text] types: [text]
stages: [commit, push, manual] stages: [commit, push, manual]
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v2.7.1
hooks:
- id: prettier
- repo: https://github.com/rhysd/actionlint
rev: v1.6.15
hooks:
- id: actionlint-docker

View File

@@ -1,5 +1,57 @@
# Changelog # Changelog
## [0.4.3](https://github.com/andrewthetechie/py-healthchecks.io/compare/v0.4.2...v0.4.3) (2024-07-03)
### Dependencies
* bump coverage from 7.5.1 to 7.5.2 ([#680](https://github.com/andrewthetechie/py-healthchecks.io/issues/680)) ([b372e66](https://github.com/andrewthetechie/py-healthchecks.io/commit/b372e66c44ae403af042a43b3d7de41142570eb3))
* bump coverage from 7.5.2 to 7.5.3 ([#683](https://github.com/andrewthetechie/py-healthchecks.io/issues/683)) ([5325352](https://github.com/andrewthetechie/py-healthchecks.io/commit/5325352bae60b332f4602e37adb3f35cc8ae11c7))
* bump httpx from 0.24.1 to 0.27.0 ([#668](https://github.com/andrewthetechie/py-healthchecks.io/issues/668)) ([6e88834](https://github.com/andrewthetechie/py-healthchecks.io/commit/6e88834d93ea28f9bfeb7b81bcac8227ee38580c))
* bump pre-commit from 2.21.0 to 3.5.0 ([#669](https://github.com/andrewthetechie/py-healthchecks.io/issues/669)) ([4d00499](https://github.com/andrewthetechie/py-healthchecks.io/commit/4d00499f94c7e6ad4af86742996fca9c266e8ddf))
* bump pytz from 2023.4 to 2024.1 ([#670](https://github.com/andrewthetechie/py-healthchecks.io/issues/670)) ([67ec0b5](https://github.com/andrewthetechie/py-healthchecks.io/commit/67ec0b5d58563c0fb92ee5a7754706b07d767c11))
* bump reorder-python-imports from 3.12.0 to 3.13.0 ([#685](https://github.com/andrewthetechie/py-healthchecks.io/issues/685)) ([c071ced](https://github.com/andrewthetechie/py-healthchecks.io/commit/c071ced5bfc00fcfef922d01a3c70961f03176d6))
* bump ruff from 0.4.3 to 0.4.4 ([#675](https://github.com/andrewthetechie/py-healthchecks.io/issues/675)) ([e46f70c](https://github.com/andrewthetechie/py-healthchecks.io/commit/e46f70c4708eb703c0f02a97efe62a94145f6e58))
* bump ruff from 0.4.4 to 0.4.5 ([#679](https://github.com/andrewthetechie/py-healthchecks.io/issues/679)) ([55ea01d](https://github.com/andrewthetechie/py-healthchecks.io/commit/55ea01de63c43865c0b41b4248f02d96b17f1c07))
* bump ruff from 0.4.5 to 0.4.6 ([#681](https://github.com/andrewthetechie/py-healthchecks.io/issues/681)) ([627f070](https://github.com/andrewthetechie/py-healthchecks.io/commit/627f070e3fcbaf53a523a5b81b0699e39ffc4229))
* bump ruff from 0.4.6 to 0.5.0 ([#699](https://github.com/andrewthetechie/py-healthchecks.io/issues/699)) ([f9e0fd0](https://github.com/andrewthetechie/py-healthchecks.io/commit/f9e0fd0bd135621f031ed5d490cfabdd90c8991d))
* bump the pip group with 3 updates ([#694](https://github.com/andrewthetechie/py-healthchecks.io/issues/694)) ([a4b7396](https://github.com/andrewthetechie/py-healthchecks.io/commit/a4b73966f1b44c609bd9bdd25505429bb8b772a8))
* bump types-pytz from 2023.4.0.20240130 to 2024.1.0.20240417 ([#672](https://github.com/andrewthetechie/py-healthchecks.io/issues/672)) ([e24fcb2](https://github.com/andrewthetechie/py-healthchecks.io/commit/e24fcb233bd7a35f3999e9fb7bd174ef357ecdcb))
## [0.4.2](https://github.com/andrewthetechie/py-healthchecks.io/compare/v0.4.1...v0.4.2) (2024-05-07)
### Dependencies
* bump croniter from 1.4.1 to 2.0.5 ([#660](https://github.com/andrewthetechie/py-healthchecks.io/issues/660)) ([f945389](https://github.com/andrewthetechie/py-healthchecks.io/commit/f94538951c0aed4b0528974d6cb29c4cfd859845))
* bump pytest-cov from 4.1.0 to 5.0.0 ([#663](https://github.com/andrewthetechie/py-healthchecks.io/issues/663)) ([802520d](https://github.com/andrewthetechie/py-healthchecks.io/commit/802520d4548d70e5597321e02b8d11af322431bd))
* bump safety from 2.3.5 to 3.2.0 ([#661](https://github.com/andrewthetechie/py-healthchecks.io/issues/661)) ([c56e048](https://github.com/andrewthetechie/py-healthchecks.io/commit/c56e048635d32eb9cf5c4f82a9929e9065da5735))
* bump sphinx from 5.3.0 to 7.1.2 ([#662](https://github.com/andrewthetechie/py-healthchecks.io/issues/662)) ([97723e9](https://github.com/andrewthetechie/py-healthchecks.io/commit/97723e91b631e3c4266a090e169eb19ffe1de153))
### Documentation
* bump furo from 2024.4.27 to 2024.5.6 in /docs ([#665](https://github.com/andrewthetechie/py-healthchecks.io/issues/665)) ([b7438af](https://github.com/andrewthetechie/py-healthchecks.io/commit/b7438af1275ce8fceb5d996aabd28cce5ca1193c))
## [0.4.1](https://github.com/andrewthetechie/py-healthchecks.io/compare/v0.4.0...v0.4.1) (2024-05-05)
### Bug Fixes
* update poetry and virtualenv ([#489](https://github.com/andrewthetechie/py-healthchecks.io/issues/489)) ([1376595](https://github.com/andrewthetechie/py-healthchecks.io/commit/1376595877577848e0672d88403dc5740e7c1664))
### Dependencies
* bump pytest-asyncio from 0.21.2 to 0.23.6 ([#657](https://github.com/andrewthetechie/py-healthchecks.io/issues/657)) ([f785186](https://github.com/andrewthetechie/py-healthchecks.io/commit/f7851865821ed0f6df4d4977a4e3a5bc26bbf190))
* bump ruff from 0.0.275 to 0.4.3 ([#655](https://github.com/andrewthetechie/py-healthchecks.io/issues/655)) ([6de87bb](https://github.com/andrewthetechie/py-healthchecks.io/commit/6de87bb43d2c236f1be762d439998baea5d0c417))
* bump types-croniter from 1.4.0.1 to 2.0.0.20240423 ([#654](https://github.com/andrewthetechie/py-healthchecks.io/issues/654)) ([50f8bba](https://github.com/andrewthetechie/py-healthchecks.io/commit/50f8bbabb2df6aed0931ca5979792e694121650c))
### Documentation
* fixes get_check args ([#597](https://github.com/andrewthetechie/py-healthchecks.io/issues/597)) ([cb862fa](https://github.com/andrewthetechie/py-healthchecks.io/commit/cb862fa2c576b62dee2661a2939f69548726bc11))
## [0.4.0](https://github.com/andrewthetechie/py-healthchecks.io/compare/v0.3.1...v0.4.0) (2023-02-21) ## [0.4.0](https://github.com/andrewthetechie/py-healthchecks.io/compare/v0.3.1...v0.4.0) (2023-02-21)

View File

@@ -1,4 +1,5 @@
"""Sphinx configuration.""" """Sphinx configuration."""
from datetime import datetime from datetime import datetime

View File

@@ -1,2 +1,2 @@
furo==2022.12.7 furo==2024.5.6
sphinx==6.1.3 sphinx==7.3.7

View File

@@ -75,7 +75,7 @@ Getting a Check
client = Client(api_key="myapikey") client = Client(api_key="myapikey")
check = client.get_check(uuid="mychecksuuid") check = client.get_check(check_id="mychecksuuid")
print(check) print(check)
Pinging a Check Pinging a Check

View File

@@ -1,4 +1,5 @@
"""Nox sessions.""" """Nox sessions."""
import os import os
import shlex import shlex
import shutil import shutil
@@ -23,28 +24,17 @@ except ImportError:
package = "healthchecks_io" package = "healthchecks_io"
python_versions = ["3.10", "3.11", "3.9", "3.8", "3.7"] python_versions = ["3.11", "3.12", "3.10", "3.9", "3.8"]
nox.needs_version = ">= 2021.6.6" nox.needs_version = ">= 2021.6.6"
nox.options.sessions = ( nox.options.sessions = (
"pre-commit", "pre-commit",
"bandit",
"safety", "safety",
"mypy", # "mypy",
"tests", "tests",
# "typeguard",
"xdoctest", "xdoctest",
"docs-build", "docs-build",
) )
mypy_type_packages = ("types-croniter", "types-pytz")
test_requirements = (
"coverage[toml]",
"pytest",
"pygments",
"respx",
"pytest-asyncio",
"pytest-lazy-fixture",
)
mypy_type_packages = ()
pyproject = toml.load("pyproject.toml") pyproject = toml.load("pyproject.toml")
test_requirements = pyproject["tool"]["poetry"]["group"]["dev"]["dependencies"].keys() test_requirements = pyproject["tool"]["poetry"]["group"]["dev"]["dependencies"].keys()
@@ -118,20 +108,7 @@ def activate_virtualenv_in_precommit_hooks(session: Session) -> None:
def precommit(session: Session) -> None: def precommit(session: Session) -> None:
"""Lint using pre-commit.""" """Lint using pre-commit."""
args = session.posargs or ["run", "--all-files", "--show-diff-on-failure"] args = session.posargs or ["run", "--all-files", "--show-diff-on-failure"]
session.install( session.install(*test_requirements)
"black",
"darglint",
"flake8",
"flake8-bandit",
"flake8-bugbear",
"flake8-docstrings",
"flake8-rst-docstrings",
"pep8-naming",
"pre-commit",
"pre-commit-hooks",
"pyupgrade",
"reorder-python-imports",
)
session.run("pre-commit", *args) session.run("pre-commit", *args)
if args and args[0] == "install": if args and args[0] == "install":
activate_virtualenv_in_precommit_hooks(session) activate_virtualenv_in_precommit_hooks(session)
@@ -144,7 +121,11 @@ def safety(session: Session) -> None:
session.install("safety") session.install("safety")
# ignore https://github.com/pytest-dev/py/issues/287 # ignore https://github.com/pytest-dev/py/issues/287
# its an irresposnbily filed CVE causing nose # its an irresposnbily filed CVE causing nose
session.run("safety", "check", "--full-report", f"--file={requirements}", "--ignore=51457") # ignore https://data.safetycli.com/v/70612/97c/
# Jinja2 vulnerability, maintainer believe it is not a valid vulnerability
# ignore https://data.safetycli.com/v/71064/97c/
# requests vulnerability. The fixed version is not compatible with the packaging library
session.run("safety", "check", "--full-report", f"--file={requirements}", "--ignore=51457,70612,71064")
@session(python=python_versions) @session(python=python_versions)
@@ -153,17 +134,10 @@ def mypy(session: Session) -> None:
args = session.posargs or ["src"] args = session.posargs or ["src"]
session.install(".") session.install(".")
session.install("mypy", "pytest") session.install("mypy", "pytest")
session.install(*mypy_type_packages) session.install(*test_requirements)
session.run("mypy", *args) session.run("mypy", *args)
@session(python=python_versions[0])
def bandit(session: Session) -> None:
"""Run bandit security tests"""
args = session.posargs or ["-r", "./src"]
session.run("bandit", *args)
@session(python=python_versions) @session(python=python_versions)
def tests(session: Session) -> None: def tests(session: Session) -> None:
"""Run the test suite.""" """Run the test suite."""

2041
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "healthchecks_io" name = "healthchecks_io"
version = "0.4.0" version = "0.4.3"
description = "A python client package for Healthchecks.io API" description = "A python client package for Healthchecks.io API"
authors = ["Andrew Herrington <andrew.the.techie@gmail.com>"] authors = ["Andrew Herrington <andrew.the.techie@gmail.com>"]
license = "MIT" license = "MIT"
@@ -25,34 +25,35 @@ classifiers = [
Changelog = "https://github.com/andrewthetechie/py-healthchecks.io/releases" Changelog = "https://github.com/andrewthetechie/py-healthchecks.io/releases"
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "^3.7" python = "^3.8"
pydantic = "^1.9.1" pydantic = ">=1.9.1,<3.0.0"
httpx = ">=0.23.0,<0.24.0" httpx = ">=0.23.0,<0.28.0"
croniter = "^1.1.0" croniter = ">=1.1,<3.0"
pytz = ">=2021.3,<2023.0" pytz = ">=2024.1,<2025.0"
packaging = "^24.1"
[tool.poetry.group.dev.dependencies] [tool.poetry.group.dev.dependencies]
pytest = "^7.2.1" pytest = "^7.2.1"
coverage = {extras = ["toml"], version = "^7.1"} coverage = {extras = ["toml"], version = "^7.1"}
safety = "^2.3.5" safety = ">=2.3.5,<4.0.0"
mypy = "^1.0" mypy = "^1.0"
xdoctest = {extras = ["colors"], version = "^1.1.1"} xdoctest = {extras = ["colors"], version = "^1.1.1"}
sphinx = "^4.3.2" sphinx = ">=4.3.2,<8.0.0"
sphinx-autobuild = ">=2021.3.14" sphinx-autobuild = ">=2021.3.14"
pre-commit = "^2.21.0" pre-commit = ">=2.21,<4.0"
reorder-python-imports = "^3.9.0" reorder-python-imports = "^3.9.0"
pre-commit-hooks = "^4.4.0" pre-commit-hooks = "^4.4.0"
pyupgrade = "^3.3.1" pyupgrade = "^3.3.1"
furo = ">=2021.11.12" furo = ">=2021.11.12"
pytest-cov = "^4.0.0" pytest-cov = ">=4,<6"
types-croniter = "^1.3.2" types-croniter = ">=1.3.2,<3.0.0"
types-pytz = "^2022.7.1" types-pytz = ">=2022.7.1,<2025.0.0"
pytest-asyncio = "^0.20.3" pytest-asyncio = ">=0.20.3,<0.24.0"
respx = "^0.20.1" respx = ">=0.20.1,<0.22.0"
pytest-mock = "^3.10.0" pytest-mock = "^3.10.0"
pytest-lazy-fixture = "^0.6.3" pytest-lazy-fixture = "^0.6.3"
pytest-xdist = "^3.2.0" pytest-xdist = "^3.2.0"
ruff = "^0.0.249" ruff = ">=0.5.0,<0.5.1"
bandit = "^1.7.4" bandit = "^1.7.4"
[tool.coverage.paths] [tool.coverage.paths]
@@ -67,6 +68,9 @@ source = ["healthchecks_io"]
show_missing = true show_missing = true
fail_under = 100 fail_under = 100
[tool.bandit]
exclude_dirs = ["tests", "noxfile.py", ".github/scripts", "test_errbot", "dist"]
[tool.mypy] [tool.mypy]
strict = true strict = true
warn_unreachable = true warn_unreachable = true
@@ -76,7 +80,7 @@ show_error_codes = true
show_error_context = true show_error_context = true
[build-system] [build-system]
requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"] requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api" build-backend = "poetry.core.masonry.api"
[tool.pytest.ini_options] [tool.pytest.ini_options]
@@ -84,4 +88,4 @@ addopts = "-n 4 --ignore examples --cov=healthchecks_io --cov-report xml:.covera
[tool.ruff] [tool.ruff]
line-length = 120 line-length = 120
target-version = "py37" target-version = "py38"

View File

@@ -1,6 +1,7 @@
"""Py Healthchecks.Io.""" """Py Healthchecks.Io."""
# set by poetry-dynamic-versioning # set by poetry-dynamic-versioning
__version__ = "0.4.0" # noqa: E402 __version__ = "0.4.3" # noqa: E402
from .client import AsyncClient # noqa: F401, E402 from .client import AsyncClient # noqa: F401, E402
from .client import Client # noqa: F401, E402 from .client import Client # noqa: F401, E402

View File

@@ -1,4 +1,5 @@
"""healthchecks_io clients.""" """healthchecks_io clients."""
from .async_client import AsyncClient # noqa: F401 from .async_client import AsyncClient # noqa: F401
from .check_trap import CheckTrap # noqa: F401 from .check_trap import CheckTrap # noqa: F401
from .sync_client import Client # noqa: F401 from .sync_client import Client # noqa: F401

View File

@@ -57,9 +57,7 @@ class AbstractClient(ABC):
"""Finalizer method is called by weakref.finalize when the object is dereferenced to do cleanup of clients.""" """Finalizer method is called by weakref.finalize when the object is dereferenced to do cleanup of clients."""
pass pass
def _get_api_request_url( def _get_api_request_url(self, path: str, params: Optional[Dict[str, Any]] = None) -> str:
self, path: str, params: Optional[Dict[str, Any]] = None
) -> str:
"""Get a full request url for the healthchecks api. """Get a full request url for the healthchecks api.
Args: Args:
@@ -165,9 +163,7 @@ class AbstractClient(ABC):
raise CheckNotFoundError(f"CHeck not found at {response.request.url}") raise CheckNotFoundError(f"CHeck not found at {response.request.url}")
if response.status_code == 400: if response.status_code == 400:
raise BadAPIRequestError( raise BadAPIRequestError(f"Bad request when requesting {response.request.url}. {response.text}")
f"Bad request when requesting {response.request.url}. {response.text}"
)
return response return response
@@ -208,21 +204,15 @@ class AbstractClient(ABC):
raise HCAPIRateLimitError(f"Rate limited on {response.request.url}") raise HCAPIRateLimitError(f"Rate limited on {response.request.url}")
if response.status_code == 400: if response.status_code == 400:
raise BadAPIRequestError( raise BadAPIRequestError(f"Bad request when requesting {response.request.url}. {response.text}")
f"Bad request when requesting {response.request.url}. {response.text}"
)
if response.status_code == 409: if response.status_code == 409:
raise NonUniqueSlugError( raise NonUniqueSlugError(f"Bad request, slug conflict {response.request.url}. {response.text}")
f"Bad request, slug conflict {response.request.url}. {response.text}"
)
return response return response
@staticmethod @staticmethod
def _add_url_params( def _add_url_params(url: str, params: Dict[str, Union[str, int, bool]], replace: bool = True) -> str:
url: str, params: Dict[str, Union[str, int, bool]], replace: bool = True
) -> str:
"""Add GET params to provided URL being aware of existing. """Add GET params to provided URL being aware of existing.
:param url: string of target URL :param url: string of target URL
@@ -255,12 +245,7 @@ class AbstractClient(ABC):
# get all the duplicated keys from params and urlencode them, we'll concat this to the params string later # get all the duplicated keys from params and urlencode them, we'll concat this to the params string later
duplicated_params = [x for x in params if x in parsed_get_args] duplicated_params = [x for x in params if x in parsed_get_args]
# get all the args that aren't duplicated and add them to parsed_get_args # get all the args that aren't duplicated and add them to parsed_get_args
parsed_get_args.update( parsed_get_args.update({key: parsed_params[key] for key in [x for x in params if x not in parsed_get_args]})
{
key: parsed_params[key]
for key in [x for x in params if x not in parsed_get_args]
}
)
# if we have any duplicated parameters, urlencode them, we append them later # if we have any duplicated parameters, urlencode them, we append them later
extra_parameters = ( extra_parameters = (
f"&{urlencode({key: params[key] for key in duplicated_params}, doseq=True)}" f"&{urlencode({key: params[key] for key in duplicated_params}, doseq=True)}"

View File

@@ -1,4 +1,5 @@
"""An async healthchecks.io client.""" """An async healthchecks.io client."""
import asyncio import asyncio
from types import TracebackType from types import TracebackType
from typing import Dict from typing import Dict

View File

@@ -1,4 +1,5 @@
"""CheckTrap is a context manager to wrap around python code to communicate results to a Healthchecks check.""" """CheckTrap is a context manager to wrap around python code to communicate results to a Healthchecks check."""
from types import TracebackType from types import TracebackType
from typing import List from typing import List
from typing import Optional from typing import Optional
@@ -68,9 +69,7 @@ class CheckTrap:
CheckTrap: self CheckTrap: self
""" """
if isinstance(self.client, AsyncClient): if isinstance(self.client, AsyncClient):
raise WrongClientError( raise WrongClientError("You passed an AsyncClient, use this as an async context manager")
"You passed an AsyncClient, use this as an async context manager"
)
result = self.client.start_ping(uuid=self.uuid, slug=self.slug) result = self.client.start_ping(uuid=self.uuid, slug=self.slug)
if not result[0]: if not result[0]:
raise PingFailedError(result[1]) raise PingFailedError(result[1])
@@ -96,9 +95,7 @@ class CheckTrap:
Optional[bool]: self.suppress_exceptions, if true will not raise any exceptions Optional[bool]: self.suppress_exceptions, if true will not raise any exceptions
""" """
if exc_type is None: if exc_type is None:
self.client.success_ping( self.client.success_ping(self.uuid, self.slug, data="\n".join(self.log_lines))
self.uuid, self.slug, data="\n".join(self.log_lines)
)
else: else:
self.add_log(str(exc)) self.add_log(str(exc))
self.add_log(str(traceback)) self.add_log(str(traceback))
@@ -125,9 +122,7 @@ class CheckTrap:
CheckTrap: self CheckTrap: self
""" """
if isinstance(self.client, Client): if isinstance(self.client, Client):
raise WrongClientError( raise WrongClientError("You passed a sync Client, use this as a regular context manager")
"You passed a sync Client, use this as a regular context manager"
)
result = await self.client.start_ping(self.uuid, self.slug) result = await self.client.start_ping(self.uuid, self.slug)
if not result[0]: if not result[0]:
raise PingFailedError(result[1]) raise PingFailedError(result[1])

View File

@@ -1,4 +1,5 @@
"""An async healthchecks.io client.""" """An async healthchecks.io client."""
from types import TracebackType from types import TracebackType
from typing import Dict from typing import Dict
from typing import List from typing import List
@@ -301,6 +302,7 @@ class Client(AbstractClient):
svg, json, shields: reports two states: "up" and "down". It considers any checks in the grace period svg, json, shields: reports two states: "up" and "down". It considers any checks in the grace period
as still "up". as still "up".
svg3, json3, shields3: reports three states: "up", "late", and "down". svg3, json3, shields3: reports three states: "up", "late", and "down".
The response includes a special * entry: this pseudo-tag reports the overal status The response includes a special * entry: this pseudo-tag reports the overal status

View File

@@ -1,4 +1,5 @@
"""Schemas for healthchecks_io.""" """Schemas for healthchecks_io."""
from .badges import Badges from .badges import Badges
from .checks import Check from .checks import Check
from .checks import CheckCreate from .checks import CheckCreate

View File

@@ -2,6 +2,7 @@
https://healthchecks.io/docs/api/ https://healthchecks.io/docs/api/
""" """
from typing import Dict from typing import Dict
from pydantic import BaseModel from pydantic import BaseModel

View File

@@ -2,6 +2,7 @@
https://healthchecks.io/docs/api/ https://healthchecks.io/docs/api/
""" """
from datetime import datetime from datetime import datetime
from pathlib import PurePath from pathlib import PurePath
from typing import Any from typing import Any
@@ -13,45 +14,45 @@ from urllib.parse import urlparse
import pytz import pytz
from croniter import croniter from croniter import croniter
from pydantic import BaseModel from pydantic import field_validator, BaseModel, ValidationInfo
from pydantic import Field from pydantic import Field
from pydantic import validator
class Check(BaseModel): class Check(BaseModel):
"""Schema for a check object, either from a readonly api request or a rw api request.""" """Schema for a check object, either from a readonly api request or a rw api request."""
unique_key: Optional[str] unique_key: Optional[str] = None
name: str name: str
slug: str slug: str
tags: Optional[str] tags: Optional[str] = None
desc: Optional[str] desc: Optional[str] = None
grace: int grace: int
n_pings: int n_pings: int
status: str status: str
last_ping: Optional[datetime] last_ping: Optional[datetime] = None
next_ping: Optional[datetime] next_ping: Optional[datetime] = None
manual_resume: bool manual_resume: bool
methods: Optional[str] methods: Optional[str] = None
# healthchecks.io's api doesn't return a scheme so we cant use Pydantic AnyUrl here # healthchecks.io's api doesn't return a scheme so we cant use Pydantic AnyUrl here
ping_url: Optional[str] ping_url: Optional[str] = None
update_url: Optional[str] update_url: Optional[str] = None
pause_url: Optional[str] pause_url: Optional[str] = None
channels: Optional[str] channels: Optional[str] = None
timeout: Optional[int] timeout: Optional[int] = None
uuid: Optional[str] uuid: Optional[str] = Field(default=None, validate_default=True)
@validator("uuid", always=True) @field_validator("uuid")
def validate_uuid(cls, value: Optional[str], values: Dict[str, Any]) -> Optional[str]: # noqa: B902 @classmethod
def validate_uuid(cls, value: Optional[str], info: ValidationInfo) -> Optional[str]: # noqa: B902
"""Tries to set the uuid from the ping_url. """Tries to set the uuid from the ping_url.
Will return none if a read only token is used because it cannot retrieve the UUID of a check Will return none if a read only token is used because it cannot retrieve the UUID of a check
""" """
if value is None and values.get("ping_url", None) is not None: if value is None and info.data.get("ping_url", None) is not None:
# url is like healthchecks.io/ping/8f57b84b-86c2-4546-8923-03f83d27604a, so we want just the # url is like healthchecks.io/ping/8f57b84b-86c2-4546-8923-03f83d27604a, so we want just the
# UUID off the end # UUID off the end
# Parse the url, grab the path and then just get the name using pathlib # Parse the url, grab the path and then just get the name using pathlib
path = PurePath(str(urlparse(values.get("ping_url")).path)) path = PurePath(str(urlparse(info.data.get("ping_url")).path))
return path.name return path.name
return value return value
@@ -88,8 +89,7 @@ class CheckCreate(BaseModel):
) )
tz: Optional[str] = Field( tz: Optional[str] = Field(
"UTC", "UTC",
description="Server's timezone. This setting only has an effect " description="Server's timezone. This setting only has an effect " "in combination with the schedule parameter.",
"in combination with the schedule parameter.",
) )
manual_resume: Optional[bool] = Field( manual_resume: Optional[bool] = Field(
False, False,
@@ -126,28 +126,32 @@ class CheckCreate(BaseModel):
"for the unique field are name, tags, timeout, and grace.", "for the unique field are name, tags, timeout, and grace.",
) )
@validator("schedule") @field_validator("schedule")
@classmethod
def validate_schedule(cls, value: str) -> str: def validate_schedule(cls, value: str) -> str:
"""Validates that the schedule is a valid cron expression.""" """Validates that the schedule is a valid cron expression."""
if not croniter.is_valid(value): if not croniter.is_valid(value):
raise ValueError("Schedule is not a valid cron expression") raise ValueError("Schedule is not a valid cron expression")
return value return value
@validator("tz") @field_validator("tz")
@classmethod
def validate_tz(cls, value: str) -> str: def validate_tz(cls, value: str) -> str:
"""Validates that the timezone is a valid timezone string.""" """Validates that the timezone is a valid timezone string."""
if value not in pytz.all_timezones: if value not in pytz.all_timezones:
raise ValueError("Tz is not a valid timezone") raise ValueError("Tz is not a valid timezone")
return value return value
@validator("methods") @field_validator("methods")
@classmethod
def validate_methods(cls, value: str) -> str: def validate_methods(cls, value: str) -> str:
"""Validate that methods.""" """Validate that methods."""
if value not in ("", "POST"): if value not in ("", "POST"):
raise ValueError("Methods is invalid, it should be either an empty string or POST") raise ValueError("Methods is invalid, it should be either an empty string or POST")
return value return value
@validator("unique") @field_validator("unique")
@classmethod
def validate_unique(cls, value: List[Optional[str]]) -> List[Optional[str]]: def validate_unique(cls, value: List[Optional[str]]) -> List[Optional[str]]:
"""Validate unique list.""" """Validate unique list."""
for unique in value: for unique in value:
@@ -184,8 +188,7 @@ class CheckUpdate(CheckCreate):
) )
tz: Optional[str] = Field( tz: Optional[str] = Field(
None, None,
description="Server's timezone. This setting only has an effect " description="Server's timezone. This setting only has an effect " "in combination with the schedule parameter.",
"in combination with the schedule parameter.",
) )
manual_resume: Optional[bool] = Field( manual_resume: Optional[bool] = Field(
None, None,

View File

@@ -2,6 +2,7 @@
https://healthchecks.io/docs/api/ https://healthchecks.io/docs/api/
""" """
from typing import Dict from typing import Dict
from pydantic import BaseModel from pydantic import BaseModel

View File

@@ -13,10 +13,7 @@ from healthchecks_io import NonUniqueSlugError
def test_abstract_add_url_params(test_abstract_client): def test_abstract_add_url_params(test_abstract_client):
url = test_abstract_client._add_url_params("http://test.com/?test=test", {"test": "test2"})
url = test_abstract_client._add_url_params(
"http://test.com/?test=test", {"test": "test2"}
)
assert url == "http://test.com/?test=test2" assert url == "http://test.com/?test=test2"

View File

@@ -15,9 +15,7 @@ from healthchecks_io.client.exceptions import HCAPIError
@pytest.mark.asyncio @pytest.mark.asyncio
@pytest.mark.respx @pytest.mark.respx
async def test_acreate_check_200_context_manager( async def test_acreate_check_200_context_manager(fake_check_api_result, respx_mock, test_async_client):
fake_check_api_result, respx_mock, test_async_client
):
checks_url = urljoin(test_async_client._api_url, "checks/") checks_url = urljoin(test_async_client._api_url, "checks/")
respx_mock.post(checks_url).mock( respx_mock.post(checks_url).mock(
return_value=Response( return_value=Response(
@@ -43,9 +41,7 @@ async def test_acreate_check_200_context_manager(
) )
) )
async with test_async_client as test_client: async with test_async_client as test_client:
check = await test_client.create_check( check = await test_client.create_check(CheckCreate(name="test", tags="test", desc="test"))
CheckCreate(name="test", tags="test", desc="test")
)
assert check.name == "Backups" assert check.name == "Backups"
@@ -76,9 +72,7 @@ async def test_acreate_check_200(fake_check_api_result, respx_mock, test_async_c
}, },
) )
) )
check = await test_async_client.create_check( check = await test_async_client.create_check(CheckCreate(name="test", tags="test", desc="test"))
CheckCreate(name="test", tags="test", desc="test")
)
assert check.name == "Backups" assert check.name == "Backups"
@@ -109,9 +103,7 @@ async def test_aupdate_check_200(fake_check_api_result, respx_mock, test_async_c
}, },
) )
) )
check = await test_async_client.update_check( check = await test_async_client.update_check("test", CheckUpdate(name="test", desc="test"))
"test", CheckUpdate(name="test", desc="test")
)
assert check.name == "Backups" assert check.name == "Backups"
@@ -120,9 +112,7 @@ async def test_aupdate_check_200(fake_check_api_result, respx_mock, test_async_c
async def test_aget_checks_200(fake_check_api_result, respx_mock, test_async_client): async def test_aget_checks_200(fake_check_api_result, respx_mock, test_async_client):
assert test_async_client._client is not None assert test_async_client._client is not None
checks_url = urljoin(test_async_client._api_url, "checks/") checks_url = urljoin(test_async_client._api_url, "checks/")
respx_mock.get(checks_url).mock( respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json={"checks": [fake_check_api_result]}))
return_value=Response(status_code=200, json={"checks": [fake_check_api_result]})
)
checks = await test_async_client.get_checks() checks = await test_async_client.get_checks()
assert len(checks) == 1 assert len(checks) == 1
assert checks[0].name == fake_check_api_result["name"] assert checks[0].name == fake_check_api_result["name"]
@@ -132,13 +122,9 @@ async def test_aget_checks_200(fake_check_api_result, respx_mock, test_async_cli
@pytest.mark.respx @pytest.mark.respx
async def test_aget_checks_pass_in_client(fake_check_api_result, respx_mock): async def test_aget_checks_pass_in_client(fake_check_api_result, respx_mock):
httpx_client = HTTPXAsyncClient() httpx_client = HTTPXAsyncClient()
test_async_client = AsyncClient( test_async_client = AsyncClient(api_key="test", api_url="http://localhost/api/", client=httpx_client)
api_key="test", api_url="http://localhost/api/", client=httpx_client
)
checks_url = urljoin(test_async_client._api_url, "checks/") checks_url = urljoin(test_async_client._api_url, "checks/")
respx_mock.get(checks_url).mock( respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json={"checks": [fake_check_api_result]}))
return_value=Response(status_code=200, json={"checks": [fake_check_api_result]})
)
checks = await test_async_client.get_checks() checks = await test_async_client.get_checks()
assert len(checks) == 1 assert len(checks) == 1
assert checks[0].name == fake_check_api_result["name"] assert checks[0].name == fake_check_api_result["name"]
@@ -146,9 +132,7 @@ async def test_aget_checks_pass_in_client(fake_check_api_result, respx_mock):
@pytest.mark.asyncio @pytest.mark.asyncio
@pytest.mark.respx @pytest.mark.respx
async def test_aget_checks_exceptions( async def test_aget_checks_exceptions(fake_check_api_result, respx_mock, test_async_client):
fake_check_api_result, respx_mock, test_async_client
):
checks_url = urljoin(test_async_client._api_url, "checks/") checks_url = urljoin(test_async_client._api_url, "checks/")
# test exceptions # test exceptions
respx_mock.get(checks_url).mock(return_value=Response(status_code=401)) respx_mock.get(checks_url).mock(return_value=Response(status_code=401))
@@ -186,9 +170,7 @@ def test_finalizer_closes(test_async_client):
async def test_aget_check_200(fake_check_api_result, respx_mock, test_async_client): async def test_aget_check_200(fake_check_api_result, respx_mock, test_async_client):
assert test_async_client._client is not None assert test_async_client._client is not None
checks_url = urljoin(test_async_client._api_url, "checks/test") checks_url = urljoin(test_async_client._api_url, "checks/test")
respx_mock.get(checks_url).mock( respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json=fake_check_api_result))
return_value=Response(status_code=200, json=fake_check_api_result)
)
check = await test_async_client.get_check(check_id="test") check = await test_async_client.get_check(check_id="test")
assert check.name == fake_check_api_result["name"] assert check.name == fake_check_api_result["name"]
@@ -207,9 +189,7 @@ async def test_acheck_get_404(respx_mock, test_async_client):
@pytest.mark.respx @pytest.mark.respx
async def test_pause_check_200(fake_check_api_result, respx_mock, test_async_client): async def test_pause_check_200(fake_check_api_result, respx_mock, test_async_client):
checks_url = urljoin(test_async_client._api_url, "checks/test/pause") checks_url = urljoin(test_async_client._api_url, "checks/test/pause")
respx_mock.post(checks_url).mock( respx_mock.post(checks_url).mock(return_value=Response(status_code=200, json=fake_check_api_result))
return_value=Response(status_code=200, json=fake_check_api_result)
)
check = await test_async_client.pause_check(check_id="test") check = await test_async_client.pause_check(check_id="test")
assert check.name == fake_check_api_result["name"] assert check.name == fake_check_api_result["name"]
@@ -229,9 +209,7 @@ async def test_acheck_pause_404(respx_mock, test_async_client):
async def test_adelete_check_200(fake_check_api_result, respx_mock, test_async_client): async def test_adelete_check_200(fake_check_api_result, respx_mock, test_async_client):
assert test_async_client._client is not None assert test_async_client._client is not None
checks_url = urljoin(test_async_client._api_url, "checks/test") checks_url = urljoin(test_async_client._api_url, "checks/test")
respx_mock.delete(checks_url).mock( respx_mock.delete(checks_url).mock(return_value=Response(status_code=200, json=fake_check_api_result))
return_value=Response(status_code=200, json=fake_check_api_result)
)
check = await test_async_client.delete_check(check_id="test") check = await test_async_client.delete_check(check_id="test")
assert check.name == fake_check_api_result["name"] assert check.name == fake_check_api_result["name"]
@@ -247,15 +225,9 @@ async def test_adelete_pause404(respx_mock, test_async_client):
@pytest.mark.asyncio @pytest.mark.asyncio
@pytest.mark.respx @pytest.mark.respx
async def test_aget_check_pings_200( async def test_aget_check_pings_200(fake_check_pings_api_result, respx_mock, test_async_client):
fake_check_pings_api_result, respx_mock, test_async_client
):
checks_url = urljoin(test_async_client._api_url, "checks/test/pings/") checks_url = urljoin(test_async_client._api_url, "checks/test/pings/")
respx_mock.get(checks_url).mock( respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json={"pings": fake_check_pings_api_result}))
return_value=Response(
status_code=200, json={"pings": fake_check_pings_api_result}
)
)
pings = await test_async_client.get_check_pings("test") pings = await test_async_client.get_check_pings("test")
assert len(pings) == len(fake_check_pings_api_result) assert len(pings) == len(fake_check_pings_api_result)
assert pings[0].type == fake_check_pings_api_result[0]["type"] assert pings[0].type == fake_check_pings_api_result[0]["type"]
@@ -263,13 +235,9 @@ async def test_aget_check_pings_200(
@pytest.mark.asyncio @pytest.mark.asyncio
@pytest.mark.respx @pytest.mark.respx
async def test_aget_check_flips_200( async def test_aget_check_flips_200(fake_check_flips_api_result, respx_mock, test_async_client):
fake_check_flips_api_result, respx_mock, test_async_client
):
checks_url = urljoin(test_async_client._api_url, "checks/test/flips/") checks_url = urljoin(test_async_client._api_url, "checks/test/flips/")
respx_mock.get(checks_url).mock( respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json=fake_check_flips_api_result))
return_value=Response(status_code=200, json=fake_check_flips_api_result)
)
flips = await test_async_client.get_check_flips("test") flips = await test_async_client.get_check_flips("test")
assert len(flips) == len(fake_check_flips_api_result) assert len(flips) == len(fake_check_flips_api_result)
assert flips[0].up == fake_check_flips_api_result[0]["up"] assert flips[0].up == fake_check_flips_api_result[0]["up"]
@@ -277,15 +245,9 @@ async def test_aget_check_flips_200(
@pytest.mark.asyncio @pytest.mark.asyncio
@pytest.mark.respx @pytest.mark.respx
async def test_get_check_flips_params_200( async def test_get_check_flips_params_200(fake_check_flips_api_result, respx_mock, test_async_client):
fake_check_flips_api_result, respx_mock, test_async_client checks_url = urljoin(test_async_client._api_url, "checks/test/flips/?seconds=1&start=1&end=1")
): respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json=fake_check_flips_api_result))
checks_url = urljoin(
test_async_client._api_url, "checks/test/flips/?seconds=1&start=1&end=1"
)
respx_mock.get(checks_url).mock(
return_value=Response(status_code=200, json=fake_check_flips_api_result)
)
flips = await test_async_client.get_check_flips("test", seconds=1, start=1, end=1) flips = await test_async_client.get_check_flips("test", seconds=1, start=1, end=1)
assert len(flips) == len(fake_check_flips_api_result) assert len(flips) == len(fake_check_flips_api_result)
assert flips[0].up == fake_check_flips_api_result[0]["up"] assert flips[0].up == fake_check_flips_api_result[0]["up"]
@@ -293,9 +255,7 @@ async def test_get_check_flips_params_200(
@pytest.mark.asyncio @pytest.mark.asyncio
@pytest.mark.respx @pytest.mark.respx
async def test_aget_check_flips_400( async def test_aget_check_flips_400(fake_check_flips_api_result, respx_mock, test_async_client):
fake_check_flips_api_result, respx_mock, test_async_client
):
flips_url = urljoin(test_async_client._api_url, "checks/test/flips/") flips_url = urljoin(test_async_client._api_url, "checks/test/flips/")
respx_mock.get(flips_url).mock(return_value=Response(status_code=400)) respx_mock.get(flips_url).mock(return_value=Response(status_code=400))
with pytest.raises(BadAPIRequestError): with pytest.raises(BadAPIRequestError):
@@ -304,13 +264,9 @@ async def test_aget_check_flips_400(
@pytest.mark.asyncio @pytest.mark.asyncio
@pytest.mark.respx @pytest.mark.respx
async def test_aget_integrations( async def test_aget_integrations(fake_integrations_api_result, respx_mock, test_async_client):
fake_integrations_api_result, respx_mock, test_async_client
):
channels_url = urljoin(test_async_client._api_url, "channels/") channels_url = urljoin(test_async_client._api_url, "channels/")
respx_mock.get(channels_url).mock( respx_mock.get(channels_url).mock(return_value=Response(status_code=200, json=fake_integrations_api_result))
return_value=Response(status_code=200, json=fake_integrations_api_result)
)
integrations = await test_async_client.get_integrations() integrations = await test_async_client.get_integrations()
assert len(integrations) == len(fake_integrations_api_result["channels"]) assert len(integrations) == len(fake_integrations_api_result["channels"])
assert integrations[0].id == fake_integrations_api_result["channels"][0]["id"] assert integrations[0].id == fake_integrations_api_result["channels"][0]["id"]
@@ -320,9 +276,7 @@ async def test_aget_integrations(
@pytest.mark.respx @pytest.mark.respx
async def test_aget_badges(fake_badges_api_result, respx_mock, test_async_client): async def test_aget_badges(fake_badges_api_result, respx_mock, test_async_client):
channels_url = urljoin(test_async_client._api_url, "badges/") channels_url = urljoin(test_async_client._api_url, "badges/")
respx_mock.get(channels_url).mock( respx_mock.get(channels_url).mock(return_value=Response(status_code=200, json=fake_badges_api_result))
return_value=Response(status_code=200, json=fake_badges_api_result)
)
integrations = await test_async_client.get_badges() integrations = await test_async_client.get_badges()
assert integrations.keys() == fake_badges_api_result["badges"].keys() assert integrations.keys() == fake_badges_api_result["badges"].keys()
@@ -389,14 +343,10 @@ ping_test_parameters = [
@pytest.mark.asyncio @pytest.mark.asyncio
@pytest.mark.respx @pytest.mark.respx
@pytest.mark.parametrize( @pytest.mark.parametrize("respx_mocker, tc, url, ping_method, method_kwargs", ping_test_parameters)
"respx_mocker, tc, url, ping_method, method_kwargs", ping_test_parameters
)
async def test_asuccess_ping(respx_mocker, tc, url, ping_method, method_kwargs): async def test_asuccess_ping(respx_mocker, tc, url, ping_method, method_kwargs):
channels_url = urljoin(tc._ping_url, url) channels_url = urljoin(tc._ping_url, url)
respx_mocker.post(channels_url).mock( respx_mocker.post(channels_url).mock(return_value=Response(status_code=200, text="OK"))
return_value=Response(status_code=200, text="OK")
)
ping_method = getattr(tc, ping_method) ping_method = getattr(tc, ping_method)
result = await ping_method(**method_kwargs) result = await ping_method(**method_kwargs)
assert result[0] is True assert result[0] is True

View File

@@ -76,7 +76,6 @@ async def test_check_trap_async_exception(respx_mock, test_async_client):
@pytest.mark.asyncio @pytest.mark.asyncio
async def test_check_trap_wrong_client_error(test_client, test_async_client): async def test_check_trap_wrong_client_error(test_client, test_async_client):
with pytest.raises(WrongClientError): with pytest.raises(WrongClientError):
async with CheckTrap(test_client, uuid="test"): async with CheckTrap(test_client, uuid="test"):
pass pass

View File

@@ -14,9 +14,7 @@ from healthchecks_io.client.exceptions import HCAPIError
@pytest.mark.respx @pytest.mark.respx
def test_create_check_200_context_manager( def test_create_check_200_context_manager(fake_check_api_result, respx_mock, test_client):
fake_check_api_result, respx_mock, test_client
):
checks_url = urljoin(test_client._api_url, "checks/") checks_url = urljoin(test_client._api_url, "checks/")
respx_mock.post(checks_url).mock( respx_mock.post(checks_url).mock(
return_value=Response( return_value=Response(
@@ -110,9 +108,7 @@ def test_update_check_200(fake_check_api_result, respx_mock, test_client):
def test_get_checks_200(fake_check_api_result, respx_mock, test_client): def test_get_checks_200(fake_check_api_result, respx_mock, test_client):
assert test_client._client is not None assert test_client._client is not None
checks_url = urljoin(test_client._api_url, "checks/") checks_url = urljoin(test_client._api_url, "checks/")
respx_mock.get(checks_url).mock( respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json={"checks": [fake_check_api_result]}))
return_value=Response(status_code=200, json={"checks": [fake_check_api_result]})
)
checks = test_client.get_checks() checks = test_client.get_checks()
assert len(checks) == 1 assert len(checks) == 1
assert checks[0].name == fake_check_api_result["name"] assert checks[0].name == fake_check_api_result["name"]
@@ -121,13 +117,9 @@ def test_get_checks_200(fake_check_api_result, respx_mock, test_client):
@pytest.mark.respx @pytest.mark.respx
def test_get_checks_pass_in_client(fake_check_api_result, respx_mock): def test_get_checks_pass_in_client(fake_check_api_result, respx_mock):
httpx_client = HTTPXClient() httpx_client = HTTPXClient()
test_client = Client( test_client = Client(api_key="test", api_url="http://localhost/api/", client=httpx_client)
api_key="test", api_url="http://localhost/api/", client=httpx_client
)
checks_url = urljoin(test_client._api_url, "checks/") checks_url = urljoin(test_client._api_url, "checks/")
respx_mock.get(checks_url).mock( respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json={"checks": [fake_check_api_result]}))
return_value=Response(status_code=200, json={"checks": [fake_check_api_result]})
)
checks = test_client.get_checks() checks = test_client.get_checks()
assert len(checks) == 1 assert len(checks) == 1
assert checks[0].name == fake_check_api_result["name"] assert checks[0].name == fake_check_api_result["name"]
@@ -169,9 +161,7 @@ def test_finalizer_closes(test_client):
def test_get_check_200(fake_check_api_result, respx_mock, test_client): def test_get_check_200(fake_check_api_result, respx_mock, test_client):
assert test_client._client is not None assert test_client._client is not None
checks_url = urljoin(test_client._api_url, "checks/test") checks_url = urljoin(test_client._api_url, "checks/test")
respx_mock.get(checks_url).mock( respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json=fake_check_api_result))
return_value=Response(status_code=200, json=fake_check_api_result)
)
check = test_client.get_check(check_id="test") check = test_client.get_check(check_id="test")
assert check.name == fake_check_api_result["name"] assert check.name == fake_check_api_result["name"]
@@ -188,9 +178,7 @@ def test_check_get_404(respx_mock, test_client):
@pytest.mark.respx @pytest.mark.respx
def test_pause_check_200(fake_check_api_result, respx_mock, test_client): def test_pause_check_200(fake_check_api_result, respx_mock, test_client):
checks_url = urljoin(test_client._api_url, "checks/test/pause") checks_url = urljoin(test_client._api_url, "checks/test/pause")
respx_mock.post(checks_url).mock( respx_mock.post(checks_url).mock(return_value=Response(status_code=200, json=fake_check_api_result))
return_value=Response(status_code=200, json=fake_check_api_result)
)
check = test_client.pause_check(check_id="test") check = test_client.pause_check(check_id="test")
assert check.name == fake_check_api_result["name"] assert check.name == fake_check_api_result["name"]
@@ -208,9 +196,7 @@ def test_check_pause_404(respx_mock, test_client):
def test_delete_check_200(fake_check_api_result, respx_mock, test_client): def test_delete_check_200(fake_check_api_result, respx_mock, test_client):
assert test_client._client is not None assert test_client._client is not None
checks_url = urljoin(test_client._api_url, "checks/test") checks_url = urljoin(test_client._api_url, "checks/test")
respx_mock.delete(checks_url).mock( respx_mock.delete(checks_url).mock(return_value=Response(status_code=200, json=fake_check_api_result))
return_value=Response(status_code=200, json=fake_check_api_result)
)
check = test_client.delete_check(check_id="test") check = test_client.delete_check(check_id="test")
assert check.name == fake_check_api_result["name"] assert check.name == fake_check_api_result["name"]
@@ -226,11 +212,7 @@ def test_delete_pause404(respx_mock, test_client):
@pytest.mark.respx @pytest.mark.respx
def test_get_check_pings_200(fake_check_pings_api_result, respx_mock, test_client): def test_get_check_pings_200(fake_check_pings_api_result, respx_mock, test_client):
checks_url = urljoin(test_client._api_url, "checks/test/pings/") checks_url = urljoin(test_client._api_url, "checks/test/pings/")
respx_mock.get(checks_url).mock( respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json={"pings": fake_check_pings_api_result}))
return_value=Response(
status_code=200, json={"pings": fake_check_pings_api_result}
)
)
pings = test_client.get_check_pings("test") pings = test_client.get_check_pings("test")
assert len(pings) == len(fake_check_pings_api_result) assert len(pings) == len(fake_check_pings_api_result)
assert pings[0].type == fake_check_pings_api_result[0]["type"] assert pings[0].type == fake_check_pings_api_result[0]["type"]
@@ -239,24 +221,16 @@ def test_get_check_pings_200(fake_check_pings_api_result, respx_mock, test_clien
@pytest.mark.respx @pytest.mark.respx
def test_get_check_flips_200(fake_check_flips_api_result, respx_mock, test_client): def test_get_check_flips_200(fake_check_flips_api_result, respx_mock, test_client):
checks_url = urljoin(test_client._api_url, "checks/test/flips/") checks_url = urljoin(test_client._api_url, "checks/test/flips/")
respx_mock.get(checks_url).mock( respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json=fake_check_flips_api_result))
return_value=Response(status_code=200, json=fake_check_flips_api_result)
)
flips = test_client.get_check_flips("test") flips = test_client.get_check_flips("test")
assert len(flips) == len(fake_check_flips_api_result) assert len(flips) == len(fake_check_flips_api_result)
assert flips[0].up == fake_check_flips_api_result[0]["up"] assert flips[0].up == fake_check_flips_api_result[0]["up"]
@pytest.mark.respx @pytest.mark.respx
def test_get_check_flips_params_200( def test_get_check_flips_params_200(fake_check_flips_api_result, respx_mock, test_client):
fake_check_flips_api_result, respx_mock, test_client checks_url = urljoin(test_client._api_url, "checks/test/flips/?seconds=1&start=1&end=1")
): respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json=fake_check_flips_api_result))
checks_url = urljoin(
test_client._api_url, "checks/test/flips/?seconds=1&start=1&end=1"
)
respx_mock.get(checks_url).mock(
return_value=Response(status_code=200, json=fake_check_flips_api_result)
)
flips = test_client.get_check_flips("test", seconds=1, start=1, end=1) flips = test_client.get_check_flips("test", seconds=1, start=1, end=1)
assert len(flips) == len(fake_check_flips_api_result) assert len(flips) == len(fake_check_flips_api_result)
assert flips[0].up == fake_check_flips_api_result[0]["up"] assert flips[0].up == fake_check_flips_api_result[0]["up"]
@@ -273,9 +247,7 @@ def test_get_check_flips_400(fake_check_flips_api_result, respx_mock, test_clien
@pytest.mark.respx @pytest.mark.respx
def test_get_integrations(fake_integrations_api_result, respx_mock, test_client): def test_get_integrations(fake_integrations_api_result, respx_mock, test_client):
channels_url = urljoin(test_client._api_url, "channels/") channels_url = urljoin(test_client._api_url, "channels/")
respx_mock.get(channels_url).mock( respx_mock.get(channels_url).mock(return_value=Response(status_code=200, json=fake_integrations_api_result))
return_value=Response(status_code=200, json=fake_integrations_api_result)
)
integrations = test_client.get_integrations() integrations = test_client.get_integrations()
assert len(integrations) == len(fake_integrations_api_result["channels"]) assert len(integrations) == len(fake_integrations_api_result["channels"])
assert integrations[0].id == fake_integrations_api_result["channels"][0]["id"] assert integrations[0].id == fake_integrations_api_result["channels"][0]["id"]
@@ -284,9 +256,7 @@ def test_get_integrations(fake_integrations_api_result, respx_mock, test_client)
@pytest.mark.respx @pytest.mark.respx
def test_get_badges(fake_badges_api_result, respx_mock, test_client): def test_get_badges(fake_badges_api_result, respx_mock, test_client):
channels_url = urljoin(test_client._api_url, "badges/") channels_url = urljoin(test_client._api_url, "badges/")
respx_mock.get(channels_url).mock( respx_mock.get(channels_url).mock(return_value=Response(status_code=200, json=fake_badges_api_result))
return_value=Response(status_code=200, json=fake_badges_api_result)
)
integrations = test_client.get_badges() integrations = test_client.get_badges()
assert integrations.keys() == fake_badges_api_result["badges"].keys() assert integrations.keys() == fake_badges_api_result["badges"].keys()
@@ -352,14 +322,10 @@ ping_test_parameters = [
@pytest.mark.respx @pytest.mark.respx
@pytest.mark.parametrize( @pytest.mark.parametrize("respx_mocker, tc, url, ping_method, method_kwargs", ping_test_parameters)
"respx_mocker, tc, url, ping_method, method_kwargs", ping_test_parameters
)
def test_success_ping(respx_mocker, tc, url, ping_method, method_kwargs): def test_success_ping(respx_mocker, tc, url, ping_method, method_kwargs):
channels_url = urljoin(tc._ping_url, url) channels_url = urljoin(tc._ping_url, url)
respx_mocker.post(channels_url).mock( respx_mocker.post(channels_url).mock(return_value=Response(status_code=200, text="OK"))
return_value=Response(status_code=200, text="OK")
)
ping_method = getattr(tc, ping_method) ping_method = getattr(tc, ping_method)
result, text = ping_method(**method_kwargs) result, text = ping_method(**method_kwargs)
assert result is True assert result is True

View File

@@ -37,27 +37,19 @@ def test_check_create_validators():
# test validate_schedule # test validate_schedule
with pytest.raises(ValidationError): with pytest.raises(ValidationError):
check_create = checks.CheckCreate( check_create = checks.CheckCreate(name="Test", tags="", desc="Test", schedule="no good")
name="Test", tags="", desc="Test", schedule="no good"
)
# test validate_tz # test validate_tz
with pytest.raises(ValidationError): with pytest.raises(ValidationError):
check_create = checks.CheckCreate( check_create = checks.CheckCreate(name="Test", tags="", desc="Test", tz="no good")
name="Test", tags="", desc="Test", tz="no good"
)
# test validate_methods # test validate_methods
with pytest.raises(ValidationError): with pytest.raises(ValidationError):
check_create = checks.CheckCreate( check_create = checks.CheckCreate(name="Test", tags="", desc="Test", methods="no good")
name="Test", tags="", desc="Test", methods="no good"
)
# test validate_unique # test validate_unique
with pytest.raises(ValidationError): with pytest.raises(ValidationError):
check_create = checks.CheckCreate( check_create = checks.CheckCreate(name="Test", tags="", desc="Test", unique=["no good"])
name="Test", tags="", desc="Test", unique=["no good"]
)
def test_check_pings_from_api(): def test_check_pings_from_api():