Let us walk on the 3-isogeny graph
Loading...
Searching...
No Matches
Requirement Class Reference
Inheritance diagram for Requirement:
Collaboration diagram for Requirement:

Public Member Functions

 __init__ (self, requirement_string)
 
 __eq__ (self, other)
 
 __ne__ (self, other)
 
 __contains__ (self, item)
 
 __hash__ (self)
 
 __repr__ (self)
 
- Public Member Functions inherited from Requirement
str __str__ (self)
 

Static Public Member Functions

 parse (s)
 

Data Fields

 unsafe_name
 
 project_name
 
 key
 
 specs
 
 extras
 
 hashCmp
 
 url
 
 specifier
 
 marker
 
- Data Fields inherited from Requirement
 url
 
 specifier
 

Detailed Description

Definition at line 3171 of file __init__.py.

Constructor & Destructor Documentation

◆ __init__()

__init__ (   self,
  requirement_string 
)
DO NOT CALL THIS UNDOCUMENTED METHOD; use Requirement.parse()!

Reimplemented from Requirement.

Definition at line 3172 of file __init__.py.

3172 def __init__(self, requirement_string):
3173 """DO NOT CALL THIS UNDOCUMENTED METHOD; use Requirement.parse()!"""
3174 super(Requirement, self).__init__(requirement_string)
3175 self.unsafe_name = self.name
3176 project_name = safe_name(self.name)
3177 self.project_name, self.key = project_name, project_name.lower()
3178 self.specs = [(spec.operator, spec.version) for spec in self.specifier]
3179 self.extras = tuple(map(safe_extra, self.extras))
3180 self.hashCmp = (
3181 self.key,
3182 self.url,
3183 self.specifier,
3184 frozenset(self.extras),
3185 str(self.marker) if self.marker else None,
3186 )
3187 self.__hash = hash(self.hashCmp)
3188
for i

Referenced by Protocol.__init_subclass__().

Here is the caller graph for this function:

Member Function Documentation

◆ __contains__()

__contains__ (   self,
  item 
)

Definition at line 3195 of file __init__.py.

3195 def __contains__(self, item):
3196 if isinstance(item, Distribution):
3197 if item.key != self.key:
3198 return False
3199
3200 item = item.version
3201
3202 # Allow prereleases always in order to match the previous behavior of
3203 # this method. In the future this should be smarter and follow PEP 440
3204 # more accurately.
3205 return self.specifier.contains(item, prereleases=True)
3206

◆ __eq__()

__eq__ (   self,
  other 
)

Definition at line 3189 of file __init__.py.

3189 def __eq__(self, other):
3190 return isinstance(other, Requirement) and self.hashCmp == other.hashCmp
3191

Referenced by Version.__ge__(), Version.__gt__(), Version.__le__(), Version.__ne__(), Matcher.__ne__(), Timestamp.__ne__(), and HTTPHeaderDict.__ne__().

Here is the caller graph for this function:

◆ __hash__()

__hash__ (   self)

Definition at line 3207 of file __init__.py.

3207 def __hash__(self):
3208 return self.__hash
3209

Referenced by Style.__eq__(), and Style.__ne__().

Here is the caller graph for this function:

◆ __ne__()

__ne__ (   self,
  other 
)

Definition at line 3192 of file __init__.py.

3192 def __ne__(self, other):
3193 return not self == other
3194

◆ __repr__()

__repr__ (   self)

Reimplemented from Requirement.

Definition at line 3210 of file __init__.py.

3210 def __repr__(self):
3211 return "Requirement.parse(%r)" % str(self)
3212

◆ parse()

parse (   s)
static

Definition at line 3214 of file __init__.py.

3214 def parse(s):
3215 (req,) = parse_requirements(s)
3216 return req
3217
3218

Referenced by Style.normalize().

Here is the caller graph for this function:

Field Documentation

◆ extras

◆ hashCmp

hashCmp

Definition at line 3180 of file __init__.py.

◆ key

key

Definition at line 3177 of file __init__.py.

Referenced by Matcher.__eq__(), Matcher.__hash__(), and SelfCheckState.set().

◆ marker

marker

Definition at line 3185 of file __init__.py.

◆ project_name

◆ specifier

◆ specs

specs

Definition at line 3178 of file __init__.py.

◆ unsafe_name

unsafe_name

Definition at line 3175 of file __init__.py.

◆ url


The documentation for this class was generated from the following file: