Compare commits

..

225 Commits

Author SHA1 Message Date
Andrew
3f2b33d836 Merge pull request #157 from andrewthetechie/remove-click
fix: remove click
2022-05-28 23:42:12 -05:00
Andrew Herrington
2ffc864139 fix: bump to beta + a few requirements 2022-05-28 23:38:27 -05:00
Andrew Herrington
6c7af09072 fix: remove click
We don't need click, its just part of the hypermodern python stack

Remove this extra dependency
2022-05-28 23:34:23 -05:00
Andrew
d8c39b54ab Merge pull request #142 from andrewthetechie/dependabot/pip/pyupgrade-2.32.1
Bump pyupgrade from 2.32.0 to 2.32.1
2022-05-28 23:17:26 -05:00
dependabot[bot]
a1287ea789 Bump pyupgrade from 2.32.0 to 2.32.1
Bumps [pyupgrade](https://github.com/asottile/pyupgrade) from 2.32.0 to 2.32.1.
- [Release notes](https://github.com/asottile/pyupgrade/releases)
- [Commits](https://github.com/asottile/pyupgrade/compare/v2.32.0...v2.32.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-29 04:17:04 +00:00
Andrew
54d84cab68 Merge pull request #154 from andrewthetechie/dependabot/pip/coverage-6.4
Bump coverage from 6.3.2 to 6.4
2022-05-28 23:15:02 -05:00
dependabot[bot]
147ae08008 Bump coverage from 6.3.2 to 6.4
Bumps [coverage](https://github.com/nedbat/coveragepy) from 6.3.2 to 6.4.
- [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/6.3.2...6.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-29 04:11:29 +00:00
Andrew
f88ebfcd99 Merge pull request #150 from andrewthetechie/dependabot/pip/dot-github/workflows/nox-poetry-1.0.0
Bump nox-poetry from 0.9.0 to 1.0.0 in /.github/workflows
2022-05-28 23:09:32 -05:00
Andrew
49b9c979a5 Merge pull request #155 from andrewthetechie/dependabot/pip/httpx-0.23.0
Bump httpx from 0.22.0 to 0.23.0
2022-05-28 23:09:20 -05:00
dependabot[bot]
141db9be39 Bump httpx from 0.22.0 to 0.23.0
Bumps [httpx](https://github.com/encode/httpx) from 0.22.0 to 0.23.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.22.0...0.23.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-29 03:54:30 +00:00
dependabot[bot]
2ee6d38196 Bump nox-poetry from 0.9.0 to 1.0.0 in /.github/workflows
Bumps [nox-poetry](https://github.com/cjolowicz/nox-poetry) from 0.9.0 to 1.0.0.
- [Release notes](https://github.com/cjolowicz/nox-poetry/releases)
- [Commits](https://github.com/cjolowicz/nox-poetry/compare/v0.9.0...v1.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-29 03:51:53 +00:00
Andrew
1ce8321393 Merge pull request #153 from andrewthetechie/dependabot/pip/dot-github/workflows/pip-22.1.1
Bump pip from 22.0.4 to 22.1.1 in /.github/workflows
2022-05-28 22:51:18 -05:00
Andrew
f7bd3164e9 Merge pull request #149 from andrewthetechie/dependabot/pip/croniter-1.3.5
Bump croniter from 1.3.4 to 1.3.5
2022-05-28 22:51:10 -05:00
Andrew
6327a2e0b8 Merge pull request #156 from andrewthetechie/dependabot/pip/mypy-0.960
Bump mypy from 0.950 to 0.960
2022-05-28 22:50:51 -05:00
dependabot[bot]
7b4a77f083 Bump mypy from 0.950 to 0.960
Bumps [mypy](https://github.com/python/mypy) from 0.950 to 0.960.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.950...v0.960)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-26 02:48:53 +00:00
dependabot[bot]
406f8e7f47 Bump pip from 22.0.4 to 22.1.1 in /.github/workflows
Bumps [pip](https://github.com/pypa/pip) from 22.0.4 to 22.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/22.0.4...22.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>
2022-05-23 01:44:35 +00:00
Andrew
2765d07a60 Merge pull request #151 from andrewthetechie/dependabot/pip/dot-github/workflows/poetry-dynamic-versioning-0.17.1
Bump poetry-dynamic-versioning from 0.16.0 to 0.17.1 in /.github/workflows
2022-05-21 14:44:04 -05:00
Andrew
958737c5af Merge pull request #152 from andrewthetechie/dependabot/pip/pydantic-1.9.1
Bump pydantic from 1.9.0 to 1.9.1
2022-05-21 14:43:56 -05:00
dependabot[bot]
ac30ea766f Bump pydantic from 1.9.0 to 1.9.1
Bumps [pydantic](https://github.com/samuelcolvin/pydantic) from 1.9.0 to 1.9.1.
- [Release notes](https://github.com/samuelcolvin/pydantic/releases)
- [Changelog](https://github.com/samuelcolvin/pydantic/blob/v1.9.1/HISTORY.md)
- [Commits](https://github.com/samuelcolvin/pydantic/compare/v1.9.0...v1.9.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-20 01:25:51 +00:00
dependabot[bot]
696c9327f6 Bump poetry-dynamic-versioning in /.github/workflows
Bumps [poetry-dynamic-versioning](https://github.com/mtkennerly/poetry-dynamic-versioning) from 0.16.0 to 0.17.1.
- [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.16.0...v0.17.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-20 01:24:18 +00:00
dependabot[bot]
41bd808592 Bump croniter from 1.3.4 to 1.3.5
Bumps [croniter](https://github.com/kiorky/croniter) from 1.3.4 to 1.3.5.
- [Release notes](https://github.com/kiorky/croniter/releases)
- [Changelog](https://github.com/kiorky/croniter/blob/master/docs/CHANGES.rst)
- [Commits](https://github.com/kiorky/croniter/compare/1.3.4...1.3.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 01:43:16 +00:00
Andrew
6b73771cc7 Merge pull request #144 from andrewthetechie/dependabot/pip/dot-github/workflows/poetry-dynamic-versioning-0.16.0
Bump poetry-dynamic-versioning from 0.15.0 to 0.16.0 in /.github/workflows
2022-05-08 21:23:10 -05:00
Andrew
7507561ab4 Merge pull request #145 from andrewthetechie/dependabot/pip/types-pytz-2021.3.8
Bump types-pytz from 2021.3.6 to 2021.3.8
2022-05-08 21:23:02 -05:00
dependabot[bot]
20439267ca Bump types-pytz from 2021.3.6 to 2021.3.8
Bumps [types-pytz](https://github.com/python/typeshed) from 2021.3.6 to 2021.3.8.
- [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>
2022-05-09 02:18:12 +00:00
dependabot[bot]
e484d0cee1 Bump poetry-dynamic-versioning in /.github/workflows
Bumps [poetry-dynamic-versioning](https://github.com/mtkennerly/poetry-dynamic-versioning) from 0.15.0 to 0.16.0.
- [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.15.0...v0.16.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 02:17:34 +00:00
Andrew
d9a50feecb Merge pull request #141 from andrewthetechie/dependabot/pip/click-8.1.3
Bump click from 8.1.2 to 8.1.3
2022-05-08 21:02:21 -05:00
Andrew
660a9242d7 Merge pull request #143 from andrewthetechie/dependabot/pip/pre-commit-2.19.0
Bump pre-commit from 2.18.1 to 2.19.0
2022-05-08 21:01:22 -05:00
dependabot[bot]
872dd4ba55 Bump pre-commit from 2.18.1 to 2.19.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 2.18.1 to 2.19.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.18.1...v2.19.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-06 01:26:50 +00:00
Andrew
4e13e42a9f Merge pull request #138 from andrewthetechie/dependabot/pip/mypy-0.950
Bump mypy from 0.942 to 0.950
2022-05-01 16:23:33 -05:00
dependabot[bot]
933e116899 Bump click from 8.1.2 to 8.1.3
Bumps [click](https://github.com/pallets/click) from 8.1.2 to 8.1.3.
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.1.2...8.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-30 17:05:51 +00:00
dependabot[bot]
89dbb8f69f Bump mypy from 0.942 to 0.950
Bumps [mypy](https://github.com/python/mypy) from 0.942 to 0.950.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.942...v0.950)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-30 17:05:46 +00:00
Andrew
ee2b66a8f0 Merge pull request #136 from andrewthetechie/dependabot/pip/reorder-python-imports-3.1.0
Bump reorder-python-imports from 3.0.1 to 3.1.0
2022-04-30 12:03:42 -05:00
Andrew
60fbbeed34 Merge pull request #135 from andrewthetechie/dependabot/pip/flake8-bugbear-22.4.25
Bump flake8-bugbear from 22.3.23 to 22.4.25
2022-04-30 11:55:56 -05:00
dependabot[bot]
6388018414 Bump reorder-python-imports from 3.0.1 to 3.1.0
Bumps [reorder-python-imports](https://github.com/asottile/reorder_python_imports) from 3.0.1 to 3.1.0.
- [Release notes](https://github.com/asottile/reorder_python_imports/releases)
- [Commits](https://github.com/asottile/reorder_python_imports/compare/v3.0.1...v3.1.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>
2022-04-29 23:32:37 +00:00
Andrew
8d3c085e6b Merge pull request #134 from andrewthetechie/dependabot/pip/pygments-2.12.0
Bump pygments from 2.11.2 to 2.12.0
2022-04-29 18:30:24 -05:00
Andrew
e9bcbdcbdf Merge pull request #140 from andrewthetechie/dependabot/pip/dot-github/workflows/poetry-dynamic-versioning-0.15.0
Bump poetry-dynamic-versioning from 0.14.1 to 0.15.0 in /.github/workflows
2022-04-29 17:34:04 -05:00
dependabot[bot]
b470414540 Bump poetry-dynamic-versioning in /.github/workflows
Bumps [poetry-dynamic-versioning](https://github.com/mtkennerly/poetry-dynamic-versioning) from 0.14.1 to 0.15.0.
- [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.14.1...v0.15.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-29 02:03:12 +00:00
dependabot[bot]
376748312b Bump pygments from 2.11.2 to 2.12.0
Bumps [pygments](https://github.com/pygments/pygments) from 2.11.2 to 2.12.0.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.11.2...2.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-29 01:28:40 +00:00
Andrew
ad65fe99c3 Merge pull request #133 from andrewthetechie/dependabot/pip/pytest-7.1.2
Bump pytest from 7.1.1 to 7.1.2
2022-04-28 20:26:33 -05:00
Andrew
4e63dcba40 Merge pull request #132 from andrewthetechie/dependabot/github_actions/codecov/codecov-action-3.1.0
Bump codecov/codecov-action from 3.0.0 to 3.1.0
2022-04-28 20:14:06 -05:00
dependabot[bot]
67fb182716 Bump pytest from 7.1.1 to 7.1.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.1.1 to 7.1.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.1.1...7.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-28 05:16:56 +00:00
Andrew
8c4f0f86de Merge pull request #137 from andrewthetechie/dependabot/pip/types-croniter-1.0.10
Bump types-croniter from 1.0.9 to 1.0.10
2022-04-28 00:14:51 -05:00
dependabot[bot]
b969e33ac1 Bump types-croniter from 1.0.9 to 1.0.10
Bumps [types-croniter](https://github.com/python/typeshed) from 1.0.9 to 1.0.10.
- [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>
2022-04-28 01:22:23 +00:00
dependabot[bot]
22076af18e Bump flake8-bugbear from 22.3.23 to 22.4.25
Bumps [flake8-bugbear](https://github.com/PyCQA/flake8-bugbear) from 22.3.23 to 22.4.25.
- [Release notes](https://github.com/PyCQA/flake8-bugbear/releases)
- [Commits](https://github.com/PyCQA/flake8-bugbear/compare/22.3.23...22.4.25)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-26 01:34:14 +00:00
dependabot[bot]
fa0e3e1fe7 Bump codecov/codecov-action from 3.0.0 to 3.1.0
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3.0.0...v3.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-22 01:24:13 +00:00
Andrew
975be34ae2 Merge pull request #131 from andrewthetechie/dependabot/pip/sphinx-click-4.0.3
Bump sphinx-click from 4.0.0 to 4.0.3
2022-04-21 15:32:59 -05:00
dependabot[bot]
4d3f654a61 Bump sphinx-click from 4.0.0 to 4.0.3
Bumps [sphinx-click](https://github.com/click-contrib/sphinx-click) from 4.0.0 to 4.0.3.
- [Release notes](https://github.com/click-contrib/sphinx-click/releases)
- [Commits](https://github.com/click-contrib/sphinx-click/compare/4.0.0...4.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-21 20:29:23 +00:00
Andrew
f3377b27da Merge pull request #130 from andrewthetechie/dependabot/pip/docs/sphinx-click-4.0.3
Bump sphinx-click from 4.0.0 to 4.0.3 in /docs
2022-04-21 15:26:56 -05:00
Andrew
31e9cca5b0 Merge pull request #129 from andrewthetechie/dependabot/pip/types-croniter-1.0.9
Bump types-croniter from 1.0.8 to 1.0.9
2022-04-21 15:10:11 -05:00
Andrew
e142d8e193 Merge pull request #126 from andrewthetechie/dependabot/pip/dot-github/workflows/poetry-dynamic-versioning-0.14.1
Bump poetry-dynamic-versioning from 0.14.0 to 0.14.1 in /.github/workflows
2022-04-21 15:02:45 -05:00
dependabot[bot]
380aecfc9b Bump poetry-dynamic-versioning in /.github/workflows
Bumps [poetry-dynamic-versioning](https://github.com/mtkennerly/poetry-dynamic-versioning) from 0.14.0 to 0.14.1.
- [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.14.0...v0.14.1)

---
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>
2022-04-21 19:48:42 +00:00
Andrew
580235b742 Merge pull request #123 from andrewthetechie/dependabot/pip/dot-github/workflows/virtualenv-20.14.1
Bump virtualenv from 20.14.0 to 20.14.1 in /.github/workflows
2022-04-21 14:47:59 -05:00
Andrew
3ed22b69f8 Merge pull request #122 from andrewthetechie/dependabot/github_actions/actions/setup-python-3.1.2
Bump actions/setup-python from 3.1.1 to 3.1.2
2022-04-21 14:42:48 -05:00
Andrew
6c5d2b769c Merge pull request #121 from andrewthetechie/dependabot/github_actions/actions/cache-3.0.2
Bump actions/cache from 3.0.1 to 3.0.2
2022-04-21 14:22:07 -05:00
dependabot[bot]
9ac1b81b45 Bump sphinx-click from 4.0.0 to 4.0.3 in /docs
Bumps [sphinx-click](https://github.com/click-contrib/sphinx-click) from 4.0.0 to 4.0.3.
- [Release notes](https://github.com/click-contrib/sphinx-click/releases)
- [Commits](https://github.com/click-contrib/sphinx-click/compare/4.0.0...4.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-20 01:24:37 +00:00
dependabot[bot]
5c8c7a5626 Bump types-croniter from 1.0.8 to 1.0.9
Bumps [types-croniter](https://github.com/python/typeshed) from 1.0.8 to 1.0.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>
2022-04-18 01:41:57 +00:00
dependabot[bot]
9195d00aed Bump virtualenv from 20.14.0 to 20.14.1 in /.github/workflows
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.14.0 to 20.14.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.14.0...20.14.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-12 01:47:00 +00:00
dependabot[bot]
9158a41a29 Bump actions/setup-python from 3.1.1 to 3.1.2
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v3.1.1...v3.1.2)

---
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>
2022-04-12 01:46:59 +00:00
dependabot[bot]
368e2c93e3 Bump actions/cache from 3.0.1 to 3.0.2
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.1 to 3.0.2.
- [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.0.1...v3.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-12 01:46:57 +00:00
Andrew
9722f36a36 Merge pull request #119 from andrewthetechie/dependabot/pip/flake8-bandit-3.0.0
Bump flake8-bandit from 2.1.2 to 3.0.0
2022-04-09 21:46:56 -05:00
dependabot[bot]
972f0430a5 Bump flake8-bandit from 2.1.2 to 3.0.0
Bumps [flake8-bandit](https://github.com/tylerwince/flake8-bandit) from 2.1.2 to 3.0.0.
- [Release notes](https://github.com/tylerwince/flake8-bandit/releases)
- [Commits](https://github.com/tylerwince/flake8-bandit/commits/v3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-10 02:46:48 +00:00
Andrew
b6a56cdd68 Merge pull request #118 from andrewthetechie/dependabot/pip/sphinx-click-4.0.0
Bump sphinx-click from 3.1.0 to 4.0.0
2022-04-09 20:58:30 -05:00
dependabot[bot]
8a9d221a27 Bump sphinx-click from 3.1.0 to 4.0.0
Bumps [sphinx-click](https://github.com/click-contrib/sphinx-click) from 3.1.0 to 4.0.0.
- [Release notes](https://github.com/click-contrib/sphinx-click/releases)
- [Commits](https://github.com/click-contrib/sphinx-click/compare/3.1.0...4.0.0)

---
updated-dependencies:
- dependency-name: sphinx-click
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-10 01:58:09 +00:00
Andrew
76bd8021ad Merge pull request #117 from andrewthetechie/dependabot/pip/pre-commit-2.18.1
Bump pre-commit from 2.17.0 to 2.18.1
2022-04-09 20:55:35 -05:00
Andrew
5298ff9fef Merge pull request #120 from andrewthetechie/dependabot/pip/black-22.3.0
Bump black from 22.1.0 to 22.3.0
2022-04-09 20:54:48 -05:00
dependabot[bot]
806c976037 Bump pre-commit from 2.17.0 to 2.18.1
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 2.17.0 to 2.18.1.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v2.17.0...v2.18.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-10 01:54:37 +00:00
dependabot[bot]
98fb05ba3d Bump black from 22.1.0 to 22.3.0
Bumps [black](https://github.com/psf/black) from 22.1.0 to 22.3.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/22.1.0...22.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-10 01:54:18 +00:00
Andrew
08b9d61dae Merge pull request #116 from andrewthetechie/dependabot/pip/flake8-bugbear-22.3.23
Bump flake8-bugbear from 22.1.11 to 22.3.23
2022-04-09 20:53:02 -05:00
Andrew
c0d26b85e4 Merge pull request #115 from andrewthetechie/dependabot/pip/reorder-python-imports-3.0.1
Bump reorder-python-imports from 2.7.1 to 3.0.1
2022-04-09 20:52:35 -05:00
dependabot[bot]
4bc11aa3e0 Bump reorder-python-imports from 2.7.1 to 3.0.1
Bumps [reorder-python-imports](https://github.com/asottile/reorder_python_imports) from 2.7.1 to 3.0.1.
- [Release notes](https://github.com/asottile/reorder_python_imports/releases)
- [Commits](https://github.com/asottile/reorder_python_imports/compare/v2.7.1...v3.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-10 01:40:40 +00:00
Andrew
2ad46ccc6b Merge pull request #114 from andrewthetechie/dependabot/pip/types-croniter-1.0.8
Bump types-croniter from 1.0.7 to 1.0.8
2022-04-09 20:38:39 -05:00
dependabot[bot]
55e5f52c68 Bump types-croniter from 1.0.7 to 1.0.8
Bumps [types-croniter](https://github.com/python/typeshed) from 1.0.7 to 1.0.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>
2022-04-10 00:26:22 +00:00
dependabot[bot]
6033ccf991 Bump flake8-bugbear from 22.1.11 to 22.3.23
Bumps [flake8-bugbear](https://github.com/PyCQA/flake8-bugbear) from 22.1.11 to 22.3.23.
- [Release notes](https://github.com/PyCQA/flake8-bugbear/releases)
- [Commits](https://github.com/PyCQA/flake8-bugbear/compare/22.1.11...22.3.23)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-10 00:24:37 +00:00
Andrew
65680faccc Merge pull request #113 from andrewthetechie/dependabot/pip/xdoctest-1.0.0
Bump xdoctest from 0.15.10 to 1.0.0
2022-04-09 19:23:35 -05:00
dependabot[bot]
9c7f039a1e Bump xdoctest from 0.15.10 to 1.0.0
Bumps [xdoctest](https://github.com/Erotemic/xdoctest) from 0.15.10 to 1.0.0.
- [Release notes](https://github.com/Erotemic/xdoctest/releases)
- [Changelog](https://github.com/Erotemic/xdoctest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Erotemic/xdoctest/compare/v0.15.10...v1.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-10 00:22:47 +00:00
Andrew
d04d3ef7ca Merge pull request #112 from andrewthetechie/dependabot/pip/pytz-2022.1
Bump pytz from 2021.3 to 2022.1
2022-04-09 19:20:35 -05:00
dependabot[bot]
1b0170d878 Bump pytz from 2021.3 to 2022.1
Bumps [pytz](https://github.com/stub42/pytz) from 2021.3 to 2022.1.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2021.3...release_2022.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-10 00:07:52 +00:00
Andrew
2d094c0147 Merge pull request #111 from andrewthetechie/dependabot/pip/coverage-6.3.2
Bump coverage from 6.3.1 to 6.3.2
2022-04-09 19:04:18 -05:00
Andrew
03473eac7a Merge pull request #110 from andrewthetechie/dependabot/pip/pyupgrade-2.32.0
Bump pyupgrade from 2.31.0 to 2.32.0
2022-04-09 19:03:46 -05:00
dependabot[bot]
01db36c4df Bump pyupgrade from 2.31.0 to 2.32.0
Bumps [pyupgrade](https://github.com/asottile/pyupgrade) from 2.31.0 to 2.32.0.
- [Release notes](https://github.com/asottile/pyupgrade/releases)
- [Commits](https://github.com/asottile/pyupgrade/compare/v2.31.0...v2.32.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 23:54:59 +00:00
Andrew
bebcbeabae Merge pull request #109 from andrewthetechie/dependabot/pip/pre-commit-hooks-4.2.0
Bump pre-commit-hooks from 4.1.0 to 4.2.0
2022-04-09 18:52:53 -05:00
dependabot[bot]
10ca897dc3 Bump pre-commit-hooks from 4.1.0 to 4.2.0
Bumps [pre-commit-hooks](https://github.com/pre-commit/pre-commit-hooks) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/pre-commit/pre-commit-hooks/releases)
- [Changelog](https://github.com/pre-commit/pre-commit-hooks/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit-hooks/compare/v4.1.0...v4.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 23:40:44 +00:00
dependabot[bot]
98fe91e9b9 Bump coverage from 6.3.1 to 6.3.2
Bumps [coverage](https://github.com/nedbat/coveragepy) from 6.3.1 to 6.3.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/6.3.1...6.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 23:40:37 +00:00
Andrew
36f265dd03 Merge pull request #107 from andrewthetechie/dependabot/pip/mypy-0.942
Bump mypy from 0.931 to 0.942
2022-04-09 18:38:26 -05:00
dependabot[bot]
847395a6a6 Bump mypy from 0.931 to 0.942
Bumps [mypy](https://github.com/python/mypy) from 0.931 to 0.942.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.931...v0.942)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 23:37:05 +00:00
Andrew
ae1580524e Merge pull request #108 from andrewthetechie/dependabot/pip/click-8.1.2
Bump click from 8.0.3 to 8.1.2
2022-04-09 18:33:54 -05:00
Andrew
c946f9568f Merge pull request #98 from andrewthetechie/dependabot/pip/pytest-asyncio-0.18.3
Bump pytest-asyncio from 0.17.2 to 0.18.3
2022-04-09 18:33:16 -05:00
dependabot[bot]
1acd78084e Bump click from 8.0.3 to 8.1.2
Bumps [click](https://github.com/pallets/click) from 8.0.3 to 8.1.2.
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.0.3...8.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 04:54:21 +00:00
dependabot[bot]
61c095e1f7 Bump pytest-asyncio from 0.17.2 to 0.18.3
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.17.2 to 0.18.3.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Changelog](https://github.com/pytest-dev/pytest-asyncio/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.17.2...v0.18.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 04:54:19 +00:00
Andrew
e70c620e15 Merge pull request #104 from andrewthetechie/dependabot/pip/furo-2022.4.7
Bump furo from 2022.1.2 to 2022.4.7
2022-04-08 23:52:41 -05:00
Andrew
55b8a87dcf Merge pull request #103 from andrewthetechie/dependabot/pip/docs/sphinx-click-4.0.0
Bump sphinx-click from 3.1.0 to 4.0.0 in /docs
2022-04-08 23:52:33 -05:00
Andrew
5a4865abec Merge pull request #96 from andrewthetechie/dependabot/pip/dot-github/workflows/virtualenv-20.14.0
Bump virtualenv from 20.13.0 to 20.14.0 in /.github/workflows
2022-04-08 23:52:19 -05:00
Andrew
993ba95dd9 Merge pull request #94 from andrewthetechie/dependabot/pip/types-pytz-2021.3.6
Bump types-pytz from 2021.3.4 to 2021.3.6
2022-04-08 23:52:09 -05:00
dependabot[bot]
df3fdcb090 Bump furo from 2022.1.2 to 2022.4.7
Bumps [furo](https://github.com/pradyunsg/furo) from 2022.1.2 to 2022.4.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.01.02...2022.04.07)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 04:41:12 +00:00
dependabot[bot]
fb7d933b42 Bump types-pytz from 2021.3.4 to 2021.3.6
Bumps [types-pytz](https://github.com/python/typeshed) from 2021.3.4 to 2021.3.6.
- [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>
2022-04-09 04:40:40 +00:00
dependabot[bot]
0540a6adef Bump sphinx-click from 3.1.0 to 4.0.0 in /docs
Bumps [sphinx-click](https://github.com/click-contrib/sphinx-click) from 3.1.0 to 4.0.0.
- [Release notes](https://github.com/click-contrib/sphinx-click/releases)
- [Commits](https://github.com/click-contrib/sphinx-click/compare/3.1.0...4.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 04:39:35 +00:00
dependabot[bot]
f39d7076fc Bump virtualenv from 20.13.0 to 20.14.0 in /.github/workflows
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.13.0 to 20.14.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.13.0...20.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 04:39:26 +00:00
Andrew
a8ee351738 Merge pull request #105 from andrewthetechie/dependabot/github_actions/codecov/codecov-action-3.0.0
Bump codecov/codecov-action from 2.1.0 to 3.0.0
2022-04-08 23:39:18 -05:00
Andrew
93e381c663 Merge pull request #101 from andrewthetechie/dependabot/github_actions/actions/setup-python-3.1.1
Bump actions/setup-python from 2.3.1 to 3.1.1
2022-04-08 23:39:00 -05:00
Andrew
8fcae70fa2 Merge pull request #97 from andrewthetechie/dependabot/pip/docs/sphinx-4.5.0
Bump sphinx from 4.4.0 to 4.5.0 in /docs
2022-04-08 23:38:50 -05:00
Andrew
7aaf15fd1f Merge pull request #90 from andrewthetechie/dependabot/pip/dot-github/workflows/poetry-dynamic-versioning-0.14.0
Bump poetry-dynamic-versioning from 0.13.1 to 0.14.0 in /.github/workflows
2022-04-08 23:38:27 -05:00
Andrew
2fd3aacdaa Merge pull request #88 from andrewthetechie/dependabot/pip/dot-github/workflows/pip-22.0.4
Bump pip from 22.0.3 to 22.0.4 in /.github/workflows
2022-04-08 23:38:17 -05:00
dependabot[bot]
9dd729aa10 Bump sphinx from 4.4.0 to 4.5.0 in /docs
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/4.x/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v4.4.0...v4.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 04:38:06 +00:00
Andrew
c77cc428ef Merge pull request #102 from andrewthetechie/dependabot/pip/docs/furo-2022.4.7
Bump furo from 2022.1.2 to 2022.4.7 in /docs
2022-04-08 23:37:33 -05:00
dependabot[bot]
307ea18384 Bump actions/setup-python from 2.3.1 to 3.1.1
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2.3.1 to 3.1.1.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2.3.1...v3.1.1)

---
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>
2022-04-09 04:37:32 +00:00
Andrew
12d043008f Merge pull request #99 from andrewthetechie/dependabot/github_actions/actions/cache-3.0.1
Bump actions/cache from 2.1.7 to 3.0.1
2022-04-08 23:37:22 -05:00
dependabot[bot]
4dea8c1535 Bump pip from 22.0.3 to 22.0.4 in /.github/workflows
Bumps [pip](https://github.com/pypa/pip) from 22.0.3 to 22.0.4.
- [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/22.0.3...22.0.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 04:37:03 +00:00
Andrew
4155c59d55 Merge pull request #92 from andrewthetechie/dependabot/pip/pytest-7.1.1
Bump pytest from 6.2.5 to 7.1.1
2022-04-08 23:37:00 -05:00
dependabot[bot]
4133edf5c5 Bump codecov/codecov-action from 2.1.0 to 3.0.0
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.1.0 to 3.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2.1.0...v3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 04:36:56 +00:00
Andrew
9a1e9dd523 Merge pull request #84 from andrewthetechie/dependabot/github_actions/actions/upload-artifact-3
Bump actions/upload-artifact from 2.3.1 to 3
2022-04-08 23:36:49 -05:00
dependabot[bot]
d1f0ebd4a5 Bump poetry-dynamic-versioning in /.github/workflows
Bumps [poetry-dynamic-versioning](https://github.com/mtkennerly/poetry-dynamic-versioning) from 0.13.1 to 0.14.0.
- [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.13.1...v0.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 04:36:43 +00:00
Andrew
7c3f58821f Merge pull request #83 from andrewthetechie/dependabot/github_actions/actions/download-artifact-3
Bump actions/download-artifact from 2.1.0 to 3
2022-04-08 23:36:41 -05:00
Andrew
3e46f0d9cd Merge pull request #82 from andrewthetechie/dependabot/github_actions/actions/checkout-3
Bump actions/checkout from 2.4.0 to 3
2022-04-08 23:36:33 -05:00
Andrew
0bd2ca91cf Merge pull request #77 from andrewthetechie/dependabot/pip/croniter-1.3.4
Bump croniter from 1.2.0 to 1.3.4
2022-04-08 23:36:24 -05:00
Andrew
7e55c06b9c Merge pull request #70 from andrewthetechie/dependabot/pip/dot-github/workflows/poetry-1.1.13
Bump poetry from 1.1.12 to 1.1.13 in /.github/workflows
2022-04-08 23:36:00 -05:00
dependabot[bot]
16441bc6f3 Bump furo from 2022.1.2 to 2022.4.7 in /docs
Bumps [furo](https://github.com/pradyunsg/furo) from 2022.1.2 to 2022.4.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.01.02...2022.04.07)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-08 01:36:44 +00:00
dependabot[bot]
9b543d85cc Bump actions/cache from 2.1.7 to 3.0.1
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.7 to 3.0.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/v2.1.7...v3.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-31 01:38:22 +00:00
dependabot[bot]
ba5d3a7e47 Bump pytest from 6.2.5 to 7.1.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 6.2.5 to 7.1.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/6.2.5...7.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-18 01:24:19 +00:00
dependabot[bot]
a5602135d7 Bump actions/upload-artifact from 2.3.1 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.3.1 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.3.1...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-04 01:25:00 +00:00
dependabot[bot]
bcf884242e Bump actions/download-artifact from 2.1.0 to 3
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2.1.0 to 3.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v2.1.0...v3)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-03 01:23:24 +00:00
dependabot[bot]
c62f844350 Bump actions/checkout from 2.4.0 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3.
- [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/v2.4.0...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-02 01:34:40 +00:00
dependabot[bot]
26a15a1fb3 Bump croniter from 1.2.0 to 1.3.4
Bumps [croniter](https://github.com/kiorky/croniter) from 1.2.0 to 1.3.4.
- [Release notes](https://github.com/kiorky/croniter/releases)
- [Changelog](https://github.com/kiorky/croniter/blob/master/docs/CHANGES.rst)
- [Commits](https://github.com/kiorky/croniter/compare/1.2.0...1.3.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-21 01:35:57 +00:00
dependabot[bot]
e19b041cb5 Bump poetry from 1.1.12 to 1.1.13 in /.github/workflows
Bumps [poetry](https://github.com/python-poetry/poetry) from 1.1.12 to 1.1.13.
- [Release notes](https://github.com/python-poetry/poetry/releases)
- [Changelog](https://github.com/python-poetry/poetry/blob/1.1.13/CHANGELOG.md)
- [Commits](https://github.com/python-poetry/poetry/compare/1.1.12...1.1.13)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-11 02:02:20 +00:00
Andrew
1e9a89cdd1 Merge pull request #65 from andrewthetechie/dependabot/pip/respx-0.19.2
Bump respx from 0.19.1 to 0.19.2
2022-02-04 20:14:11 -06:00
dependabot[bot]
a5c6fe24dc Bump respx from 0.19.1 to 0.19.2
Bumps [respx](https://github.com/lundberg/respx) from 0.19.1 to 0.19.2.
- [Release notes](https://github.com/lundberg/respx/releases)
- [Changelog](https://github.com/lundberg/respx/blob/master/CHANGELOG.md)
- [Commits](https://github.com/lundberg/respx/compare/0.19.1...0.19.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-05 01:45:11 +00:00
Andrew
7e60e76088 Merge pull request #63 from andrewthetechie/dependabot/pip/sphinx-click-3.1.0
Bump sphinx-click from 3.0.3 to 3.1.0
2022-02-04 19:43:31 -06:00
dependabot[bot]
47b257ca9d Bump sphinx-click from 3.0.3 to 3.1.0
Bumps [sphinx-click](https://github.com/stephenfin/sphinx-click) from 3.0.3 to 3.1.0.
- [Release notes](https://github.com/stephenfin/sphinx-click/releases)
- [Commits](https://github.com/stephenfin/sphinx-click/compare/3.0.3...3.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-05 01:38:54 +00:00
Andrew
88448bb2b4 Merge pull request #64 from andrewthetechie/dependabot/pip/dot-github/workflows/pip-22.0.3
Bump pip from 22.0.2 to 22.0.3 in /.github/workflows
2022-02-04 19:37:29 -06:00
Andrew
22b28936e3 Merge pull request #62 from andrewthetechie/dependabot/pip/coverage-6.3.1
Bump coverage from 6.3 to 6.3.1
2022-02-04 19:37:04 -06:00
Andrew
47ced622a3 Merge pull request #61 from andrewthetechie/dependabot/pip/docs/sphinx-click-3.1.0
Bump sphinx-click from 3.0.3 to 3.1.0 in /docs
2022-02-04 19:36:51 -06:00
dependabot[bot]
3a41684c13 Bump pip from 22.0.2 to 22.0.3 in /.github/workflows
Bumps [pip](https://github.com/pypa/pip) from 22.0.2 to 22.0.3.
- [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/22.0.2...22.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-04 01:27:33 +00:00
dependabot[bot]
fe068c34ef Bump coverage from 6.3 to 6.3.1
Bumps [coverage](https://github.com/nedbat/coveragepy) from 6.3 to 6.3.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/6.3...6.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-03 01:27:34 +00:00
dependabot[bot]
e7ee9625d5 Bump sphinx-click from 3.0.3 to 3.1.0 in /docs
Bumps [sphinx-click](https://github.com/stephenfin/sphinx-click) from 3.0.3 to 3.1.0.
- [Release notes](https://github.com/stephenfin/sphinx-click/releases)
- [Commits](https://github.com/stephenfin/sphinx-click/compare/3.0.3...3.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-03 01:26:24 +00:00
Andrew
95a9e5b4d7 Merge pull request #59 from andrewthetechie/dependabot/pip/sphinx-click-3.0.3
Bump sphinx-click from 3.0.2 to 3.0.3
2022-01-31 10:59:56 -06:00
dependabot[bot]
ddc15c065e Bump sphinx-click from 3.0.2 to 3.0.3
Bumps [sphinx-click](https://github.com/stephenfin/sphinx-click) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/stephenfin/sphinx-click/releases)
- [Commits](https://github.com/stephenfin/sphinx-click/compare/3.0.2...3.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-31 16:52:57 +00:00
Andrew
2e529a1bdc Merge pull request #60 from andrewthetechie/dependabot/pip/black-22.1.0
Bump black from 21.12b0 to 22.1.0
2022-01-31 10:50:16 -06:00
Andrew
0f4c9aa8ba Merge pull request #58 from andrewthetechie/dependabot/pip/dot-github/workflows/pip-22.0.2
Bump pip from 21.3.1 to 22.0.2 in /.github/workflows
2022-01-31 10:50:02 -06:00
Andrew
1e7d13096d Merge pull request #57 from andrewthetechie/dependabot/pip/pytest-mock-3.7.0
Bump pytest-mock from 3.6.1 to 3.7.0
2022-01-31 10:49:54 -06:00
Andrew
6c51038e12 Merge pull request #56 from andrewthetechie/dependabot/pip/docs/sphinx-click-3.0.3
Bump sphinx-click from 3.0.2 to 3.0.3 in /docs
2022-01-31 10:49:46 -06:00
dependabot[bot]
84952be7a9 Bump black from 21.12b0 to 22.1.0
Bumps [black](https://github.com/psf/black) from 21.12b0 to 22.1.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/commits/22.1.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-31 01:40:09 +00:00
dependabot[bot]
0446f63034 Bump pip from 21.3.1 to 22.0.2 in /.github/workflows
Bumps [pip](https://github.com/pypa/pip) from 21.3.1 to 22.0.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/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-31 01:39:33 +00:00
dependabot[bot]
e44ba1ed0b Bump pytest-mock from 3.6.1 to 3.7.0
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock) from 3.6.1 to 3.7.0.
- [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.6.1...v3.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-31 01:39:20 +00:00
dependabot[bot]
28840eac26 Bump sphinx-click from 3.0.2 to 3.0.3 in /docs
Bumps [sphinx-click](https://github.com/stephenfin/sphinx-click) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/stephenfin/sphinx-click/releases)
- [Commits](https://github.com/stephenfin/sphinx-click/compare/3.0.2...3.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-31 01:38:50 +00:00
Andrew
365e0cde5d Merge pull request #55 from andrewthetechie/dependabot/pip/httpx-0.22.0
Bump httpx from 0.21.3 to 0.22.0
2022-01-29 16:16:57 -06:00
dependabot[bot]
542ce00387 Bump httpx from 0.21.3 to 0.22.0
Bumps [httpx](https://github.com/encode/httpx) from 0.21.3 to 0.22.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.21.3...0.22.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-29 21:09:38 +00:00
Andrew
7b772f3a60 Merge pull request #54 from andrewthetechie/dependabot/pip/coverage-6.3
Bump coverage from 6.2 to 6.3
2022-01-29 15:06:04 -06:00
dependabot[bot]
73404d2636 Bump coverage from 6.2 to 6.3
Bumps [coverage](https://github.com/nedbat/coveragepy) from 6.2 to 6.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/6.2...6.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-29 20:49:57 +00:00
Andrew
aa4618ccce Merge pull request #53 from andrewthetechie/dependabot/pip/reorder-python-imports-2.7.1
Bump reorder-python-imports from 2.6.0 to 2.7.1
2022-01-29 14:47:52 -06:00
dependabot[bot]
d64a2cfbd1 Bump reorder-python-imports from 2.6.0 to 2.7.1
Bumps [reorder-python-imports](https://github.com/asottile/reorder_python_imports) from 2.6.0 to 2.7.1.
- [Release notes](https://github.com/asottile/reorder_python_imports/releases)
- [Commits](https://github.com/asottile/reorder_python_imports/compare/v2.6.0...v2.7.1)

---
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>
2022-01-26 01:24:05 +00:00
Andrew
d014f1586b Merge pull request #51 from andrewthetechie/fix-async-example
fix async example
2022-01-22 18:07:54 -06:00
Andrew Herrington
a085cb2f4d one last tweak 2022-01-22 18:07:33 -06:00
Andrew Herrington
432fbebb2a more example fixes 2022-01-22 17:56:05 -06:00
Andrew Herrington
d293d84fb8 pass pre-commit 2022-01-22 17:47:19 -06:00
Andrew
5f8cb52183 fix missing parens 2022-01-22 17:34:14 -06:00
Andrew
40958b2281 Update usage.rst 2022-01-22 17:32:16 -06:00
Andrew
11819ccae6 fix async example 2022-01-22 17:29:05 -06:00
Andrew
9a829eb8f3 Merge pull request #50 from andrewthetechie/dependabot/pip/pre-commit-2.17.0
Bump pre-commit from 2.16.0 to 2.17.0
2022-01-22 17:22:18 -06:00
dependabot[bot]
945fca9b03 Bump pre-commit from 2.16.0 to 2.17.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 2.16.0 to 2.17.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v2.16.0...v2.17.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-22 23:16:51 +00:00
Andrew
d20a9d3d4e Merge pull request #49 from andrewthetechie/dependabot/pip/pytest-asyncio-0.17.2
Bump pytest-asyncio from 0.16.0 to 0.17.2
2022-01-22 17:15:12 -06:00
Andrew
450596b6a8 Merge pull request #47 from andrewthetechie/dependabot/pip/croniter-1.2.0
Bump croniter from 1.1.0 to 1.2.0
2022-01-22 17:15:00 -06:00
Andrew
4dd6eabdae Merge pull request #46 from andrewthetechie/dependabot/pip/docs/sphinx-4.4.0
Bump sphinx from 4.3.2 to 4.4.0 in /docs
2022-01-22 17:14:50 -06:00
dependabot[bot]
389d8b9b64 Bump pytest-asyncio from 0.16.0 to 0.17.2
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.16.0 to 0.17.2.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.16.0...v0.17.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-18 01:24:24 +00:00
dependabot[bot]
9d89a749e5 Bump croniter from 1.1.0 to 1.2.0
Bumps [croniter](https://github.com/kiorky/croniter) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/kiorky/croniter/releases)
- [Changelog](https://github.com/kiorky/croniter/blob/master/docs/CHANGES.rst)
- [Commits](https://github.com/kiorky/croniter/compare/1.1.0...1.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-17 01:48:49 +00:00
dependabot[bot]
22bb34fbd8 Bump sphinx from 4.3.2 to 4.4.0 in /docs
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 4.3.2 to 4.4.0.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/4.x/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v4.3.2...v4.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-17 01:46:22 +00:00
Andrew
1c373133b2 Merge pull request #43 from andrewthetechie/dependabot/pip/flake8-bugbear-22.1.11
Bump flake8-bugbear from 21.11.29 to 22.1.11
2022-01-12 23:01:50 -06:00
dependabot[bot]
c7a710a052 Bump flake8-bugbear from 21.11.29 to 22.1.11
Bumps [flake8-bugbear](https://github.com/PyCQA/flake8-bugbear) from 21.11.29 to 22.1.11.
- [Release notes](https://github.com/PyCQA/flake8-bugbear/releases)
- [Commits](https://github.com/PyCQA/flake8-bugbear/compare/21.11.29...22.1.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-13 01:40:34 +00:00
Andrew
ee03e90d6a Merge pull request #42 from andrewthetechie/dependabot/pip/respx-0.19.1
Bump respx from 0.19.0 to 0.19.1
2022-01-12 10:03:10 -06:00
dependabot[bot]
c6d4d5cc2a Bump respx from 0.19.0 to 0.19.1
Bumps [respx](https://github.com/lundberg/respx) from 0.19.0 to 0.19.1.
- [Release notes](https://github.com/lundberg/respx/releases)
- [Changelog](https://github.com/lundberg/respx/blob/master/CHANGELOG.md)
- [Commits](https://github.com/lundberg/respx/compare/0.19.0...0.19.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-12 15:59:46 +00:00
Andrew
9aca74ae01 Merge pull request #41 from andrewthetechie/dependabot/pip/types-croniter-1.0.7
Bump types-croniter from 1.0.6 to 1.0.7
2022-01-12 09:58:01 -06:00
dependabot[bot]
5bf9a032f3 Bump types-croniter from 1.0.6 to 1.0.7
Bumps [types-croniter](https://github.com/python/typeshed) from 1.0.6 to 1.0.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>
2022-01-11 01:24:47 +00:00
Andrew
0c82993e42 Merge pull request #40 from andrewthetechie/dependabot/pip/types-pytz-2021.3.4
Bump types-pytz from 2021.3.3 to 2021.3.4
2022-01-10 17:18:28 -06:00
dependabot[bot]
e8278430e6 Bump types-pytz from 2021.3.3 to 2021.3.4
Bumps [types-pytz](https://github.com/python/typeshed) from 2021.3.3 to 2021.3.4.
- [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>
2022-01-10 23:18:06 +00:00
Andrew
2f0b4602a9 Merge pull request #39 from andrewthetechie/dependabot/pip/mypy-0.931
Bump mypy from 0.910 to 0.931
2022-01-10 17:16:15 -06:00
dependabot[bot]
4c30b611e7 Bump mypy from 0.910 to 0.931
Bumps [mypy](https://github.com/python/mypy) from 0.910 to 0.931.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.910...v0.931)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 23:07:13 +00:00
Andrew
f3be1bff3f Merge pull request #38 from andrewthetechie/dependabot/pip/types-croniter-1.0.6
Bump types-croniter from 1.0.4 to 1.0.6
2022-01-10 17:05:19 -06:00
Andrew
0c7562765d Merge pull request #37 from andrewthetechie/dependabot/pip/dot-github/workflows/nox-2022.1.7
Bump nox from 2021.10.1 to 2022.1.7 in /.github/workflows
2022-01-10 17:05:10 -06:00
Andrew
02a7665f22 Merge pull request #36 from andrewthetechie/dependabot/github_actions/pypa/gh-action-pypi-publish-1.5.0
Bump pypa/gh-action-pypi-publish from 1.4.2 to 1.5.0
2022-01-10 17:04:58 -06:00
dependabot[bot]
5a3901cfd2 Bump types-croniter from 1.0.4 to 1.0.6
Bumps [types-croniter](https://github.com/python/typeshed) from 1.0.4 to 1.0.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>
2022-01-10 01:43:08 +00:00
dependabot[bot]
718dc3d7a0 Bump nox from 2021.10.1 to 2022.1.7 in /.github/workflows
Bumps [nox](https://github.com/theacodes/nox) from 2021.10.1 to 2022.1.7.
- [Release notes](https://github.com/theacodes/nox/releases)
- [Changelog](https://github.com/theacodes/nox/blob/main/CHANGELOG.md)
- [Commits](https://github.com/theacodes/nox/compare/2021.10.1...2022.1.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 01:40:37 +00:00
dependabot[bot]
103b5d0eda Bump pypa/gh-action-pypi-publish from 1.4.2 to 1.5.0
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.4.2 to 1.5.0.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.4.2...v1.5.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>
2022-01-10 01:39:51 +00:00
Andrew Herrington
2b8f217698 fix async usage 2022-01-08 18:51:44 -06:00
Andrew
bcc2242ec6 Update .gitignore 2022-01-08 17:46:11 -06:00
Andrew
721e79e678 Delete .vscode directory 2022-01-08 17:45:57 -06:00
Andrew
818dd54f2f Merge pull request #35 from andrewthetechie/schedule-blank-string
Exclude none values when creating and updating
2022-01-07 21:24:02 -06:00
Andrew Herrington
376578ac36 Exclude none values when creating and updating 2022-01-07 21:16:03 -06:00
Andrew
67cbd2963f Merge pull request #34 from andrewthetechie/fix-schedule
default schedule to None
2022-01-07 20:53:17 -06:00
Andrew Herrington
960d78bc10 default schedule to None 2022-01-07 20:47:21 -06:00
Andrew
17c612c29f Merge pull request #33 from andrewthetechie/fix-optional-timeout
make timeout optional
2022-01-07 20:40:45 -06:00
Andrew Herrington
79ae404e63 make timeout optional` 2022-01-07 20:36:52 -06:00
Andrew
f13236d1a5 Merge pull request #32 from andrewthetechie/fix-check-create-optional-fields
update CheckCreate optionals
2022-01-07 20:26:04 -06:00
Andrew Herrington
4233abdf4b update CheckCreate optionals
These optionals need default values or they fail to validate
2022-01-07 20:22:01 -06:00
Andrew
bbebf174b9 Merge pull request #30 from andrewthetechie/dependabot/pip/pygments-2.11.2
Bump pygments from 2.11.0 to 2.11.2
2022-01-07 20:21:08 -06:00
dependabot[bot]
d9a1553e88 Bump pygments from 2.11.0 to 2.11.2
Bumps [pygments](https://github.com/pygments/pygments) from 2.11.0 to 2.11.2.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.11.0...2.11.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-08 02:20:25 +00:00
Andrew
ca62cdc282 Merge pull request #31 from andrewthetechie/dependabot/pip/httpx-0.21.3
Bump httpx from 0.21.1 to 0.21.3
2022-01-07 20:18:18 -06:00
Andrew
b5bffa2dc0 Merge pull request #27 from andrewthetechie/dependabot/pip/furo-2022.1.2
Bump furo from 2021.11.23 to 2022.1.2
2022-01-07 20:17:50 -06:00
Andrew
78bfa7b0fc Merge pull request #26 from andrewthetechie/dependabot/pip/pyupgrade-2.31.0
Bump pyupgrade from 2.30.1 to 2.31.0
2022-01-07 20:17:39 -06:00
Andrew
1c5f8f5f1f Merge pull request #24 from andrewthetechie/dependabot/pip/docs/furo-2022.1.2
Bump furo from 2021.11.23 to 2022.1.2 in /docs
2022-01-07 20:17:28 -06:00
Andrew
17d431bf42 Merge pull request #23 from andrewthetechie/dependabot/pip/dot-github/workflows/virtualenv-20.13.0
Bump virtualenv from 20.11.2 to 20.13.0 in /.github/workflows
2022-01-07 20:17:15 -06:00
Andrew
5b1cc5aafd Merge pull request #25 from andrewthetechie/dependabot/pip/pydantic-1.9.0
Bump pydantic from 1.8.2 to 1.9.0
2022-01-07 20:17:02 -06:00
dependabot[bot]
bc7a85e523 Bump httpx from 0.21.1 to 0.21.3
Bumps [httpx](https://github.com/encode/httpx) from 0.21.1 to 0.21.3.
- [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.21.1...0.21.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-07 01:29:58 +00:00
dependabot[bot]
c0431ca182 Bump furo from 2021.11.23 to 2022.1.2
Bumps [furo](https://github.com/pradyunsg/furo) from 2021.11.23 to 2022.1.2.
- [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/2021.11.23...2022.01.02)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 01:41:10 +00:00
dependabot[bot]
112a80b24e Bump pyupgrade from 2.30.1 to 2.31.0
Bumps [pyupgrade](https://github.com/asottile/pyupgrade) from 2.30.1 to 2.31.0.
- [Release notes](https://github.com/asottile/pyupgrade/releases)
- [Commits](https://github.com/asottile/pyupgrade/compare/v2.30.1...v2.31.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 01:40:43 +00:00
dependabot[bot]
ee2cb27a2e Bump pydantic from 1.8.2 to 1.9.0
Bumps [pydantic](https://github.com/samuelcolvin/pydantic) from 1.8.2 to 1.9.0.
- [Release notes](https://github.com/samuelcolvin/pydantic/releases)
- [Changelog](https://github.com/samuelcolvin/pydantic/blob/master/HISTORY.md)
- [Commits](https://github.com/samuelcolvin/pydantic/compare/v1.8.2...v1.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 01:40:12 +00:00
dependabot[bot]
e04b50b565 Bump furo from 2021.11.23 to 2022.1.2 in /docs
Bumps [furo](https://github.com/pradyunsg/furo) from 2021.11.23 to 2022.1.2.
- [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/2021.11.23...2022.01.02)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 01:36:07 +00:00
dependabot[bot]
3480060739 Bump virtualenv from 20.11.2 to 20.13.0 in /.github/workflows
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.11.2 to 20.13.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.11.2...20.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 01:35:29 +00:00
Andrew Herrington
c103d5f281 poetry update 2021-12-30 23:43:15 -06:00
Andrew
8f2a17cb26 Merge pull request #20 from andrewthetechie/dependabot/pip/pygments-2.11.0
Bump pygments from 2.10.0 to 2.11.0
2021-12-30 23:39:33 -06:00
Andrew
0ad674fc74 Merge pull request #22 from andrewthetechie/context-manager
Add Context Managers
2021-12-30 23:39:18 -06:00
Andrew Herrington
86c2348172 fixes for mypy and xdoctest 2021-12-30 23:34:23 -06:00
Andrew Herrington
0606e83f19 add context manager features 2021-12-30 23:15:08 -06:00
dependabot[bot]
6b46571dd4 Bump pygments from 2.10.0 to 2.11.0
Bumps [pygments](https://github.com/pygments/pygments) from 2.10.0 to 2.11.0.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.10.0...2.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-31 01:27:59 +00:00
Andrew Herrington
9f139177dc add docs on using the context manager 2021-12-30 18:28:08 -06:00
Andrew Herrington
885651c666 add context manager and tests 2021-12-30 18:24:57 -06:00
Andrew Herrington
7bc06275d3 update dependencies 2021-12-30 17:57:55 -06:00
Andrew
31efa7962a Merge pull request #19 from andrewthetechie/dependabot/pip/dot-github/workflows/virtualenv-20.11.2
Bump virtualenv from 20.10.0 to 20.11.2 in /.github/workflows
2021-12-30 17:54:54 -06:00
Andrew
5b5c919995 Merge pull request #16 from andrewthetechie/dependabot/pip/pyupgrade-2.30.0
Bump pyupgrade from 2.29.1 to 2.30.0
2021-12-30 17:54:14 -06:00
dependabot[bot]
0256482f70 Bump virtualenv from 20.10.0 to 20.11.2 in /.github/workflows
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.10.0 to 20.11.2.
- [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.10.0...20.11.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-30 01:24:44 +00:00
dependabot[bot]
47a09d7a5f Bump pyupgrade from 2.29.1 to 2.30.0
Bumps [pyupgrade](https://github.com/asottile/pyupgrade) from 2.29.1 to 2.30.0.
- [Release notes](https://github.com/asottile/pyupgrade/releases)
- [Commits](https://github.com/asottile/pyupgrade/compare/v2.29.1...v2.30.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-28 01:25:23 +00:00
Andrew
f15615a09f Merge pull request #15 from andrewthetechie/update-dependencies
update dependencies
2021-12-24 13:25:35 -06:00
Andrew Herrington
819693cd1a update dependencies 2021-12-24 13:19:53 -06:00
Andrew
a83fd4ac77 Merge pull request #11 from andrewthetechie/dependabot/pip/sphinx-4.3.2
Bump sphinx from 4.3.1 to 4.3.2
2021-12-24 13:15:19 -06:00
Andrew
93bd42756a Merge pull request #10 from andrewthetechie/dependabot/pip/docs/sphinx-4.3.2
Bump sphinx from 4.3.1 to 4.3.2 in /docs
2021-12-24 13:15:07 -06:00
dependabot[bot]
b96a02d711 Bump sphinx from 4.3.1 to 4.3.2
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 4.3.1 to 4.3.2.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/4.x/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v4.3.1...v4.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-20 01:46:52 +00:00
dependabot[bot]
3f5662670a Bump sphinx from 4.3.1 to 4.3.2 in /docs
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 4.3.1 to 4.3.2.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/4.x/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v4.3.1...v4.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-20 01:42:39 +00:00
Andrew Herrington
063a5e9709 fix badges 2021-12-16 18:52:51 -06:00
22 changed files with 1004 additions and 534 deletions

View File

@@ -1,6 +1,6 @@
pip==21.3.1 pip==22.1.1
nox==2021.10.1 nox==2022.1.7
nox-poetry==0.9.0 nox-poetry==1.0.0
poetry==1.1.12 poetry==1.1.13
virtualenv==20.10.0 virtualenv==20.14.1
poetry-dynamic-versioning==0.13.1 poetry-dynamic-versioning==0.17.1

View File

@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v2.4.0 uses: actions/checkout@v3
- name: Run Labeler - name: Run Labeler
uses: crazy-max/ghaction-github-labeler@v3.1.1 uses: crazy-max/ghaction-github-labeler@v3.1.1

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@v2.4.0 uses: actions/checkout@v3
with: with:
fetch-depth: 2 fetch-depth: 2
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v2.3.1 uses: actions/setup-python@v3.1.2
with: with:
python-version: "3.10" python-version: "3.10"
@@ -35,7 +35,7 @@ jobs:
- name: Publish package on TestPyPI - name: Publish package on TestPyPI
if: "! steps.check-version.outputs.tag" if: "! steps.check-version.outputs.tag"
uses: pypa/gh-action-pypi-publish@v1.4.2 uses: pypa/gh-action-pypi-publish@v1.5.0
with: with:
user: __token__ user: __token__
password: ${{ secrets.TEST_PYPI_TOKEN }} password: ${{ secrets.TEST_PYPI_TOKEN }}

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@v2.4.0 uses: actions/checkout@v3
with: with:
fetch-depth: 2 fetch-depth: 2
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v2.3.1 uses: actions/setup-python@v3.1.2
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 PyPI - name: Publish package on PyPI
uses: pypa/gh-action-pypi-publish@v1.4.2 uses: pypa/gh-action-pypi-publish@v1.5.0
with: with:
user: __token__ user: __token__
password: ${{ secrets.PYPI_TOKEN }} password: ${{ secrets.PYPI_TOKEN }}

View File

@@ -35,10 +35,10 @@ jobs:
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v2.4.0 uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python }} - name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v2.3.1 uses: actions/setup-python@v3.1.2
with: with:
python-version: ${{ matrix.python }} python-version: ${{ matrix.python }}
@@ -83,7 +83,7 @@ jobs:
print("::set-output name=result::{}".format(result)) print("::set-output name=result::{}".format(result))
- name: Restore pre-commit cache - name: Restore pre-commit cache
uses: actions/cache@v2.1.7 uses: actions/cache@v3.0.2
if: matrix.session == 'pre-commit' if: matrix.session == 'pre-commit'
with: with:
path: ~/.cache/pre-commit path: ~/.cache/pre-commit
@@ -97,14 +97,14 @@ jobs:
- name: Upload coverage data - name: Upload coverage data
if: always() && matrix.session == 'tests' if: always() && matrix.session == 'tests'
uses: "actions/upload-artifact@v2.3.1" uses: "actions/upload-artifact@v3"
with: with:
name: coverage-data name: coverage-data
path: ".coverage.*" path: ".coverage.*"
- name: Upload documentation - name: Upload documentation
if: matrix.session == 'docs-build' if: matrix.session == 'docs-build'
uses: actions/upload-artifact@v2.3.1 uses: actions/upload-artifact@v3
with: with:
name: docs name: docs
path: docs/_build path: docs/_build
@@ -114,10 +114,10 @@ jobs:
needs: tests needs: tests
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v2.4.0 uses: actions/checkout@v3
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v2.3.1 uses: actions/setup-python@v3.1.2
with: with:
python-version: "3.10" python-version: "3.10"
@@ -138,7 +138,7 @@ jobs:
nox --version nox --version
- name: Download coverage data - name: Download coverage data
uses: actions/download-artifact@v2.1.0 uses: actions/download-artifact@v3
with: with:
name: coverage-data name: coverage-data
@@ -151,4 +151,4 @@ jobs:
nox --force-color --session=coverage -- xml nox --force-color --session=coverage -- xml
- name: Upload coverage report - name: Upload coverage report
uses: codecov/codecov-action@v2.1.0 uses: codecov/codecov-action@v3.1.0

1
.gitignore vendored
View File

@@ -8,3 +8,4 @@
/docs/_build/ /docs/_build/
/src/*.egg-info/ /src/*.egg-info/
__pycache__/ __pycache__/
.vscode

View File

@@ -1,3 +0,0 @@
{
"python.pythonPath": "/home/andrew/.pyenv/versions/3.10.0/envs/healthchecks/bin/python"
}

View File

@@ -7,16 +7,16 @@ Py Healthchecks.Io
|pre-commit| |Black| |pre-commit| |Black|
.. |PyPI| image:: https://img.shields.io/pypi/v/py-healthchecksio.svg .. |PyPI| image:: https://img.shields.io/pypi/v/healthchecks-io.svg
:target: https://pypi.org/project/py-healthchecksio/ :target: https://pypi.org/project/healthchecks-io/
:alt: PyPI :alt: PyPI
.. |Status| image:: https://img.shields.io/pypi/status/py-healthchecksio.svg .. |Status| image:: https://img.shields.io/pypi/status/healthchecks-io.svg
:target: https://pypi.org/project/py-healthchecksio/ :target: https://pypi.org/project/healthchecks-io/
:alt: Status :alt: Status
.. |Python Version| image:: https://img.shields.io/pypi/pyversions/py-healthchecksio .. |Python Version| image:: https://img.shields.io/pypi/pyversions/healthchecks-io
:target: https://pypi.org/project/py-healthchecksio :target: https://pypi.org/project/healthchecks-io
:alt: Python Version :alt: Python Version
.. |License| image:: https://img.shields.io/pypi/l/py-healthchecks.io .. |License| image:: https://img.shields.io/pypi/l/healthchecks-io
:target: https://opensource.org/licenses/MIT :target: https://opensource.org/licenses/MIT
:alt: License :alt: License
.. |Read the Docs| image:: https://img.shields.io/readthedocs/py-healthchecksio/latest.svg?label=Read%20the%20Docs .. |Read the Docs| image:: https://img.shields.io/readthedocs/py-healthchecksio/latest.svg?label=Read%20the%20Docs

View File

@@ -1,3 +1,3 @@
furo==2021.11.23 furo==2022.4.7
sphinx==4.3.1 sphinx==4.5.0
sphinx-click==3.0.2 sphinx-click==4.0.3

View File

@@ -3,6 +3,31 @@ Usage
This package implements the Healthchecks.io Management and Ping APIs as documented here https://healthchecks.io/docs/api/. This package implements the Healthchecks.io Management and Ping APIs as documented here https://healthchecks.io/docs/api/.
Context Manager
---------------
Either the Client or AsyncClient can be used as a ContextManager (or Async Context Manager)
.. code-block:: python
from healthchecks_io import Client, CheckCreate
with Client(api_key="myapikey") as client:
check = client.create_check(CheckCreate(name="New Check", tags="tag1 tag2"))
print(check)
This is probably the easiest way to use the Clients for one-off scripts. If you do not need to keep a client open for multiple requests, just use
the context manager.
.. note::
When using either of the client types as a context manager, the httpx client underlying the client will be closed when the context manager exits.
Since we allow you to pass in a client on creation, its possible to use a shared client with this library. If you then use the client as a contextmanager,
it will close that shared client.
Just a thing to be aware of!
Sync Sync
---- ----
@@ -38,7 +63,7 @@ Creating a new Check
client = Client(api_key="myapikey") client = Client(api_key="myapikey")
check = client.create_check(CreateCheck(name="New Check", tags="tag1 tag2") check = client.create_check(CheckCreate(name="New Check", tags="tag1 tag2"))
print(check) print(check)
Getting a Check Getting a Check
@@ -57,6 +82,7 @@ Pinging a Check
^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
.. code-block:: python .. code-block:: python
from healthchecks_io import Client from healthchecks_io import Client
client = Client(api_key="myapikey") client = Client(api_key="myapikey")
@@ -68,13 +94,54 @@ Async
If you want to use the client in an async program, use AsyncClient instead of Client If you want to use the client in an async program, use AsyncClient instead of Client
.. code-block:: python
import asyncio
from healthchecks_io import AsyncClient, CheckCreate
async def main():
client = AsyncClient(api_key="myapikey")
check = await client.create_check(CheckCreate(name="New Check", tags="tag1 tag2"))
print(check)
if __name__ == "__main__":
asyncio.run(main())
CheckTrap
---------
Ever wanted to run some code and wrape it in a healthcheck check without thinking about it?
That's what CheckTrap is for.
.. code-block:: python .. code-block:: python
from healthchecks_io import AsyncClient, CheckCreate import asyncio
from healthchecks_io import Client, AsyncClient, CheckCreate, CheckTrap
client = AsyncClient(api_key="myapikey") def run_my_thing_to_monitor():
pass
check = await client.create_check(CreateCheck(name="New Check", tags="tag1 tag2") async def main(check):
print(check) client = AsyncClient(ping_key="ping_key")
# works with async too, and the ping api and slugs
async with CheckTrap(client, slug=check.slug) as ct:
# when entering the context manager, sends a start ping to your check
# Add custom logs to what gets sent to healthchecks. Reminder, only the first 10k bytes get saved
ct.add_log("My custom log message")
run_my_thing_to_monitor()
if __name__ == "__main__":
client = Client(api_key="myapikey")
# create a new check, or use an existing one already with just its uuid.
check = await client.create_check(CreateCheck(name="New Check", tags="tag1 tag2")
with CheckTrap(client, check.uuid):
# when entering the context manager, sends a start ping to your check
run_my_thing_to_monitor()
asyncio.run(main())

862
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -9,7 +9,16 @@ homepage = "https://github.com/andrewthetechie/py-healthchecks.io"
repository = "https://github.com/andrewthetechie/py-healthchecks.io" repository = "https://github.com/andrewthetechie/py-healthchecks.io"
documentation = "https://py-healthchecks.io.readthedocs.io" documentation = "https://py-healthchecks.io.readthedocs.io"
classifiers = [ classifiers = [
"Development Status :: 3 - Alpha", "Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Framework :: AsyncIO"
] ]
[tool.poetry.urls] [tool.poetry.urls]
@@ -17,43 +26,42 @@ Changelog = "https://github.com/andrewthetechie/py-healthchecks.io/releases"
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "^3.7" python = "^3.7"
click = "^8.0.1" pydantic = "^1.9.1"
pydantic = "^1.8.2" httpx = ">=0.23.0,<0.24.0"
httpx = "^0.21.1"
croniter = "^1.1.0" croniter = "^1.1.0"
pytz = "^2021.3" pytz = ">=2021.3,<2023.0"
[tool.poetry.dev-dependencies] [tool.poetry.dev-dependencies]
pytest = "^6.2.5" pytest = "^7.1.2"
coverage = {extras = ["toml"], version = "^6.2"} coverage = {extras = ["toml"], version = "^6.4"}
safety = "^1.10.3" safety = "^1.10.3"
mypy = "^0.910" mypy = "^0.960"
typeguard = "^2.13.2" typeguard = "^2.13.2"
xdoctest = {extras = ["colors"], version = "^0.15.10"} xdoctest = {extras = ["colors"], version = "^1.0.0"}
sphinx = "^4.3.1" sphinx = "^4.3.2"
sphinx-autobuild = ">=2021.3.14" sphinx-autobuild = ">=2021.3.14"
pre-commit = "^2.16.0" pre-commit = "^2.19.0"
flake8 = "^4.0.1" flake8 = "^4.0.1"
black = ">=21.10b0" black = ">=21.10b0"
flake8-bandit = "^2.1.2" flake8-bandit = "^3.0.0"
flake8-bugbear = ">=21.9.2" flake8-bugbear = ">=21.9.2"
flake8-docstrings = "^1.6.0" flake8-docstrings = "^1.6.0"
flake8-rst-docstrings = "^0.2.3" flake8-rst-docstrings = "^0.2.3"
pep8-naming = "^0.12.1" pep8-naming = "^0.12.1"
darglint = "^1.8.1" darglint = "^1.8.1"
reorder-python-imports = "^2.6.0" reorder-python-imports = "^3.1.0"
pre-commit-hooks = "^4.0.1" pre-commit-hooks = "^4.2.0"
sphinx-click = "^3.0.2" sphinx-click = "^4.0.3"
Pygments = "^2.10.0" Pygments = "^2.12.0"
pyupgrade = "^2.29.1" pyupgrade = "^2.32.1"
furo = ">=2021.11.12" furo = ">=2021.11.12"
pytest-cov = "^3.0.0" pytest-cov = "^3.0.0"
types-croniter = "^1.0.3" types-croniter = "^1.0.10"
types-pytz = "^2021.3.3" types-pytz = "^2021.3.8"
pytest_async = "^0.1.1" pytest_async = "^0.1.1"
pytest-asyncio = "^0.16.0" pytest-asyncio = "^0.18.3"
respx = "^0.19.0" respx = "^0.19.2"
pytest-mock = "^3.6.1" pytest-mock = "^3.7.0"
pytest-lazy-fixture = "^0.6.3" pytest-lazy-fixture = "^0.6.3"
[tool.coverage.paths] [tool.coverage.paths]

View File

@@ -4,18 +4,22 @@ __version__ = "0.0.0" # 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
from .client import CheckTrap # noqa: F401, E402
from .client.exceptions import BadAPIRequestError # noqa: F401, E402 from .client.exceptions import BadAPIRequestError # noqa: F401, E402
from .client.exceptions import CheckNotFoundError # noqa: F401, E402 from .client.exceptions import CheckNotFoundError # noqa: F401, E402
from .client.exceptions import HCAPIAuthError # noqa: F401, E402 from .client.exceptions import HCAPIAuthError # noqa: F401, E402
from .client.exceptions import HCAPIError # noqa: F401, E402 from .client.exceptions import HCAPIError # noqa: F401, E402
from .client.exceptions import HCAPIRateLimitError # noqa: F401, E402 from .client.exceptions import HCAPIRateLimitError # noqa: F401, E402
from .client.exceptions import NonUniqueSlugError # noqa: F401, E402 from .client.exceptions import NonUniqueSlugError # noqa: F401, E402
from .client.exceptions import WrongClientError # noqa: F401, E402
from .client.exceptions import PingFailedError # noqa: F401, E402
from .schemas import Check, CheckCreate, CheckPings, CheckStatuses # noqa: F401, E402 from .schemas import Check, CheckCreate, CheckPings, CheckStatuses # noqa: F401, E402
from .schemas import Integration, Badges, CheckUpdate # noqa: F401, E402 from .schemas import Integration, Badges, CheckUpdate # noqa: F401, E402
__all__ = [ __all__ = [
"AsyncClient", "AsyncClient",
"Client", "Client",
"CheckTrap",
"BadAPIRequestError", "BadAPIRequestError",
"CheckNotFoundError", "CheckNotFoundError",
"HCAPIAuthError", "HCAPIAuthError",
@@ -23,6 +27,8 @@ __all__ = [
"CheckNotFoundError", "CheckNotFoundError",
"HCAPIRateLimitError", "HCAPIRateLimitError",
"NonUniqueSlugError", "NonUniqueSlugError",
"WrongClientError",
"PingFailedError",
"Check", "Check",
"CheckCreate", "CheckCreate",
"CheckUpdate", "CheckUpdate",

View File

@@ -1,5 +1,6 @@
"""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 .sync_client import Client # noqa: F401 from .sync_client import Client # noqa: F401
__all__ = ["AsyncClient", "Client"] __all__ = ["AsyncClient", "Client", "CheckTrap"]

View File

@@ -1,9 +1,11 @@
"""An async healthchecks.io client.""" """An async healthchecks.io client."""
import asyncio import asyncio
from types import TracebackType
from typing import Dict from typing import Dict
from typing import List from typing import List
from typing import Optional from typing import Optional
from typing import Tuple from typing import Tuple
from typing import Type
from httpx import AsyncClient as HTTPXAsyncClient from httpx import AsyncClient as HTTPXAsyncClient
@@ -56,6 +58,23 @@ class AsyncClient(AbstractClient):
] = f"py-healthchecks.io-async/{client_version}" ] = f"py-healthchecks.io-async/{client_version}"
self._client.headers["Content-type"] = "application/json" self._client.headers["Content-type"] = "application/json"
async def __aenter__(self) -> "AsyncClient":
"""Context manager entrance.
Returns:
AsyncClient: returns this client as a context manager
"""
return self
async def __aexit__(
self,
exc_type: Optional[Type[BaseException]],
exc: Optional[BaseException],
traceback: Optional[TracebackType],
) -> None:
"""Context manager exit."""
await self._afinalizer_method()
def _finalizer_method(self) -> None: def _finalizer_method(self) -> None:
"""Calls _afinalizer_method from a sync context to work with weakref.finalizer.""" """Calls _afinalizer_method from a sync context to work with weakref.finalizer."""
asyncio.run(self._afinalizer_method()) asyncio.run(self._afinalizer_method())
@@ -79,7 +98,7 @@ class AsyncClient(AbstractClient):
""" """
request_url = self._get_api_request_url("checks/") request_url = self._get_api_request_url("checks/")
response = self.check_response( response = self.check_response(
await self._client.post(request_url, json=new_check.dict()) await self._client.post(request_url, json=new_check.dict(exclude_none=True))
) )
return Check.from_api_result(response.json()) return Check.from_api_result(response.json())
@@ -99,7 +118,8 @@ class AsyncClient(AbstractClient):
request_url = self._get_api_request_url(f"checks/{uuid}") request_url = self._get_api_request_url(f"checks/{uuid}")
response = self.check_response( response = self.check_response(
await self._client.post( await self._client.post(
request_url, json=update_check.dict(exclude_unset=True) request_url,
json=update_check.dict(exclude_unset=True, exclude_none=True),
) )
) )
return Check.from_api_result(response.json()) return Check.from_api_result(response.json())
@@ -322,7 +342,9 @@ class AsyncClient(AbstractClient):
for key, item in response.json()["badges"].items() for key, item in response.json()["badges"].items()
} }
async def success_ping(self, uuid: str = "", slug: str = "") -> Tuple[bool, str]: async def success_ping(
self, uuid: str = "", slug: str = "", data: str = ""
) -> Tuple[bool, str]:
"""Signals to Healthchecks.io that a job has completed successfully. """Signals to Healthchecks.io that a job has completed successfully.
Can also be used to indicate a continuously running process is still running and healthy. Can also be used to indicate a continuously running process is still running and healthy.
@@ -338,6 +360,7 @@ class AsyncClient(AbstractClient):
Args: Args:
uuid (str): Check's UUID. Defaults to "". uuid (str): Check's UUID. Defaults to "".
slug (str): Check's Slug. Defaults to "". slug (str): Check's Slug. Defaults to "".
data (str): Text data to append to this check. Defaults to "".
Raises: Raises:
HCAPIAuthError: Raised when status_code == 401 or 403 HCAPIAuthError: Raised when status_code == 401 or 403
@@ -352,10 +375,14 @@ class AsyncClient(AbstractClient):
Tuple[bool, str]: success (true or false) and the response text Tuple[bool, str]: success (true or false) and the response text
""" """
ping_url = self._get_ping_url(uuid, slug, "") ping_url = self._get_ping_url(uuid, slug, "")
response = self.check_ping_response(await self._client.get(ping_url)) response = self.check_ping_response(
await self._client.post(ping_url, content=data)
)
return (True if response.status_code == 200 else False, response.text) return (True if response.status_code == 200 else False, response.text)
async def start_ping(self, uuid: str = "", slug: str = "") -> Tuple[bool, str]: async def start_ping(
self, uuid: str = "", slug: str = "", data: str = ""
) -> Tuple[bool, str]:
"""Sends a "job has started!" message to Healthchecks.io. """Sends a "job has started!" message to Healthchecks.io.
Sending a "start" signal is optional, but it enables a few extra features: Sending a "start" signal is optional, but it enables a few extra features:
@@ -373,6 +400,7 @@ class AsyncClient(AbstractClient):
Args: Args:
uuid (str): Check's UUID. Defaults to "". uuid (str): Check's UUID. Defaults to "".
slug (str): Check's Slug. Defaults to "". slug (str): Check's Slug. Defaults to "".
data (str): Text data to append to this check. Defaults to "".
Raises: Raises:
HCAPIAuthError: Raised when status_code == 401 or 403 HCAPIAuthError: Raised when status_code == 401 or 403
@@ -387,10 +415,14 @@ class AsyncClient(AbstractClient):
Tuple[bool, str]: success (true or false) and the response text Tuple[bool, str]: success (true or false) and the response text
""" """
ping_url = self._get_ping_url(uuid, slug, "/start") ping_url = self._get_ping_url(uuid, slug, "/start")
response = self.check_ping_response(await self._client.get(ping_url)) response = self.check_ping_response(
await self._client.post(ping_url, content=data)
)
return (True if response.status_code == 200 else False, response.text) return (True if response.status_code == 200 else False, response.text)
async def fail_ping(self, uuid: str = "", slug: str = "") -> Tuple[bool, str]: async def fail_ping(
self, uuid: str = "", slug: str = "", data: str = ""
) -> Tuple[bool, str]:
"""Signals to Healthchecks.io that the job has failed. """Signals to Healthchecks.io that the job has failed.
Actively signaling a failure minimizes the delay from your monitored service failing to you receiving an alert. Actively signaling a failure minimizes the delay from your monitored service failing to you receiving an alert.
@@ -406,6 +438,7 @@ class AsyncClient(AbstractClient):
Args: Args:
uuid (str): Check's UUID. Defaults to "". uuid (str): Check's UUID. Defaults to "".
slug (str): Check's Slug. Defaults to "". slug (str): Check's Slug. Defaults to "".
data (str): Text data to append to this check. Defaults to "".
Raises: Raises:
HCAPIAuthError: Raised when status_code == 401 or 403 HCAPIAuthError: Raised when status_code == 401 or 403
@@ -420,11 +453,13 @@ class AsyncClient(AbstractClient):
Tuple[bool, str]: success (true or false) and the response text Tuple[bool, str]: success (true or false) and the response text
""" """
ping_url = self._get_ping_url(uuid, slug, "/fail") ping_url = self._get_ping_url(uuid, slug, "/fail")
response = self.check_ping_response(await self._client.get(ping_url)) response = self.check_ping_response(
await self._client.post(ping_url, content=data)
)
return (True if response.status_code == 200 else False, response.text) return (True if response.status_code == 200 else False, response.text)
async def exit_code_ping( async def exit_code_ping(
self, exit_code: int, uuid: str = "", slug: str = "" self, exit_code: int, uuid: str = "", slug: str = "", data: str = ""
) -> Tuple[bool, str]: ) -> Tuple[bool, str]:
"""Signals to Healthchecks.io that the job has failed. """Signals to Healthchecks.io that the job has failed.
@@ -442,6 +477,7 @@ class AsyncClient(AbstractClient):
exit_code (int): Exit code to sent, int from 0 to 255 exit_code (int): Exit code to sent, int from 0 to 255
uuid (str): Check's UUID. Defaults to "". uuid (str): Check's UUID. Defaults to "".
slug (str): Check's Slug. Defaults to "". slug (str): Check's Slug. Defaults to "".
data (str): Text data to append to this check. Defaults to "".
Raises: Raises:
HCAPIAuthError: Raised when status_code == 401 or 403 HCAPIAuthError: Raised when status_code == 401 or 403
@@ -456,5 +492,7 @@ class AsyncClient(AbstractClient):
Tuple[bool, str]: success (true or false) and the response text Tuple[bool, str]: success (true or false) and the response text
""" """
ping_url = self._get_ping_url(uuid, slug, f"/{exit_code}") ping_url = self._get_ping_url(uuid, slug, f"/{exit_code}")
response = self.check_ping_response(await self._client.get(ping_url)) response = self.check_ping_response(
await self._client.post(ping_url, content=data)
)
return (True if response.status_code == 200 else False, response.text) return (True if response.status_code == 200 else False, response.text)

View File

@@ -0,0 +1,166 @@
"""CheckTrap is a context manager to wrap around python code to communicate results to a Healthchecks check."""
from types import TracebackType
from typing import List
from typing import Optional
from typing import Type
from typing import Union
from .async_client import AsyncClient
from .exceptions import PingFailedError
from .exceptions import WrongClientError
from .sync_client import Client
class CheckTrap:
"""CheckTrap is a context manager to wrap around python code to communicate results to a Healthchecks check."""
def __init__(
self,
client: Union[Client, AsyncClient],
uuid: str = "",
slug: str = "",
suppress_exceptions: bool = False,
) -> None:
"""A context manager to wrap around python code to communicate results to a Healthchecks check.
Args:
client (Union[Client, AsyncClient]): healthchecks_io client, async or sync
uuid (str): uuid of the check. Defaults to "".
slug (str): slug of the check, exclusion wiht uuid. Defaults to "".
suppress_exceptions (bool): If true, do not raise any exceptions. Defaults to False.
Raises:
Exception: Raised if a slug and a uuid is passed
"""
if uuid == "" and slug == "":
raise Exception("Must pass a slug or an uuid")
self.client: Union[Client, AsyncClient] = client
self.uuid: str = uuid
self.slug: str = slug
self.log_lines: List[str] = list()
self.suppress_exceptions: bool = suppress_exceptions
def add_log(self, line: str) -> None:
"""Add a line to the context manager's log that is sent with the check.
Args:
line (str): String to add to the logs
"""
self.log_lines.append(line)
def __enter__(self) -> "CheckTrap":
"""Enter the context manager.
Sends a start ping to the check represented by self.uuid or self.slug.
Raises:
WrongClientError: Raised when using an AsyncClient with this as a sync client manager
PingFailedError: When a ping fails for any reason not handled by a custom exception
HCAPIAuthError: Raised when status_code == 401 or 403
HCAPIError: Raised when status_code is 5xx
CheckNotFoundError: Raised when status_code is 404 or response text has "not found" in it
BadAPIRequestError: Raised when status_code is 400, or if you pass a uuid and a slug, or if
pinging by a slug and do not have a ping key set
HCAPIRateLimitError: Raised when status code is 429 or response text has "rate limited" in it
NonUniqueSlugError: Raused when status code is 409.
Returns:
CheckTrap: self
"""
if isinstance(self.client, AsyncClient):
raise WrongClientError(
"You passed an AsyncClient, use this as an async context manager"
)
result = self.client.start_ping(uuid=self.uuid, slug=self.slug)
if not result[0]:
raise PingFailedError(result[1])
return self
def __exit__(
self,
exc_type: Optional[Type[BaseException]],
exc: Optional[BaseException],
traceback: Optional[TracebackType],
) -> Optional[bool]:
"""Exit the context manager.
If there is an exception, add it to any log lines and send a fail ping.
Otherwise, send a success ping with any log lines appended.
Args:
exc_type (Optional[Type[BaseException]]): [description]
exc (Optional[BaseException]): [description]
traceback (Optional[TracebackType]): [description]
Returns:
Optional[bool]: self.suppress_exceptions, if true will not raise any exceptions
"""
if exc_type is None:
self.client.success_ping(
self.uuid, self.slug, data="\n".join(self.log_lines)
)
else:
self.add_log(str(exc))
self.add_log(str(traceback))
self.client.fail_ping(self.uuid, self.slug, data="\n".join(self.log_lines))
return self.suppress_exceptions
async def __aenter__(self) -> "CheckTrap":
"""Enter the context manager.
Sends a start ping to the check represented by self.uuid or self.slug.
Raises:
WrongClientError: Raised when using an AsyncClient with this as a sync client manager
PingFailedError: When a ping fails for any reason not handled by a custom exception
HCAPIAuthError: Raised when status_code == 401 or 403
HCAPIError: Raised when status_code is 5xx
CheckNotFoundError: Raised when status_code is 404 or response text has "not found" in it
BadAPIRequestError: Raised when status_code is 400, or if you pass a uuid and a slug, or if
pinging by a slug and do not have a ping key set
HCAPIRateLimitError: Raised when status code is 429 or response text has "rate limited" in it
NonUniqueSlugError: Raused when status code is 409.
Returns:
CheckTrap: self
"""
if isinstance(self.client, Client):
raise WrongClientError(
"You passed a sync Client, use this as a regular context manager"
)
result = await self.client.start_ping(self.uuid, self.slug)
if not result[0]:
raise PingFailedError(result[1])
return self
async def __aexit__(
self,
exc_type: Optional[Type[BaseException]],
exc: Optional[BaseException],
traceback: Optional[TracebackType],
) -> Optional[bool]:
"""Exit the context manager.
If there is an exception, add it to any log lines and send a fail ping.
Otherwise, send a success ping with any log lines appended.
Args:
exc_type (Optional[Type[BaseException]]): [description]
exc (Optional[BaseException]): [description]
traceback (Optional[TracebackType]): [description]
Returns:
Optional[bool]: self.suppress_exceptions, if true will not raise any exceptions
"""
if exc_type is None:
# ignore typing, if we've gotten here we know its an async client
await self.client.success_ping( # type: ignore
self.uuid, self.slug, data="\n".join(self.log_lines)
)
else:
self.add_log(str(exc))
self.add_log(str(traceback))
await self.client.fail_ping( # type: ignore
self.uuid, self.slug, data="\n".join(self.log_lines)
)
return self.suppress_exceptions

View File

@@ -35,3 +35,15 @@ class NonUniqueSlugError(HCAPIError):
"""Thrown when the api returns a 409 when pinging.""" """Thrown when the api returns a 409 when pinging."""
... ...
class WrongClientError(HCAPIError):
"""Thrown when trying to use a CheckTrap with the wrong client type."""
...
class PingFailedError(HCAPIError):
"""Thrown when a ping fails."""
...

View File

@@ -1,8 +1,10 @@
"""An async healthchecks.io client.""" """An async healthchecks.io client."""
from types import TracebackType
from typing import Dict from typing import Dict
from typing import List from typing import List
from typing import Optional from typing import Optional
from typing import Tuple from typing import Tuple
from typing import Type
from httpx import Client as HTTPXClient from httpx import Client as HTTPXClient
@@ -50,6 +52,23 @@ class Client(AbstractClient):
self._client.headers["user-agent"] = f"py-healthchecks.io/{client_version}" self._client.headers["user-agent"] = f"py-healthchecks.io/{client_version}"
self._client.headers["Content-type"] = "application/json" self._client.headers["Content-type"] = "application/json"
def __enter__(self) -> "Client":
"""Context manager entrance.
Returns:
Client: returns this client as a context manager
"""
return self
def __exit__(
self,
exc_type: Optional[Type[BaseException]],
exc: Optional[BaseException],
traceback: Optional[TracebackType],
) -> None:
"""Context manager exit."""
self._finalizer_method()
def _finalizer_method(self) -> None: def _finalizer_method(self) -> None:
"""Closes the httpx client.""" """Closes the httpx client."""
self._client.close() self._client.close()
@@ -119,7 +138,7 @@ class Client(AbstractClient):
""" """
request_url = self._get_api_request_url("checks/") request_url = self._get_api_request_url("checks/")
response = self.check_response( response = self.check_response(
self._client.post(request_url, json=new_check.dict()) self._client.post(request_url, json=new_check.dict(exclude_none=True))
) )
return Check.from_api_result(response.json()) return Check.from_api_result(response.json())
@@ -144,7 +163,10 @@ class Client(AbstractClient):
""" """
request_url = self._get_api_request_url(f"checks/{uuid}") request_url = self._get_api_request_url(f"checks/{uuid}")
response = self.check_response( response = self.check_response(
self._client.post(request_url, json=update_check.dict(exclude_unset=True)) self._client.post(
request_url,
json=update_check.dict(exclude_unset=True, exclude_none=True),
)
) )
return Check.from_api_result(response.json()) return Check.from_api_result(response.json())
@@ -305,7 +327,9 @@ class Client(AbstractClient):
for key, item in response.json()["badges"].items() for key, item in response.json()["badges"].items()
} }
def success_ping(self, uuid: str = "", slug: str = "") -> Tuple[bool, str]: def success_ping(
self, uuid: str = "", slug: str = "", data: str = ""
) -> Tuple[bool, str]:
"""Signals to Healthchecks.io that a job has completed successfully. """Signals to Healthchecks.io that a job has completed successfully.
Can also be used to indicate a continuously running process is still running and healthy. Can also be used to indicate a continuously running process is still running and healthy.
@@ -321,6 +345,7 @@ class Client(AbstractClient):
Args: Args:
uuid (str): Check's UUID. Defaults to "". uuid (str): Check's UUID. Defaults to "".
slug (str): Check's Slug. Defaults to "". slug (str): Check's Slug. Defaults to "".
data (str): Text data to append to this check. Defaults to ""
Raises: Raises:
HCAPIAuthError: Raised when status_code == 401 or 403 HCAPIAuthError: Raised when status_code == 401 or 403
@@ -335,10 +360,12 @@ class Client(AbstractClient):
Tuple[bool, str]: success (true or false) and the response text Tuple[bool, str]: success (true or false) and the response text
""" """
ping_url = self._get_ping_url(uuid, slug, "") ping_url = self._get_ping_url(uuid, slug, "")
response = self.check_ping_response(self._client.get(ping_url)) response = self.check_ping_response(self._client.post(ping_url, content=data))
return (True if response.status_code == 200 else False, response.text) return (True if response.status_code == 200 else False, response.text)
def start_ping(self, uuid: str = "", slug: str = "") -> Tuple[bool, str]: def start_ping(
self, uuid: str = "", slug: str = "", data: str = ""
) -> Tuple[bool, str]:
"""Sends a "job has started!" message to Healthchecks.io. """Sends a "job has started!" message to Healthchecks.io.
Sending a "start" signal is optional, but it enables a few extra features: Sending a "start" signal is optional, but it enables a few extra features:
@@ -356,6 +383,7 @@ class Client(AbstractClient):
Args: Args:
uuid (str): Check's UUID. Defaults to "". uuid (str): Check's UUID. Defaults to "".
slug (str): Check's Slug. Defaults to "". slug (str): Check's Slug. Defaults to "".
data (str): Text data to append to this check. Defaults to ""
Raises: Raises:
HCAPIAuthError: Raised when status_code == 401 or 403 HCAPIAuthError: Raised when status_code == 401 or 403
@@ -370,10 +398,12 @@ class Client(AbstractClient):
Tuple[bool, str]: success (true or false) and the response text Tuple[bool, str]: success (true or false) and the response text
""" """
ping_url = self._get_ping_url(uuid, slug, "/start") ping_url = self._get_ping_url(uuid, slug, "/start")
response = self.check_ping_response(self._client.get(ping_url)) response = self.check_ping_response(self._client.post(ping_url, content=data))
return (True if response.status_code == 200 else False, response.text) return (True if response.status_code == 200 else False, response.text)
def fail_ping(self, uuid: str = "", slug: str = "") -> Tuple[bool, str]: def fail_ping(
self, uuid: str = "", slug: str = "", data: str = ""
) -> Tuple[bool, str]:
"""Signals to Healthchecks.io that the job has failed. """Signals to Healthchecks.io that the job has failed.
Actively signaling a failure minimizes the delay from your monitored service failing to you receiving an alert. Actively signaling a failure minimizes the delay from your monitored service failing to you receiving an alert.
@@ -389,6 +419,7 @@ class Client(AbstractClient):
Args: Args:
uuid (str): Check's UUID. Defaults to "". uuid (str): Check's UUID. Defaults to "".
slug (str): Check's Slug. Defaults to "". slug (str): Check's Slug. Defaults to "".
data (str): Text data to append to this check. Defaults to ""
Raises: Raises:
HCAPIAuthError: Raised when status_code == 401 or 403 HCAPIAuthError: Raised when status_code == 401 or 403
@@ -403,11 +434,11 @@ class Client(AbstractClient):
Tuple[bool, str]: success (true or false) and the response text Tuple[bool, str]: success (true or false) and the response text
""" """
ping_url = self._get_ping_url(uuid, slug, "/fail") ping_url = self._get_ping_url(uuid, slug, "/fail")
response = self.check_ping_response(self._client.get(ping_url)) response = self.check_ping_response(self._client.post(ping_url, content=data))
return (True if response.status_code == 200 else False, response.text) return (True if response.status_code == 200 else False, response.text)
def exit_code_ping( def exit_code_ping(
self, exit_code: int, uuid: str = "", slug: str = "" self, exit_code: int, uuid: str = "", slug: str = "", data: str = ""
) -> Tuple[bool, str]: ) -> Tuple[bool, str]:
"""Signals to Healthchecks.io that the job has failed. """Signals to Healthchecks.io that the job has failed.
@@ -425,6 +456,7 @@ class Client(AbstractClient):
exit_code (int): Exit code to sent, int from 0 to 255 exit_code (int): Exit code to sent, int from 0 to 255
uuid (str): Check's UUID. Defaults to "". uuid (str): Check's UUID. Defaults to "".
slug (str): Check's Slug. Defaults to "". slug (str): Check's Slug. Defaults to "".
data (str): Text data to append to this check. Defaults to ""
Raises: Raises:
HCAPIAuthError: Raised when status_code == 401 or 403 HCAPIAuthError: Raised when status_code == 401 or 403
@@ -439,5 +471,5 @@ class Client(AbstractClient):
Tuple[bool, str]: success (true or false) and the response text Tuple[bool, str]: success (true or false) and the response text
""" """
ping_url = self._get_ping_url(uuid, slug, f"/{exit_code}") ping_url = self._get_ping_url(uuid, slug, f"/{exit_code}")
response = self.check_ping_response(self._client.get(ping_url)) response = self.check_ping_response(self._client.post(ping_url, content=data))
return (True if response.status_code == 200 else False, response.text) return (True if response.status_code == 200 else False, response.text)

View File

@@ -38,7 +38,7 @@ class Check(BaseModel):
update_url: Optional[str] update_url: Optional[str]
pause_url: Optional[str] pause_url: Optional[str]
channels: Optional[str] channels: Optional[str]
timeout: int timeout: Optional[int]
uuid: Optional[str] uuid: Optional[str]
@validator("uuid", always=True) @validator("uuid", always=True)
@@ -65,11 +65,11 @@ class Check(BaseModel):
class CheckCreate(BaseModel): class CheckCreate(BaseModel):
"""Pydantic object for creating a check.""" """Pydantic object for creating a check."""
name: Optional[str] = Field(..., description="Name of the check") name: Optional[str] = Field("", description="Name of the check")
tags: Optional[str] = Field( tags: Optional[str] = Field(
..., description="String separated list of tags to apply" "", description="String separated list of tags to apply"
) )
desc: Optional[str] = Field(..., description="Description of the check") desc: Optional[str] = Field("", description="Description of the check")
timeout: Optional[int] = Field( timeout: Optional[int] = Field(
86400, 86400,
description="The expected period of this check in seconds.", description="The expected period of this check in seconds.",
@@ -83,7 +83,7 @@ class CheckCreate(BaseModel):
lte=31536000, lte=31536000,
) )
schedule: Optional[str] = Field( schedule: Optional[str] = Field(
"* * * * *", None,
description="A cron expression defining this check's schedule. " description="A cron expression defining this check's schedule. "
"If you specify both timeout and schedule parameters, " "If you specify both timeout and schedule parameters, "
"Healthchecks.io will create a Cron check and ignore the " "Healthchecks.io will create a Cron check and ignore the "

View File

@@ -14,6 +14,42 @@ from healthchecks_io.client.exceptions import HCAPIAuthError
from healthchecks_io.client.exceptions import HCAPIError from healthchecks_io.client.exceptions import HCAPIError
@pytest.mark.asyncio
@pytest.mark.respx
async def test_acreate_check_200_context_manager(
fake_check_api_result, respx_mock, test_async_client
):
checks_url = urljoin(test_async_client._api_url, "checks/")
respx_mock.post(checks_url).mock(
return_value=Response(
status_code=200,
json={
"channels": "",
"desc": "",
"grace": 60,
"last_ping": None,
"n_pings": 0,
"name": "Backups",
"slug": "backups",
"next_ping": None,
"manual_resume": False,
"methods": "",
"pause_url": "https://healthchecks.io/api/v1/checks/f618072a-7bde-4eee-af63-71a77c5723bc/pause",
"ping_url": "https://hc-ping.com/f618072a-7bde-4eee-af63-71a77c5723bc",
"status": "new",
"tags": "prod www",
"timeout": 3600,
"update_url": "https://healthchecks.io/api/v1/checks/f618072a-7bde-4eee-af63-71a77c5723bc",
},
)
)
async with test_async_client as test_client:
check = await test_client.create_check(
CheckCreate(name="test", tags="test", desc="test")
)
assert check.name == "Backups"
@pytest.mark.asyncio @pytest.mark.asyncio
@pytest.mark.respx @pytest.mark.respx
async def test_acreate_check_200(fake_check_api_result, respx_mock, test_async_client): async def test_acreate_check_200(fake_check_api_result, respx_mock, test_async_client):
@@ -357,9 +393,9 @@ ping_test_parameters = [
@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_success_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.get(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)

View File

@@ -0,0 +1,97 @@
from urllib.parse import urljoin
import pytest
import respx
from httpx import Client as HTTPXClient
from httpx import Response
from healthchecks_io import CheckCreate
from healthchecks_io import CheckTrap
from healthchecks_io import CheckUpdate
from healthchecks_io import PingFailedError
from healthchecks_io import WrongClientError
@pytest.mark.respx
def test_check_trap_sync(respx_mock, test_client):
start_url = urljoin(test_client._ping_url, "test/start")
respx_mock.post(start_url).mock(return_value=Response(status_code=200, text="OK"))
success_url = urljoin(test_client._ping_url, "test")
respx_mock.post(success_url).mock(return_value=Response(status_code=200, text="OK"))
with CheckTrap(test_client, uuid="test") as ct:
pass
@pytest.mark.respx
def test_check_trap_sync_failed_ping(respx_mock, test_client):
start_url = urljoin(test_client._ping_url, "test/start")
respx_mock.post(start_url).mock(return_value=Response(status_code=444, text="OK"))
with pytest.raises(PingFailedError):
with CheckTrap(test_client, uuid="test") as ct:
pass
@pytest.mark.respx
def test_check_trap_sync_exception(respx_mock, test_client):
start_url = urljoin(test_client._ping_url, "test/start")
respx_mock.post(start_url).mock(return_value=Response(status_code=200, text="OK"))
fail_url = urljoin(test_client._ping_url, "test/fail")
respx_mock.post(fail_url).mock(return_value=Response(status_code=200, text="OK"))
with pytest.raises(Exception):
with CheckTrap(test_client, uuid="test") as ct:
raise Exception("Exception")
@pytest.mark.asyncio
@pytest.mark.respx
async def test_check_trap_async(respx_mock, test_async_client):
start_url = urljoin(test_async_client._ping_url, "test/start")
respx_mock.post(start_url).mock(return_value=Response(status_code=200, text="OK"))
success_url = urljoin(test_async_client._ping_url, "test")
respx_mock.post(success_url).mock(return_value=Response(status_code=200, text="OK"))
async with CheckTrap(test_async_client, uuid="test") as ct:
pass
@pytest.mark.asyncio
@pytest.mark.respx
async def test_check_trap_async_failed_ping(respx_mock, test_async_client):
start_url = urljoin(test_async_client._ping_url, "test/start")
respx_mock.post(start_url).mock(return_value=Response(status_code=444, text="OK"))
with pytest.raises(PingFailedError):
async with CheckTrap(test_async_client, uuid="test") as ct:
pass
@pytest.mark.asyncio
@pytest.mark.respx
async def test_check_trap_async_exception(respx_mock, test_async_client):
start_url = urljoin(test_async_client._ping_url, "test/start")
respx_mock.post(start_url).mock(return_value=Response(status_code=200, text="OK"))
fail_url = urljoin(test_async_client._ping_url, "test/fail")
respx_mock.post(fail_url).mock(return_value=Response(status_code=200, text="OK"))
with pytest.raises(Exception):
async with CheckTrap(test_async_client, uuid="test") as ct:
raise Exception("Exception")
@pytest.mark.asyncio
async def test_check_trap_wrong_client_error(test_client, test_async_client):
with pytest.raises(WrongClientError):
async with CheckTrap(test_client, uuid="test") as ct:
pass
with pytest.raises(WrongClientError):
with CheckTrap(test_async_client, uuid="test") as ct:
pass
def test_check_trap_no_uuid_or_slug(test_client):
with pytest.raises(Exception) as exc:
with CheckTrap(test_client):
pass
assert str(exc) == "Must pass a slug or an uuid"

View File

@@ -14,6 +14,39 @@ from healthchecks_io.client.exceptions import HCAPIAuthError
from healthchecks_io.client.exceptions import HCAPIError from healthchecks_io.client.exceptions import HCAPIError
@pytest.mark.respx
def test_create_check_200_context_manager(
fake_check_api_result, respx_mock, test_client
):
checks_url = urljoin(test_client._api_url, "checks/")
respx_mock.post(checks_url).mock(
return_value=Response(
status_code=200,
json={
"channels": "",
"desc": "",
"grace": 60,
"last_ping": None,
"n_pings": 0,
"name": "Backups",
"slug": "backups",
"next_ping": None,
"manual_resume": False,
"methods": "",
"pause_url": "https://healthchecks.io/api/v1/checks/f618072a-7bde-4eee-af63-71a77c5723bc/pause",
"ping_url": "https://hc-ping.com/f618072a-7bde-4eee-af63-71a77c5723bc",
"status": "new",
"tags": "prod www",
"timeout": 3600,
"update_url": "https://healthchecks.io/api/v1/checks/f618072a-7bde-4eee-af63-71a77c5723bc",
},
)
)
with test_client as tc:
check = tc.create_check(CheckCreate(name="test", tags="test", desc="test"))
assert check.name == "Backups"
@pytest.mark.respx @pytest.mark.respx
def test_create_check_200(fake_check_api_result, respx_mock, test_client): def test_create_check_200(fake_check_api_result, respx_mock, test_client):
checks_url = urljoin(test_client._api_url, "checks/") checks_url = urljoin(test_client._api_url, "checks/")
@@ -325,7 +358,7 @@ 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.get(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)