Skip to content

Commit f627afb

Browse files
committed
docs(spm): strip _ from generated models
Otherwise docs can't be generated for them
1 parent 7f61e6f commit f627afb

File tree

3 files changed

+28
-23
lines changed

3 files changed

+28
-23
lines changed

cryosparc/api.pyi

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ from .models.notification import Notification
6868
from .models.preview import DeleteProjectPreview, DeleteWorkspacePreview
6969
from .models.project import GenerateIntermediateResultsSettings, Project, ProjectSymlink
7070
from .models.scheduler_lane import SchedulerLane
71-
from .models.scheduler_target import SchedulerTarget, SchedulerTarget_Cluster_, SchedulerTarget_Node_
71+
from .models.scheduler_target import SchedulerTarget, SchedulerTargetCluster, SchedulerTargetNode
7272
from .models.services import LoggingService
7373
from .models.session import (
7474
DataManagementStats,
@@ -690,7 +690,7 @@ class ResourcesAPI(APINamespace):
690690
691691
"""
692692
...
693-
def find_nodes(self, *, lane: Optional[str] = None) -> List[SchedulerTarget_Node_]:
693+
def find_nodes(self, *, lane: Optional[str] = None) -> List[SchedulerTargetNode]:
694694
"""
695695
Finds a list of targets with type "node" that are registered with the master scheduler.
696696
These correspond to discrete worker hostname accessible over SSH.
@@ -699,24 +699,24 @@ class ResourcesAPI(APINamespace):
699699
lane (str, optional): Defaults to None
700700
701701
Returns:
702-
List[SchedulerTarget_Node_]: List of targets with type 'node'
702+
List[SchedulerTargetNode]: List of targets with type 'node'
703703
704704
"""
705705
...
706-
def add_node(self, body: SchedulerTarget_Node_) -> SchedulerTarget_Node_:
706+
def add_node(self, body: SchedulerTargetNode) -> SchedulerTargetNode:
707707
"""
708708
Adds a node or updates an existing node. Updates existing node if they share
709709
share the same name.
710710
711711
Args:
712-
body (SchedulerTarget_Node_):
712+
body (SchedulerTargetNode):
713713
714714
Returns:
715-
SchedulerTarget_Node_: Successful Response
715+
SchedulerTargetNode: Successful Response
716716
717717
"""
718718
...
719-
def find_clusters(self, *, lane: Optional[str] = None) -> List[SchedulerTarget_Cluster_]:
719+
def find_clusters(self, *, lane: Optional[str] = None) -> List[SchedulerTargetCluster]:
720720
"""
721721
Finds a list of targets with type "cluster" that are registered with the master scheduler.
722722
These are multi-node clusters managed by workflow managers like SLURM or PBS and are accessible via submission script.
@@ -725,20 +725,20 @@ class ResourcesAPI(APINamespace):
725725
lane (str, optional): Defaults to None
726726
727727
Returns:
728-
List[SchedulerTarget_Cluster_]: List of targets with type 'cluster'
728+
List[SchedulerTargetCluster]: List of targets with type 'cluster'
729729
730730
"""
731731
...
732-
def add_cluster(self, body: SchedulerTarget_Cluster_) -> SchedulerTarget_Cluster_:
732+
def add_cluster(self, body: SchedulerTargetCluster) -> SchedulerTargetCluster:
733733
"""
734734
Adds a cluster or updates an existing cluster. Updates existing cluster if
735735
they share share the same name.
736736
737737
Args:
738-
body (SchedulerTarget_Cluster_):
738+
body (SchedulerTargetCluster):
739739
740740
Returns:
741-
SchedulerTarget_Cluster_: Successful Response
741+
SchedulerTargetCluster: Successful Response
742742
743743
"""
744744
...
@@ -766,15 +766,15 @@ class ResourcesAPI(APINamespace):
766766
767767
"""
768768
...
769-
def find_node(self, name: str, /) -> SchedulerTarget_Node_:
769+
def find_node(self, name: str, /) -> SchedulerTargetNode:
770770
"""
771771
Finds a node with a given name.
772772
773773
Args:
774774
name (str):
775775
776776
Returns:
777-
SchedulerTarget_Node_: Successful Response
777+
SchedulerTargetNode: Successful Response
778778
779779
"""
780780
...
@@ -787,15 +787,15 @@ class ResourcesAPI(APINamespace):
787787
788788
"""
789789
...
790-
def find_cluster(self, name: str, /) -> SchedulerTarget_Cluster_:
790+
def find_cluster(self, name: str, /) -> SchedulerTargetCluster:
791791
"""
792792
Finds a cluster with a given name.
793793
794794
Args:
795795
name (str):
796796
797797
Returns:
798-
SchedulerTarget_Cluster_: Successful Response
798+
SchedulerTargetCluster: Successful Response
799799
800800
"""
801801
...
@@ -848,7 +848,7 @@ class ResourcesAPI(APINamespace):
848848
849849
"""
850850
...
851-
def update_node_lane(self, name: str, /, lane: str) -> SchedulerTarget_Node_:
851+
def update_node_lane(self, name: str, /, lane: str) -> SchedulerTargetNode:
852852
"""
853853
Changes the lane on the given target (assumed to exist). Target type must
854854
match lane type.
@@ -858,7 +858,7 @@ class ResourcesAPI(APINamespace):
858858
lane (str):
859859
860860
Returns:
861-
SchedulerTarget_Node_: Successful Response
861+
SchedulerTargetNode: Successful Response
862862
863863
"""
864864
...
@@ -882,7 +882,7 @@ class ResourcesAPI(APINamespace):
882882
883883
"""
884884
...
885-
def update_cluster_custom_vars(self, name: str, /, value: Dict[str, str]) -> SchedulerTarget_Cluster_:
885+
def update_cluster_custom_vars(self, name: str, /, value: Dict[str, str]) -> SchedulerTargetCluster:
886886
"""
887887
Changes the custom cluster variables on the given target (assumed to exist)
888888
@@ -891,7 +891,7 @@ class ResourcesAPI(APINamespace):
891891
value (Dict[str, str]):
892892
893893
Returns:
894-
SchedulerTarget_Cluster_: Successful Response
894+
SchedulerTargetCluster: Successful Response
895895
896896
"""
897897
...

cryosparc/models/scheduler_target.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ class SchedulerTarget(BaseModel):
159159
config: Union[Node, Cluster]
160160

161161

162-
class SchedulerTarget_Cluster_(BaseModel):
162+
class SchedulerTargetCluster(BaseModel):
163163
cache_path: Optional[str] = None
164164
"""
165165
Path the SSD cache scratch directory, if applicable.
@@ -200,7 +200,7 @@ class SchedulerTarget_Cluster_(BaseModel):
200200
config: Cluster
201201

202202

203-
class SchedulerTarget_Node_(BaseModel):
203+
class SchedulerTargetNode(BaseModel):
204204
cache_path: Optional[str] = None
205205
"""
206206
Path the SSD cache scratch directory, if applicable.

cryosparc/registry.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,13 @@ def model_for_ref(schema_ref: str) -> Optional[Type]:
102102
return
103103

104104
schema_name = components[3]
105-
if schema_name in REGISTERED_MODEL_CLASSES:
106-
return REGISTERED_MODEL_CLASSES[schema_name]
105+
106+
# remove underscores used to delimit type vars, which are excluded in models
107+
# generated from openapi.json (cannot generate docs for classes that end in `_`)
108+
clean_schema_name = schema_name.replace("_", "")
109+
110+
if clean_schema_name in REGISTERED_MODEL_CLASSES:
111+
return REGISTERED_MODEL_CLASSES[clean_schema_name]
107112
elif "_" in schema_name: # type var
108113
generic, var, *_ = schema_name.split("_")
109114
if generic in REGISTERED_MODEL_CLASSES and var in REGISTERED_MODEL_CLASSES:

0 commit comments

Comments
 (0)