Skip to content

Commit 1d17ce5

Browse files
committed
use PEP 484 typing hints where applicable
1 parent 99b6ec3 commit 1d17ce5

15 files changed

Lines changed: 83 additions & 38 deletions

File tree

src/pkgcraft/dep/cpv.pyx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ cdef class Cpv:
3131
pkgcraft.error.InvalidCpv: parsing failure: invalid cpv: >cat/pkg-1
3232
...
3333
"""
34-
def __init__(self, str s not None):
34+
def __init__(self, s: str):
3535
self.ptr = C.pkgcraft_cpv_new(s.encode())
3636
if self.ptr is NULL:
3737
raise InvalidCpv
3838

3939
@staticmethod
40-
def valid(str s not None, raised=False):
40+
def valid(s: str, raised=False):
4141
"""Determine if a string is a valid package Cpv.
4242
4343
>>> from pkgcraft.dep import Cpv
@@ -203,7 +203,7 @@ cdef class Cpv:
203203
"""
204204
return cstring_to_str(C.pkgcraft_cpv_cpn(self.ptr))
205205

206-
def matches(self, Restrict r not None):
206+
def matches(self, r: Restrict):
207207
"""Determine if a restriction matches a Cpv."""
208208
return C.pkgcraft_cpv_restrict_matches(self.ptr, r.ptr)
209209

@@ -220,8 +220,7 @@ cdef class Cpv:
220220
return C.pkgcraft_cpv_intersects(self.ptr, (<Cpv>other).ptr)
221221
elif isinstance(other, Dep):
222222
return C.pkgcraft_cpv_intersects_dep(self.ptr, (<Dep>other).ptr)
223-
else:
224-
raise TypeError(f"{other.__class__.__name__!r} unsupported type")
223+
raise TypeError(f"{other.__class__.__name__!r} unsupported type")
225224

226225
def __lt__(self, other):
227226
if isinstance(other, Cpv):

src/pkgcraft/dep/pkg.pyx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class Blocker(IntEnum):
2828
Weak = C.BLOCKER_WEAK
2929

3030
@staticmethod
31-
def from_str(str s not None):
31+
def from_str(s: str):
3232
blocker = C.pkgcraft_dep_blocker_from_str(s.encode())
3333
if blocker > 0:
3434
return Blocker(blocker)
@@ -49,7 +49,7 @@ class SlotOperator(IntEnum):
4949
Star = C.SLOT_OPERATOR_STAR
5050

5151
@staticmethod
52-
def from_str(str s not None):
52+
def from_str(s: str):
5353
slot_op = C.pkgcraft_dep_slot_op_from_str(s.encode())
5454
if slot_op > 0:
5555
return SlotOperator(slot_op)
@@ -113,7 +113,7 @@ cdef class Dep:
113113
self._use_deps = SENTINEL
114114
self.eapi = EAPI_LATEST
115115

116-
def __init__(self, str s not None, /, eapi=None):
116+
def __init__(self, s: str, /, eapi=None):
117117
if eapi is not None:
118118
self.eapi = Eapi._from_obj(eapi)
119119

@@ -129,12 +129,12 @@ cdef class Dep:
129129
return obj
130130

131131
@classmethod
132-
def cached(cls, str s not None, eapi=None):
132+
def cached(cls, s: str, eapi=None):
133133
"""Return a cached Dep if one exists, otherwise return a new instance."""
134134
return _cached_dep(cls, s, eapi)
135135

136136
@staticmethod
137-
def valid(str s not None, eapi=None, raised=False):
137+
def valid(s: str, eapi=None, raised=False):
138138
"""Determine if a string is a valid package dependency.
139139
140140
>>> from pkgcraft.dep import Dep
@@ -477,7 +477,7 @@ cdef class Dep:
477477
"""
478478
return cstring_to_str(C.pkgcraft_dep_cpv(self.ptr))
479479

480-
def matches(self, Restrict r not None):
480+
def matches(self, r: Restrict):
481481
"""Determine if a restriction matches a package dependency."""
482482
return C.pkgcraft_dep_restrict_matches(self.ptr, r.ptr)
483483

@@ -550,7 +550,7 @@ cdef class Dep:
550550
cdef class Cpn(Dep):
551551
"""Unversioned Package dependency."""
552552

553-
def __init__(self, str s not None):
553+
def __init__(self, s: str):
554554
self.ptr = C.pkgcraft_dep_new_cpn(s.encode())
555555
if self.ptr is NULL:
556556
raise InvalidDep

src/pkgcraft/dep/spec.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ cdef list iterable_to_dep_specs(object obj, C.DepSetKind kind):
4646
cdef class DepSpec:
4747
"""Dependency object."""
4848

49-
def __init__(self, str s not None, /, eapi=None, set=DepSetKind.Dependencies):
49+
def __init__(self, s: str, /, eapi=None, set=DepSetKind.Dependencies):
5050
cdef const C.Eapi *eapi_ptr = NULL
5151
cdef C.DepSetKind kind = DepSetKind(set)
5252

src/pkgcraft/dep/version.pyx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class Operator(IntEnum):
1616
Greater = C.OPERATOR_GREATER
1717

1818
@staticmethod
19-
def from_str(str s not None):
19+
def from_str(s: str):
2020
op = C.pkgcraft_version_op_from_str(s.encode())
2121
if op > 0:
2222
return Operator(op)
@@ -34,7 +34,7 @@ class Operator(IntEnum):
3434
cdef class Revision:
3535
"""Package revision."""
3636

37-
def __init__(self, str s not None):
37+
def __init__(self, s: str):
3838
self.ptr = C.pkgcraft_revision_new(s.encode())
3939
if self.ptr is NULL:
4040
raise InvalidVersion
@@ -126,13 +126,13 @@ cdef class Version:
126126
def __cinit__(self):
127127
self._revision = SENTINEL
128128

129-
def __init__(self, str s not None):
129+
def __init__(self, s: str):
130130
self.ptr = C.pkgcraft_version_new(s.encode())
131131
if self.ptr is NULL:
132132
raise InvalidVersion
133133

134134
@staticmethod
135-
def valid(str s not None, raised=False):
135+
def valid(s: str, raised=False):
136136
"""Determine if a string is a valid package version.
137137
138138
>>> from pkgcraft.dep import Version
@@ -204,7 +204,7 @@ cdef class Version:
204204
self._revision = Revision.from_ptr(ptr) if ptr is not NULL else None
205205
return self._revision
206206

