@@ -401,18 +401,26 @@ def setup_extension(self, extname: str) -> None:
401401 logger .debug ('[app] setting up extension: %r' , extname )
402402 self .registry .load_extension (self , extname )
403403
404- def require_sphinx (self , version : str ) -> None :
404+ @staticmethod
405+ def require_sphinx (version : tuple [int , int ] | str ) -> None :
405406 """Check the Sphinx version if requested.
406407
407408 Compare *version* with the version of the running Sphinx, and abort the
408409 build when it is too old.
409410
410- :param version: The required version in the form of ``major.minor``.
411+ :param version: The required version in the form of ``major.minor`` or
412+ ``(major, minor)``.
411413
412414 .. versionadded:: 1.0
415+ .. versionchanged:: 7.1
416+ Type of *version* now allows ``(major, minor)`` form.
413417 """
414- if version > sphinx .__display_version__ [:3 ]:
415- raise VersionRequirementError (version )
418+ if isinstance (version , tuple ):
419+ major , minor = version
420+ else :
421+ major , minor = map (int , version .split ('.' )[:2 ])
422+ if (major , minor ) > sphinx .version_info [:2 ]:
423+ raise VersionRequirementError (f'{ major } .{ minor } ' )
416424
417425 # event interface
418426 def connect (self , event : str , callback : Callable , priority : int = 500 ) -> int :
0 commit comments