Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use pyproject.toml for tooling, add isort management of imports #35

Merged
merged 3 commits into from
Feb 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
# Commit that added in black formatting support
ee2a7fc0f095019cbfdaf4507686663e333dbaf5
# Commit for isort formatting changes
f72160eccc3863857557c98a44ec366ef73c9dc3
5 changes: 3 additions & 2 deletions octodns_cloudflare/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@
from collections import defaultdict
from copy import deepcopy
from logging import getLogger
from requests import Session
from time import sleep
from urllib.parse import urlsplit

from octodns.record import Create, Record, Update
from requests import Session

from octodns.provider import ProviderException, SupportsException
from octodns.provider.base import BaseProvider
from octodns.record import Create, Record, Update

__VERSION__ = '0.0.2'

Expand Down
14 changes: 14 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[tool.black]
line-length=80
skip-string-normalization=true
skip-magic-trailing-comma=true

[tool.isort]
profile = "black"
known_first_party="octodns_cloudflare"
known_octodns="octodns"
line_length=80
sections="FUTURE,STDLIB,THIRDPARTY,OCTODNS,FIRSTPARTY,LOCALFOLDER"

[tool.pytest.ini_options]
pythonpath = "."
51 changes: 26 additions & 25 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
@@ -1,40 +1,41 @@
# DO NOT EDIT THIS FILE DIRECTLY - use ./script/update-requirements to update
Pygments==2.13.0
attrs==22.1.0
black==22.10.0
bleach==5.0.1
build==0.8.0
Pygments==2.14.0
attrs==22.2.0
black==23.1.0
bleach==6.0.0
build==0.10.0
cffi==1.15.1
click==8.1.3
cmarkgfm==0.8.0
commonmark==0.9.1
coverage==6.5.0
cmarkgfm==2022.10.27
coverage==7.1.0
docutils==0.19
exceptiongroup==1.0.0rc9
importlib-metadata==5.0.0
iniconfig==1.1.1
exceptiongroup==1.1.0
importlib-metadata==6.0.0
iniconfig==2.0.0
isort==5.11.5
jaraco.classes==3.2.3
keyring==23.9.3
keyring==23.13.1
markdown-it-py==2.1.0
mdurl==0.1.2
more-itertools==9.0.0
mypy-extensions==0.4.3
packaging==21.3
pathspec==0.10.1
pep517==0.13.0
pkginfo==1.8.3
platformdirs==2.5.2
mypy-extensions==1.0.0
packaging==23.0
pathspec==0.11.0
pkginfo==1.9.6
platformdirs==2.6.2
pluggy==1.0.0
pycparser==2.21
pyflakes==2.5.0
pyparsing==3.0.9
pyflakes==3.0.1
pyproject_hooks==1.0.0
pytest-cov==4.0.0
pytest-network==0.0.1
pytest==7.2.0
readme-renderer==37.2
pytest==7.2.1
readme-renderer==37.3
requests-mock==1.10.0
requests-toolbelt==0.10.1
rfc3986==2.0.0
rich==12.6.0
rich==13.3.1
tomli==2.0.1
twine==4.0.1
twine==4.0.2
webencodings==0.5.1
zipp==3.10.0
zipp==3.12.0
8 changes: 4 additions & 4 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# DO NOT EDIT THIS FILE DIRECTLY - use ./script/update-requirements to update
PyYAML==6.0
certifi==2022.12.7
charset-normalizer==2.1.1
dnspython==2.2.1
charset-normalizer==3.0.1
dnspython==2.3.0
fqdn==1.5.1
idna==3.4
natsort==8.2.0
octodns==0.9.21
python-dateutil==2.8.2
requests==2.28.1
requests==2.28.2
six==1.16.0
urllib3==1.26.12
urllib3==1.26.14
2 changes: 0 additions & 2 deletions script/coverage
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ grep -r -I --line-number "# pragma: +no.*cover" $SOURCE_DIR && {
export CLOUDFLARE_EMAIL=
export CLOUDFLARE_TOKEN=

export PYTHONPATH=.:$PYTHONPATH

pytest \
--disable-network \
--cov-reset \
Expand Down
3 changes: 2 additions & 1 deletion script/format
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ SOURCES=$(find *.py octodns_* tests -name "*.py")

. env/bin/activate

black --line-length=80 --skip-string-normalization --skip-magic-trailing-comma "$@" $SOURCES
isort "$@" $SOURCES
black "$@" $SOURCES
2 changes: 0 additions & 2 deletions script/test
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,4 @@ fi
export CLOUDFLARE_EMAIL=
export CLOUDFLARE_TOKEN=

export PYTHONPATH=.:$PYTHONPATH

pytest --disable-network "$@"
5 changes: 4 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from os import environ
from setuptools import find_packages, setup
from subprocess import CalledProcessError, check_output

from setuptools import find_packages, setup


def descriptions():
with open('README.md') as fh:
Expand Down Expand Up @@ -43,6 +44,8 @@ def version():
+ (
'black>=22.3.0',
'build>=0.7.0',
# >=5.12.0 does not support python 3.7, we still do
'isort==5.11.5',
'pyflakes>=2.2.0',
'readme_renderer[md]>=26.0',
'twine>=3.4.2',
Expand Down
8 changes: 5 additions & 3 deletions tests/test_octodns_provider_cloudflare.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,17 @@
#

from os.path import dirname, join
from requests import HTTPError
from requests_mock import ANY, mock as requests_mock
from unittest import TestCase
from unittest.mock import Mock, call

from octodns.record import Create, Delete, Record, Update
from requests import HTTPError
from requests_mock import ANY
from requests_mock import mock as requests_mock

from octodns.provider import SupportsException
from octodns.provider.base import Plan
from octodns.provider.yaml import YamlProvider
from octodns.record import Create, Delete, Record, Update
from octodns.zone import Zone

from octodns_cloudflare import CloudflareProvider, CloudflareRateLimitError
Expand Down