207-
def intersects(self, Version other not None):
207+
def intersects(self, other: Version):
208208
"""Determine if two versions intersect.
209209
210210
>>> from pkgcraft.dep import Version

src/pkgcraft/eapi.pyx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ cdef get_eapis():
4141
return MappingProxyType(d)
4242

4343

44-
def eapi_range(str s not None):
44+
def eapi_range(s: str):
4545
"""Convert EAPI range into an ordered set of Eapi objects.
4646
4747
>>> from pkgcraft.eapi import *
@@ -114,7 +114,7 @@ cdef class Eapi(_IndirectInit):
114114
"""Try to convert an object to an Eapi object."""
115115
return Eapi._from_obj(obj)
116116

117-
def has(self, str s not None):
117+
def has(self, s: str):
118118
"""Check if an EAPI has a given feature.
119119
120120
See https://docs.rs/pkgcraft/latest/pkgcraft/eapi/enum.Feature.html for

src/pkgcraft/logging.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ cdef C.LogLevel convert_level(int level):
3434
return C.LOG_LEVEL_OFF
3535

3636

37-
def _pkgcraft_log_test(str message not None, int level):
37+
def _pkgcraft_log_test(message: str, int level):
3838
"""Inject log messages into pkgcraft to replay for test purposes."""
3939
C.pkgcraft_log_test(message.encode(), convert_level(level))
4040

src/pkgcraft/parse.pyx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,23 @@ from . cimport C
22
from .error import PkgcraftError
33

44

5-
def category(str s not None, raised=False):
5+
def category(s: str, raised=False):
66
"""Determine if a string is a valid category name."""
77
valid = C.pkgcraft_parse_category(s.encode()) is not NULL
88
if not valid and raised:
99
raise PkgcraftError
1010
return valid
1111

1212

13-
def package(str s not None, raised=False):
13+
def package(s: str, raised=False):
1414
"""Determine if a string is a valid package name."""
1515
valid = C.pkgcraft_parse_package(s.encode()) is not NULL
1616
if not valid and raised:
1717
raise PkgcraftError
1818
return valid
1919

2020

21-
def repo(str s not None, raised=False):
21+
def repo(s: str, raised=False):
2222
"""Determine if a string is a valid repo name."""
2323
valid = C.pkgcraft_parse_repo(s.encode()) is not NULL
2424
if not valid and raised:

src/pkgcraft/pkg/base.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ cdef class Pkg(_IndirectInit):
8484
self._version = self.cpv.version
8585
return self._version
8686

87-
def matches(self, Restrict r not None):
87+
def matches(self, r: Restrict):
8888
"""Determine if a restriction matches a package."""
8989
return C.pkgcraft_pkg_restrict_matches(self.ptr, r.ptr)
9090

src/pkgcraft/repo/base.pyx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,14 +74,14 @@ cdef class Repo:
7474
c_strs = C.pkgcraft_repo_categories(self.ptr, &length)
7575
return OrderedFrozenSet(CStringIter.create(c_strs, length))
7676

77-
def packages(self, str cat not None):
77+
def packages(self, cat: str):
7878
"""Get a repo's packages for a category."""
7979
cdef size_t length
8080
if parse.category(cat):
8181
c_strs = C.pkgcraft_repo_packages(self.ptr, cat.encode(), &length)
8282
return OrderedFrozenSet(CStringIter.create(c_strs, length))
8383

