@@ -69,7 +69,7 @@ def _toml_dict_factory(data: List[Tuple[str, Any]]) -> Dict[str, Any]:
6969 return {
7070 _toml_key (key ): _toml_value (key , value )
7171 for key , value in data
72- if value is not None
72+ if value is not None and value != []
7373 }
7474
7575
@@ -392,8 +392,9 @@ class Pylock:
392392 lock_version : Version
393393 environments : Optional [List [Marker ]]
394394 requires_python : Optional [SpecifierSet ]
395- # (not supported) extras: List[str] = []
396- # (not supported) dependency_groups: List[str] = []
395+ extras : List [str ]
396+ dependency_groups : List [str ]
397+ default_groups : List [str ]
397398 created_by : str
398399 packages : List [Package ]
399400 # (not supported) tool: Optional[Dict[str, Any]]
@@ -419,6 +420,9 @@ def from_dict(cls, d: Dict[str, Any]) -> "Self":
419420 return cls (
420421 lock_version = _get_required_as (d , str , Version , "lock-version" ),
421422 environments = _get_list_as (d , str , Marker , "environments" ),
423+ extras = _get_list (d , str , "extras" ) or [],
424+ dependency_groups = _get_list (d , str , "dependency-groups" ) or [],
425+ default_groups = _get_list (d , str , "default-groups" ) or [],
422426 created_by = _get_required (d , str , "created-by" ),
423427 requires_python = _get_as (d , str , SpecifierSet , "requires-python" ),
424428 packages = _get_required_list_of_objects (d , Package , "packages" ),
0 commit comments