8000 Update dependencies and version number · graphql-python/graphql-relay-py@fa854ca · GitHub
[go: up one dir, main page]

Skip to content

Commit fa854ca

Browse files
committed
Update dependencies and version number
1 parent 4d9288f commit fa854ca

File tree

6 files changed

+211
-96
lines changed

6 files changed

+211
-96
lines changed

.bumpversion.cfg

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[bumpversion]
2+
current_version = 3.0.0a1
3+
commit = False
4+
tag = False
5+
6+
[bumpversion:file:src/graphql/version.py]
7+
search = version = "{current_version}"
8+
replace = version = "{new_version}"
9+
10+
[bumpversion:file:pyproject.toml]
11+
search = version = "{current_version}"
12+
replace = version = "{new_version}"

poetry.lock

Lines changed: 59 additions & 27 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "graphql-relay"
3-
version = "3.0.0a0"
3+
version = "3.0.0a1"
44
description = """
55
Relay library for graphql-core-next"""
66
licese="MIT"
@@ -28,7 +28,7 @@ packages = [
2828

2929
[tool.poetry.dependencies]
3030
python = "^3.6"
31-
graphql-core-next = "^1.0.5"
31+
graphql-core = "^3.0.0a0"
3232

3333
[tool.poetry.dev-dependencies]
3434
pytest = "^5"
@@ -38,9 +38,10 @@ pytest-describe = ">=0.12"
3838
pyyaml = "^5.1"
3939
black = ">=19.3b0"
4040
flake8 = "^3.7"
41-
mypy = ">=0.711"
41+
mypy = ">=0.720"
4242
codecov = "^2"
4343
check-manifest = ">=0.39"
44+
bump2version = ">=0.5"
4445
tox = "^3.13"
4546

4647
[tool.black]

src/graphql_relay/version.py

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
1+
import re
12
from typing import NamedTuple
23

34
__all__ = ["version", "version_info", "version_js", "version_info_js"]
45

6+
version = "3.0.0a1"
7+
8+
version_js = "0.6.0"
9+
10+
11+
_re_version = re.compile(r"(\d+)\.(\d+)\.(\d+)(\D*)(\d*)")
12+
513

614
class VersionInfo(NamedTuple):
715
major: int
@@ -10,6 +18,23 @@ class VersionInfo(NamedTuple):
1018
releaselevel: str
1119
serial: int
1220

21+
@classmethod
22+
def from_str(cls, v: str) -> "VersionInfo":
23+
groups = _re_version.match(v).groups() # type: ignore
24+
major, minor, micro = map(int, groups[:3])
25+
level = (groups[3] or "")[:1]
26+
if level == "a":
27+
level = "alpha"
28+
elif level == "b":
29+
level = "beta"
30+
elif level in ("c", "r"):
31+
level = "candidate"
32+
else:
33+
level = "final"
34+
serial = groups[4]
35+
serial = int(serial) if serial else 0
36+
return cls(major, minor, micro, level, serial)
37+
1338
def __str__(self):
1439
v = f"{self.major}.{self.minor}.{self.micro}"
1540
level = self.releaselevel
@@ -18,10 +43,6 @@ def __str__(self):
1843
return v
1944

2045

21-
version = "3.0.0a0"
22-
23-
version_info = VersionInfo(3, 0, 0, "alpha", 0)
24-
25-
version_js = "0.5.0"
46+
version_info = VersionInfo.from_str(version)
2647

27-
version_info_js = VersionInfo(0, 5, 0, "final", 0)
48+
version_info_js = VersionInfo.from_str(version_js)

tests/test_version.py

Lines changed: 100 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,107 @@
11
import re
22

33
import graphql_relay
4-
from graphql_relay import version, version_info, version_js, version_info_js
4+
from graphql_relay.version import (
5+
VersionInfo,
6+
version,
7+
version_info,
8+
version_js,
9+
version_info_js,
10+
)
511

612
_re_version = re.compile(r"(\d+)\.(\d+)\.(\d+)(?:(a|b|c)(\d+))?$")
713

814

9-
def test_module_version():
10-
assert graphql_relay.__version__ == version
11-
assert graphql_relay.version == version
12-
13-
14-
def test_module_version_info():
15-
assert graphql_relay.__version_info__ == version_info
16-
assert graphql_relay.version_info == version_info
17-
18-
19-
def test_module_version_js():
20-
assert graphql_relay.__version_js__ == version_js
21-
assert graphql_relay.version_js == version_js
22-
23-
24-
def test_module_version_info_js():
25-
assert graphql_relay.__version_info_js__ == version_info_js
26-
assert graphql_relay.version_info_js == version_info_js
27-
28-
29-
def test_version():
30-
assert isinstance(version, str)
31-
assert _re_version.match(version)
32-
33-
34-
def test_version_info():
35-
assert isinstance(version_info, tuple)
36-
assert str(version_info) == version
37-
groups = _re_version.match(version).groups()
38-
assert version_info.major == int(groups[0])
39-
assert version_info.minor == int(groups[1])
40-
assert version_info.micro == int(groups[2])
41-
if groups[3] is None:
42-
assert groups[4] is None
43-
else:
44-
assert version_info.releaselevel[:1] == groups[3]
45-
assert version_info.serial == int(groups[4])
46-
47-
48-
def test_version_js():
49-
assert isinstance(version_js, str)
50-
assert _re_version.match(version_js)
51-
52-
53-
def test_version_info_js():
54-
assert isinstance(version_info_js, tuple)
55-
assert str(version_info_js) == version_js
56-
groups = _re_version.match(version_js).groups()
57-
assert version_info_js.major == int(groups[0])
58-
assert version_info_js.minor == int(groups[1])
59-
assert version_info_js.micro == int(groups[2])
60-
if groups[3] is None:
61-
assert groups[4] is None
62-
else:
63-
assert version_info_js.releaselevel[:1] == groups[3]
64-
assert version_info_js.serial == int(groups[4])
15+
def describe_version():
16+
def describe_version_info_class():
17+
def create_version_info_from_fields():
18+
v = VersionInfo(1, 2, 3, "alpha", 4)
19+
assert v.major == 1
20+
assert v.minor == 2
21+
assert v.micro == 3
22+
assert v.releaselevel == "alpha"
23+
assert v.serial == 4
24+
25+
def create_version_info_from_str():
26+
v = VersionInfo.from_str("1.2.3")
27+
assert v.major == 1
28+
assert v.minor == 2
29+
assert v.micro == 3
30+
assert v.releaselevel == "final"
31+
assert v.serial == 0
32+
v = VersionInfo.from_str("1.2.3a4")
33+
assert v.major == 1
34+
assert v.minor == 2
35+
assert v.micro == 3
36+
assert v.releaselevel == "alpha"
37+
assert v.serial == 4
38+
v = VersionInfo.from_str("1.2.3beta4")
39+
assert v.major == 1
40+
assert v.minor == 2
41+
assert v.micro == 3
42+
assert v.releaselevel == "beta"
43+
assert v.serial == 4
44+
v = VersionInfo.from_str("12.34.56rc789")
45+
assert v.major == 12
46+
assert v.minor == 34
47+
assert v.micro == 56
48+
assert v.releaselevel == "candidate"
49+
assert v.serial == 789
50+
51+
def serialize_as_str():
52+
v = VersionInfo(1, 2, 3, "final", 0)
53+
assert str(v) == "1.2.3"
54+
v = VersionInfo(1, 2, 3, "alpha", 4)
55+
assert str(v) == "1.2.3a4"
56+
57+
def describe_graphql_core_version():
58+
def base_package_has_correct_version():
59+
assert graphql_relay.__version__ == version
60+
assert graphql_relay.version == version
61+
62+
def base_package_has_correct_version_info():
63+
assert graphql_relay.__version_info__ is version_info
64+
assert graphql_relay.version_info is version_info
65+
66+
def version_has_correct_format():
67+
assert isinstance(version, str)
68+
assert _re_version.match(version)
69+
70+
def version_info_has_correct_fields():
71+
assert isinstance(version_info, tuple)
72+
assert str(version_info) == version
73+
groups = _re_version.match(version).groups()
74+
assert version_info.major == int(groups[0])
75+
assert version_info.minor == int(groups[1])
76+
assert version_info.micro == int(groups[2])
77+
if groups[3] is None:
78+
assert groups[4] is None
79+
else:
80+
assert version_info.releaselevel[:1] == groups[3]
81+
assert version_info.serial == int(groups[4])
82+
83+
def describe_graphql_js_version():
84+
def base_package_has_correct_version_js():
85+
assert graphql_relay.__version_js__ == version_js
86+
assert graphql_relay.version_js == version_js
87+
88+
def base_package_has_correct_version_info_js():
89+
assert graphql_relay.__version_info_js__ is version_info_js
90+
assert graphql_relay.version_info_js is version_info_js
91+
92+
def version_js_has_correct_format():
93+
assert isinstance(version_js, str)
94+
assert _re_version.match(version_js)
95+
96+
def version_info_js_has_correct_fields():
97+
assert isinstance(version_info_js, tuple)
98+
assert str(version_info_js) == version_js
99+
groups = _re_version.match(version_js).groups()
100+
assert version_info_js.major == int(groups[0])
101+
assert version_info_js.minor == int(groups[1])
102+
assert version_info_js.micro == int(groups[2])
103+
if groups[3] is None:
104+
assert groups[4] is None
105+
else:
106+
assert version_info_js.releaselevel[:1] == groups[3]
107+
assert version_info_js.serial == int(groups[4])

tox.ini

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
[tox]
2-
envlist = py{36,37}, flake8, manifest
2+
envlist = py{36,37}, flake8, mypy, manifest
3+
4+
[testenv:black]
9725 5+
basepython = python3.7
6+
deps = black>=19.3b0
7+
commands =
8+
black src tests --check
39

410
[testenv:flake8]
511
basepython = python3.7
6-
deps = flake8>=3.7
12+
deps = flake8>=3.7,<4
713
commands =
814
flake8 src tests setup.py
915

1016
[testenv:mypy]
1117
basepython = python3.7
12-
deps = mypy>=0.711
18+
deps = mypy>=0.720
1319
commands =
1420
mypy src tests
1521

0 commit comments

Comments
 (0)
0