84-
def versions(self, str cat not None, str pkg not None):
84+
def versions(self, cat: str, pkg: str):
8585
"""Get a repo's versions for a package."""
8686
cdef size_t length
8787
if parse.category(cat) and parse.package(pkg):
@@ -175,7 +175,7 @@ cdef class Repo:
175175
cdef class _IterCpv:
176176
"""Iterator over the Cpv objects from a repo."""
177177

178-
def __cinit__(self, Repo r not None):
178+
def __cinit__(self, r: Repo):
179179
self.ptr = C.pkgcraft_repo_iter_cpv(r.ptr)
180180

181181
def __iter__(self):
@@ -193,7 +193,7 @@ cdef class _IterCpv:
193193
cdef class _Iter:
194194
"""Iterator over a repo."""
195195

196-
def __cinit__(self, Repo r not None):
196+
def __cinit__(self, r: Repo):
197197
self.ptr = C.pkgcraft_repo_iter(r.ptr)
198198

199199
def __iter__(self):
@@ -211,7 +211,7 @@ cdef class _Iter:
211211
cdef class _IterRestrict:
212212
"""Iterator that applies a restriction over a repo iterator."""
213213

214-
def __cinit__(self, Repo repo not None, object obj not None):
214+
def __cinit__(self, repo: Repo, object obj not None):
215215
cdef Restrict r = obj if isinstance(obj, Restrict) else Restrict(obj)
216216
self.ptr = C.pkgcraft_repo_iter_restrict(repo.ptr, r.ptr)
217217

src/pkgcraft/repo/set.pyx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,14 +73,14 @@ cdef class RepoSet:
7373
c_strs = C.pkgcraft_repo_set_categories(self.ptr, &length)
7474
return OrderedFrozenSet(CStringIter.create(c_strs, length))
7575

76-
def packages(self, str cat not None):
76+
def packages(self, cat: str):
7777
"""Get a repo set's packages for a category."""
7878
cdef size_t length
7979
if parse.category(cat):
8080
c_strs = C.pkgcraft_repo_set_packages(self.ptr, cat.encode(), &length)
8181
return OrderedFrozenSet(CStringIter.create(c_strs, length))
8282

83-
def versions(self, str cat not None, str pkg not None):
83+
def versions(self, cat: str, pkg: str):
8484
"""Get a repo set's versions for a package."""
8585
cdef size_t length
8686
if parse.category(cat) and parse.package(pkg):
@@ -261,7 +261,7 @@ cdef class RepoSet:
261261
cdef class _Iter:
262262
"""Iterator over a repo set, optionally applying a restriction."""
263263

264-
def __cinit__(self, RepoSet s not None, obj=None):
264+
def __cinit__(self, s: RepoSet, obj=None):
265265
cdef C.Restrict *restrict_ptr = NULL
266266
cdef Restrict r
267267

0 commit comments

Comments
 (0)