1818)
1919from  wsgiref .simple_server  import  make_server , WSGIRequestHandler , WSGIServer 
2020
21- from  packaging .version  import  Version 
2221
2322from  .openmetrics  import  exposition  as  openmetrics 
2423from  .registry  import  CollectorRegistry , REGISTRY 
25- from  .utils  import  floatToGoString 
24+ from  .utils  import  floatToGoString ,  parse_version 
2625
2726__all__  =  (
2827    'CONTENT_TYPE_LATEST' ,
@@ -346,7 +345,7 @@ def choose_encoder(accept_header: str) -> Tuple[Callable[[CollectorRegistry], by
346345            # mimetype. 
347346            if  not  version :
348347                return  (partial (openmetrics .generate_latest , escaping = openmetrics .UNDERSCORES , version = "1.0.0" ), openmetrics .CONTENT_TYPE_LATEST )
349-             if  version  and  Version (version ) >=  Version ( '1.0.0' ):
348+             if  version  and  parse_version (version ) >=  ( 1 ,  0 ,  0 ):
350349                return  (partial (openmetrics .generate_latest , escaping = escaping , version = version ),
351350                        f'application/openmetrics-text; version={ version }   +  str (escaping ))
352351        elif  accepted .split (';' )[0 ].strip () ==  'text/plain' :
@@ -355,7 +354,7 @@ def choose_encoder(accept_header: str) -> Tuple[Callable[[CollectorRegistry], by
355354            escaping  =  _get_escaping (toks )
356355            # Only return an escaping header if we have a good version and 
357356            # mimetype. 
358-             if  version  and  Version (version ) >=  Version ( '1.0.0' ):
357+             if  version  and  parse_version (version ) >=  ( 1 ,  0 ,  0 ):
359358                return  (partial (generate_latest , escaping = escaping ),
360359                        CONTENT_TYPE_LATEST  +  '; escaping='  +  str (escaping ))
361360    return  generate_latest , CONTENT_TYPE_PLAIN_0_0_4 
0 commit comments