@@ -450,7 +450,7 @@ def name(cls): # pylint:disable=method-hidden
450
450
451
451
def set_version (self , version_str = None ):
452
452
if version_str is None :
453
- version_str = self ._new_version_str ()
453
+ version_str = self .versioneer ()
454
454
455
455
if self ._version_major is not None and self ._version_minor is not None :
456
456
# BentoML uses semantic versioning for BentoService distribution
@@ -466,22 +466,22 @@ def set_version(self, version_str=None):
466
466
self ._bento_service_version = version_str
467
467
return self ._bento_service_version
468
468
469
- def _new_version_str (self ):
469
+ def versioneer (self ):
470
470
"""
471
- Default new version string generator function
472
- User can override this function in their custom BentoService to get a customized
473
- version format
471
+ Function used to generate a new version string when saving an archive of this
472
+ user defined BentoService. User can also override this function to get a
473
+ customized version format
474
474
"""
475
- time_obj = datetime .now ()
476
- date_string = time_obj .strftime ("%Y_%m_%d" )
477
- random_hash = uuid .uuid4 ().hex [:8 ]
475
+ datetime_string = datetime .now ().strftime ("%Y%m%d%H%M%S" )
476
+ random_hash = uuid .uuid4 ().hex [:6 ].upper ()
478
477
479
- return date_string + "_" + random_hash
478
+ # Example output: '20191009135240_D246ED'
479
+ return datetime_string + "_" + random_hash
480
480
481
481
@property
482
482
def version (self ):
483
483
if self ._bento_service_version is None :
484
- self .set_version (self ._new_version_str ())
484
+ self .set_version (self .versioneer ())
485
485
486
486
return self ._bento_service_version
487
487
0 commit comments