-
Notifications
You must be signed in to change notification settings - Fork 287
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Jeremy lig 4589 lightlypathregex pip (#1501)
partially closes lig-4589 - generate new specs with v4 config and lightlyPathRegex for future proofing
- Loading branch information
1 parent
c19c475
commit 9bcf6d5
Showing
10 changed files
with
552 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
92 changes: 92 additions & 0 deletions
92
lightly/openapi_generated/swagger_client/models/selection_config_v4.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
# coding: utf-8 | ||
|
||
""" | ||
Lightly API | ||
Lightly.ai enables you to do self-supervised learning in an easy and intuitive way. The lightly.ai OpenAPI spec defines how one can interact with our REST API to unleash the full potential of lightly.ai # noqa: E501 | ||
The version of the OpenAPI document: 1.0.0 | ||
Contact: [email protected] | ||
Generated by OpenAPI Generator (https://openapi-generator.tech) | ||
Do not edit the class manually. | ||
""" | ||
|
||
|
||
from __future__ import annotations | ||
import pprint | ||
import re # noqa: F401 | ||
import json | ||
|
||
|
||
from typing import List, Optional, Union | ||
from pydantic import Extra, BaseModel, Field, confloat, conint, conlist, constr | ||
from lightly.openapi_generated.swagger_client.models.selection_config_v4_entry import SelectionConfigV4Entry | ||
|
||
class SelectionConfigV4(BaseModel): | ||
""" | ||
SelectionConfigV4 | ||
""" | ||
n_samples: Optional[conint(strict=True, ge=-1)] = Field(None, alias="nSamples") | ||
proportion_samples: Optional[Union[confloat(le=1.0, ge=0.0, strict=True), conint(le=1, ge=0, strict=True)]] = Field(None, alias="proportionSamples") | ||
strategies: conlist(SelectionConfigV4Entry, min_items=1) = Field(...) | ||
lightly_path_regex: Optional[constr(strict=True, min_length=1)] = Field(None, alias="lightlyPathRegex", description="The Lightly Path Regex to extract information from filenames for metadata balancing and more. Docs are coming soon.") | ||
__properties = ["nSamples", "proportionSamples", "strategies", "lightlyPathRegex"] | ||
|
||
class Config: | ||
"""Pydantic configuration""" | ||
allow_population_by_field_name = True | ||
validate_assignment = True | ||
use_enum_values = True | ||
extra = Extra.forbid | ||
|
||
def to_str(self, by_alias: bool = False) -> str: | ||
"""Returns the string representation of the model""" | ||
return pprint.pformat(self.dict(by_alias=by_alias)) | ||
|
||
def to_json(self, by_alias: bool = False) -> str: | ||
"""Returns the JSON representation of the model""" | ||
return json.dumps(self.to_dict(by_alias=by_alias)) | ||
|
||
@classmethod | ||
def from_json(cls, json_str: str) -> SelectionConfigV4: | ||
"""Create an instance of SelectionConfigV4 from a JSON string""" | ||
return cls.from_dict(json.loads(json_str)) | ||
|
||
def to_dict(self, by_alias: bool = False): | ||
"""Returns the dictionary representation of the model""" | ||
_dict = self.dict(by_alias=by_alias, | ||
exclude={ | ||
}, | ||
exclude_none=True) | ||
# override the default output from pydantic by calling `to_dict()` of each item in strategies (list) | ||
_items = [] | ||
if self.strategies: | ||
for _item in self.strategies: | ||
if _item: | ||
_items.append(_item.to_dict(by_alias=by_alias)) | ||
_dict['strategies' if by_alias else 'strategies'] = _items | ||
return _dict | ||
|
||
@classmethod | ||
def from_dict(cls, obj: dict) -> SelectionConfigV4: | ||
"""Create an instance of SelectionConfigV4 from a dict""" | ||
if obj is None: | ||
return None | ||
|
||
if not isinstance(obj, dict): | ||
return SelectionConfigV4.parse_obj(obj) | ||
|
||
# raise errors for additional fields in the input | ||
for _key in obj.keys(): | ||
if _key not in cls.__properties: | ||
raise ValueError("Error due to additional fields (not defined in SelectionConfigV4) in the input: " + str(obj)) | ||
|
||
_obj = SelectionConfigV4.parse_obj({ | ||
"n_samples": obj.get("nSamples"), | ||
"proportion_samples": obj.get("proportionSamples"), | ||
"strategies": [SelectionConfigV4Entry.from_dict(_item) for _item in obj.get("strategies")] if obj.get("strategies") is not None else None, | ||
"lightly_path_regex": obj.get("lightlyPathRegex") | ||
}) | ||
return _obj | ||
|
88 changes: 88 additions & 0 deletions
88
lightly/openapi_generated/swagger_client/models/selection_config_v4_all_of.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
# coding: utf-8 | ||
|
||
""" | ||
Lightly API | ||
Lightly.ai enables you to do self-supervised learning in an easy and intuitive way. The lightly.ai OpenAPI spec defines how one can interact with our REST API to unleash the full potential of lightly.ai # noqa: E501 | ||
The version of the OpenAPI document: 1.0.0 | ||
Contact: [email protected] | ||
Generated by OpenAPI Generator (https://openapi-generator.tech) | ||
Do not edit the class manually. | ||
""" | ||
|
||
|
||
from __future__ import annotations | ||
import pprint | ||
import re # noqa: F401 | ||
import json | ||
|
||
|
||
from typing import List, Optional | ||
from pydantic import Extra, BaseModel, Field, conlist, constr | ||
from lightly.openapi_generated.swagger_client.models.selection_config_v4_entry import SelectionConfigV4Entry | ||
|
||
class SelectionConfigV4AllOf(BaseModel): | ||
""" | ||
SelectionConfigV4AllOf | ||
""" | ||
strategies: conlist(SelectionConfigV4Entry, min_items=1) = Field(...) | ||
lightly_path_regex: Optional[constr(strict=True, min_length=1)] = Field(None, alias="lightlyPathRegex", description="The Lightly Path Regex to extract information from filenames for metadata balancing and more. Docs are coming soon.") | ||
__properties = ["strategies", "lightlyPathRegex"] | ||
|
||
class Config: | ||
"""Pydantic configuration""" | ||
allow_population_by_field_name = True | ||
validate_assignment = True | ||
use_enum_values = True | ||
extra = Extra.forbid | ||
|
||
def to_str(self, by_alias: bool = False) -> str: | ||
"""Returns the string representation of the model""" | ||
return pprint.pformat(self.dict(by_alias=by_alias)) | ||
|
||
def to_json(self, by_alias: bool = False) -> str: | ||
"""Returns the JSON representation of the model""" | ||
return json.dumps(self.to_dict(by_alias=by_alias)) | ||
|
||
@classmethod | ||
def from_json(cls, json_str: str) -> SelectionConfigV4AllOf: | ||
"""Create an instance of SelectionConfigV4AllOf from a JSON string""" | ||
return cls.from_dict(json.loads(json_str)) | ||
|
||
def to_dict(self, by_alias: bool = False): | ||
"""Returns the dictionary representation of the model""" | ||
_dict = self.dict(by_alias=by_alias, | ||
exclude={ | ||
}, | ||
exclude_none=True) | ||
# override the default output from pydantic by calling `to_dict()` of each item in strategies (list) | ||
_items = [] | ||
if self.strategies: | ||
for _item in self.strategies: | ||
if _item: | ||
_items.append(_item.to_dict(by_alias=by_alias)) | ||
_dict['strategies' if by_alias else 'strategies'] = _items | ||
return _dict | ||
|
||
@classmethod | ||
def from_dict(cls, obj: dict) -> SelectionConfigV4AllOf: | ||
"""Create an instance of SelectionConfigV4AllOf from a dict""" | ||
if obj is None: | ||
return None | ||
|
||
if not isinstance(obj, dict): | ||
return SelectionConfigV4AllOf.parse_obj(obj) | ||
|
||
# raise errors for additional fields in the input | ||
for _key in obj.keys(): | ||
if _key not in cls.__properties: | ||
raise ValueError("Error due to additional fields (not defined in SelectionConfigV4AllOf) in the input: " + str(obj)) | ||
|
||
_obj = SelectionConfigV4AllOf.parse_obj({ | ||
"strategies": [SelectionConfigV4Entry.from_dict(_item) for _item in obj.get("strategies")] if obj.get("strategies") is not None else None, | ||
"lightly_path_regex": obj.get("lightlyPathRegex") | ||
}) | ||
return _obj | ||
|
88 changes: 88 additions & 0 deletions
88
lightly/openapi_generated/swagger_client/models/selection_config_v4_entry.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
# coding: utf-8 | ||
|
||
""" | ||
Lightly API | ||
Lightly.ai enables you to do self-supervised learning in an easy and intuitive way. The lightly.ai OpenAPI spec defines how one can interact with our REST API to unleash the full potential of lightly.ai # noqa: E501 | ||
The version of the OpenAPI document: 1.0.0 | ||
Contact: [email protected] | ||
Generated by OpenAPI Generator (https://openapi-generator.tech) | ||
Do not edit the class manually. | ||
""" | ||
|
||
|
||
from __future__ import annotations | ||
import pprint | ||
import re # noqa: F401 | ||
import json | ||
|
||
|
||
|
||
from pydantic import Extra, BaseModel, Field | ||
from lightly.openapi_generated.swagger_client.models.selection_config_v4_entry_input import SelectionConfigV4EntryInput | ||
from lightly.openapi_generated.swagger_client.models.selection_config_v4_entry_strategy import SelectionConfigV4EntryStrategy | ||
|
||
class SelectionConfigV4Entry(BaseModel): | ||
""" | ||
SelectionConfigV4Entry | ||
""" | ||
input: SelectionConfigV4EntryInput = Field(...) | ||
strategy: SelectionConfigV4EntryStrategy = Field(...) | ||
__properties = ["input", "strategy"] | ||
|
||
class Config: | ||
"""Pydantic configuration""" | ||
allow_population_by_field_name = True | ||
validate_assignment = True | ||
use_enum_values = True | ||
extra = Extra.forbid | ||
|
||
def to_str(self, by_alias: bool = False) -> str: | ||
"""Returns the string representation of the model""" | ||
return pprint.pformat(self.dict(by_alias=by_alias)) | ||
|
||
def to_json(self, by_alias: bool = False) -> str: | ||
"""Returns the JSON representation of the model""" | ||
return json.dumps(self.to_dict(by_alias=by_alias)) | ||
|
||
@classmethod | ||
def from_json(cls, json_str: str) -> SelectionConfigV4Entry: | ||
"""Create an instance of SelectionConfigV4Entry from a JSON string""" | ||
return cls.from_dict(json.loads(json_str)) | ||
|
||
def to_dict(self, by_alias: bool = False): | ||
"""Returns the dictionary representation of the model""" | ||
_dict = self.dict(by_alias=by_alias, | ||
exclude={ | ||
}, | ||
exclude_none=True) | ||
# override the default output from pydantic by calling `to_dict()` of input | ||
if self.input: | ||
_dict['input' if by_alias else 'input'] = self.input.to_dict(by_alias=by_alias) | ||
# override the default output from pydantic by calling `to_dict()` of strategy | ||
if self.strategy: | ||
_dict['strategy' if by_alias else 'strategy'] = self.strategy.to_dict(by_alias=by_alias) | ||
return _dict | ||
|
||
@classmethod | ||
def from_dict(cls, obj: dict) -> SelectionConfigV4Entry: | ||
"""Create an instance of SelectionConfigV4Entry from a dict""" | ||
if obj is None: | ||
return None | ||
|
||
if not isinstance(obj, dict): | ||
return SelectionConfigV4Entry.parse_obj(obj) | ||
|
||
# raise errors for additional fields in the input | ||
for _key in obj.keys(): | ||
if _key not in cls.__properties: | ||
raise ValueError("Error due to additional fields (not defined in SelectionConfigV4Entry) in the input: " + str(obj)) | ||
|
||
_obj = SelectionConfigV4Entry.parse_obj({ | ||
"input": SelectionConfigV4EntryInput.from_dict(obj.get("input")) if obj.get("input") is not None else None, | ||
"strategy": SelectionConfigV4EntryStrategy.from_dict(obj.get("strategy")) if obj.get("strategy") is not None else None | ||
}) | ||
return _obj | ||
|
Oops, something went wrong.