Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions doc/source/api/enum_types.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Enumeration data types
:toctree: _autosummary
:template: autosummary/no_methods_doc/class.rst.jinja2

ArrowType
BooleanOperationType
CutoffMaterialType
CutoffRuleType
Expand All @@ -23,7 +24,9 @@ Enumeration data types
LookUpTable3DInterpolationAlgorithm
LookUpTableColumnValueType
NodalDataType
OffsetType
PlyCutoffType
PlyGeometryExportFormat
PlyType
RosetteSelectionMethod
RosetteType
Expand Down
1 change: 1 addition & 0 deletions doc/source/api/internal.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ Internal objects
_tree_objects.base.CreatableTreeObject
_tree_objects.base.TreeObject
_tree_objects.base.TreeObjectBase
_tree_objects.base.ServerWrapper
_tree_objects.material.property_sets.wrapper.TC
_tree_objects.material.property_sets.wrapper.TV
_workflow._LocalWorkingDir
1,377 changes: 690 additions & 687 deletions poetry.lock

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,15 @@ numpy = ">=1.22"
grpcio-health-checking = ">=1.43"
packaging = ">=15.0"
typing-extensions = ">=4.5.0"
ansys-api-acp = "^0.1.dev7"
ansys-api-acp = "^0.1.dev9"
ansys-tools-path = ">=0"
ansys-tools-local-product-launcher = ">=0.1"
ansys-tools-filetransfer = ">=0.1"
pyvista = ">=0.42.0"

# Dependencies for the examples. Update also the 'dev' group when
# these are updated.
ansys-mapdl-core = { version = ">=0.62.1", optional = true }
ansys-mapdl-core = { version = ">=0.68.3", optional = true }
ansys-dpf-composites = { version = ">=0.3", optional = true }
ansys-dpf-core = { version = ">=0.8", optional = true}
ansys-mechanical-core = { version = ">=0.10.0", optional = true, python = "<3.12" }
Expand Down Expand Up @@ -78,7 +78,7 @@ pyvista = { version = ">=0.42.0", extras = ["jupyter", "trame"] }
# Repeat optional dependencies from the main group which are
# included in the 'examples' extra. This is done s.t. the install
# flag '--with=dev,test' will install all dependencies.
ansys-mapdl-core = ">=0.62.1"
ansys-mapdl-core = ">=0.68.3"
ansys-dpf-composites = { version = ">=0.3"}
ansys-dpf-core = { version = ">=0.8"}
ansys-mechanical-core = { version = ">=0.10.0", python = "<3.12" }
Expand Down
8 changes: 7 additions & 1 deletion src/ansys/acp/core/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
AnalysisPly,
AnalysisPlyElementalData,
AnalysisPlyNodalData,
ArrowType,
BooleanOperationType,
BooleanSelectionRule,
BooleanSelectionRuleElementalData,
Expand Down Expand Up @@ -92,13 +93,15 @@
ModelingPlyNodalData,
ModelNodalData,
NodalDataType,
OffsetType,
OrientedSelectionSet,
OrientedSelectionSetElementalData,
OrientedSelectionSetNodalData,
ParallelSelectionRule,
ParallelSelectionRuleElementalData,
ParallelSelectionRuleNodalData,
PlyCutoffType,
PlyGeometryExportFormat,
PlyType,
ProductionPly,
ProductionPlyElementalData,
Expand Down Expand Up @@ -144,6 +147,7 @@
"AnalysisPly",
"AnalysisPlyElementalData",
"AnalysisPlyNodalData",
"ArrowType",
"BooleanOperationType",
"BooleanSelectionRule",
"BooleanSelectionRuleElementalData",
Expand Down Expand Up @@ -180,6 +184,7 @@
"GeometricalSelectionRuleElementalData",
"GeometricalSelectionRuleNodalData",
"get_composite_post_processing_files",
"get_directions_plotter",
"get_dpf_unit_system",
"get_model_tree",
"IgnorableEntity",
Expand All @@ -204,13 +209,15 @@
"ModelingPlyNodalData",
"ModelNodalData",
"NodalDataType",
"OffsetType",
"OrientedSelectionSet",
"OrientedSelectionSetElementalData",
"OrientedSelectionSetNodalData",
"ParallelSelectionRule",
"ParallelSelectionRuleElementalData",
"ParallelSelectionRuleNodalData",
"PlyCutoffType",
"PlyGeometryExportFormat",
"PlyType",
"print_model",
"ProductionPly",
Expand Down Expand Up @@ -244,5 +251,4 @@
"VectorData",
"VirtualGeometry",
"VirtualGeometryDimension",
"get_directions_plotter",
]
8 changes: 6 additions & 2 deletions src/ansys/acp/core/_server/acp_instance.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@

from .._tree_objects import Model
from .._tree_objects._grpc_helpers.exceptions import wrap_grpc_errors
from .._tree_objects.base import ServerWrapper
from .._typing_helper import PATH as _PATH
from .common import ServerProtocol

Expand Down Expand Up @@ -158,15 +159,18 @@ def import_model(
:
The loaded ``Model`` instance.
"""
server_wrapper = ServerWrapper.from_acp_instance(self)
if format == "acp:h5":
if kwargs:
raise ValueError(
f"Parameters '{kwargs.keys()}' cannot be passed when "
f"loading a model with format '{format}'."
)
model = Model.from_file(path=path, channel=self._channel)
model = Model._from_file(path=path, server_wrapper=server_wrapper)
else:
model = Model.from_fe_file(path=path, channel=self._channel, format=format, **kwargs)
model = Model.from_fe_file(
path=path, server_wrapper=server_wrapper, format=format, **kwargs
)
if name is not None:
model.name = name
return model
Expand Down
6 changes: 6 additions & 0 deletions src/ansys/acp/core/_tree_objects/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
from .edge_set import EdgeSet
from .element_set import ElementSet, ElementSetElementalData, ElementSetNodalData
from .enums import (
ArrowType,
BooleanOperationType,
CutoffMaterialType,
CutoffRuleType,
Expand All @@ -55,7 +56,9 @@
LookUpTable3DInterpolationAlgorithm,
LookUpTableColumnValueType,
NodalDataType,
OffsetType,
PlyCutoffType,
PlyGeometryExportFormat,
PlyType,
RosetteSelectionMethod,
RosetteType,
Expand Down Expand Up @@ -118,6 +121,7 @@
"AnalysisPly",
"AnalysisPlyElementalData",
"AnalysisPlyNodalData",
"ArrowType",
"BooleanOperationType",
"BooleanSelectionRule",
"BooleanSelectionRuleElementalData",
Expand Down Expand Up @@ -170,13 +174,15 @@
"ModelingPlyNodalData",
"ModelNodalData",
"NodalDataType",
"OffsetType",
"OrientedSelectionSet",
"OrientedSelectionSetElementalData",
"OrientedSelectionSetNodalData",
"ParallelSelectionRule",
"ParallelSelectionRuleElementalData",
"ParallelSelectionRuleNodalData",
"PlyCutoffType",
"PlyGeometryExportFormat",
"PlyType",
"ProductionPly",
"ProductionPlyElementalData",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ def set_resourcepath_list(value: list[ResourcePath]) -> None:

self._set_resourcepath_list = set_resourcepath_list
self._object_constructor: Callable[[ResourcePath], ValueT] = (
lambda resource_path: _object_constructor(resource_path, _parent_object._channel)
lambda resource_path: _object_constructor(resource_path, _parent_object._server_wrapper)
)

def __len__(self) -> int:
Expand Down
36 changes: 18 additions & 18 deletions src/ansys/acp/core/_tree_objects/_grpc_helpers/mapping.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
from ..._utils.property_protocols import ReadOnlyProperty
from ..._utils.resource_paths import join as _rp_join
from .._object_cache import ObjectCacheMixin, constructor_with_cache
from ..base import CreatableTreeObject, TreeObject, TreeObjectBase
from ..base import CreatableTreeObject, ServerWrapper, TreeObject, TreeObjectBase
from ..enums import StatusType
from .exceptions import wrap_grpc_errors
from .property_helper import _exposed_grpc_property, _wrap_doc
Expand All @@ -60,13 +60,13 @@ class Mapping(ObjectCacheMixin, Generic[ValueT]):
def _initialize_with_cache(
cls,
*,
channel: Channel,
server_wrapper: ServerWrapper,
collection_path: CollectionPath,
stub: ReadableResourceStub,
object_constructor: Callable[[ObjectInfo, Channel | None], ValueT],
) -> Self:
return cls(
_channel=channel,
_server_wrapper=server_wrapper,
_collection_path=collection_path,
_stub=stub,
_object_constructor=object_constructor,
Expand All @@ -75,15 +75,15 @@ def _initialize_with_cache(
def __init__(
self,
*,
_channel: Channel,
_server_wrapper: ServerWrapper,
_collection_path: CollectionPath,
_stub: ReadableResourceStub,
_object_constructor: Callable[[ObjectInfo, Channel | None], ValueT],
) -> None:
self._collection_path = _collection_path
self._stub = _stub

self._channel = _channel
self._server_wrapper = _server_wrapper
self._object_constructor = _object_constructor

@staticmethod
Expand All @@ -97,7 +97,7 @@ def __iter__(self) -> Iterator[str]:

def __getitem__(self, key: str) -> ValueT:
obj_info = self._get_objectinfo_by_id(key)
return self._object_constructor(obj_info, self._channel)
return self._object_constructor(obj_info, self._server_wrapper)

def _get_objectinfo_list(self) -> list[ObjectInfo]:
with wrap_grpc_errors():
Expand All @@ -124,7 +124,7 @@ def _get_objectinfo_by_id(self, key: str) -> ObjectInfo:
def values(self) -> Iterator[ValueT]:
"""Return an iterator over the values of the mapping."""
return (
self._object_constructor(obj_info, self._channel)
self._object_constructor(obj_info, self._server_wrapper)
for obj_info in self._get_objectinfo_list()
)

Expand All @@ -133,7 +133,7 @@ def items(self) -> Iterator[tuple[str, ValueT]]:
return (
(
obj_info.info.id,
self._object_constructor(obj_info, self._channel),
self._object_constructor(obj_info, self._server_wrapper),
)
for obj_info in self._get_objectinfo_list()
)
Expand Down Expand Up @@ -179,13 +179,13 @@ class MutableMapping(Mapping[CreatableValueT]):
def _initialize_with_cache(
cls,
*,
channel: Channel,
server_wrapper: ServerWrapper,
collection_path: CollectionPath,
stub: EditableAndReadableResourceStub, # type: ignore # violates Liskov substitution
object_constructor: Callable[[ObjectInfo, Channel | None], CreatableValueT],
) -> Self:
return cls(
_channel=channel,
_server_wrapper=server_wrapper,
_collection_path=collection_path,
_stub=stub,
_object_constructor=object_constructor,
Expand All @@ -194,14 +194,14 @@ def _initialize_with_cache(
def __init__(
self,
*,
_channel: Channel,
_server_wrapper: ServerWrapper,
_collection_path: CollectionPath,
_stub: EditableAndReadableResourceStub,
_object_constructor: Callable[[ObjectInfo, Channel | None], CreatableValueT],
_object_constructor: Callable[[ObjectInfo, ServerWrapper | None], CreatableValueT],
) -> None:
self._collection_path = _collection_path
self._stub: EditableAndReadableResourceStub = _stub
self._channel = _channel
self._server_wrapper = _server_wrapper
self._object_constructor = _object_constructor

def __delitem__(self, key: str) -> None:
Expand Down Expand Up @@ -234,7 +234,7 @@ def popitem(self) -> CreatableValueT:
return self._pop_from_info(obj_info)

def _pop_from_info(self, object_info: ObjectInfo) -> CreatableValueT:
obj = self._object_constructor(object_info, self._channel)
obj = self._object_constructor(object_info, self._server_wrapper)
new_obj = obj.clone()
obj.delete()
return new_obj
Expand All @@ -257,12 +257,12 @@ def collection_property(self: ParentT) -> Mapping[ValueT]:
f"The object {self.name} must be up-to-date to access {object_class.__name__}."
)
return Mapping._initialize_with_cache(
channel=self._channel,
server_wrapper=self._server_wrapper,
collection_path=CollectionPath(
value=_rp_join(self._resource_path.value, object_class._COLLECTION_LABEL)
),
object_constructor=object_class._from_object_info,
stub=stub_class(channel=self._channel),
stub=stub_class(channel=self._server_wrapper.channel),
)

return _wrap_doc(_exposed_grpc_property(collection_property), doc=doc)
Expand Down Expand Up @@ -303,12 +303,12 @@ def define_mutable_mapping(

def collection_property(self: ParentT) -> MutableMapping[CreatableValueT]:
return MutableMapping._initialize_with_cache(
channel=self._channel,
server_wrapper=self._server_wrapper,
collection_path=CollectionPath(
value=_rp_join(self._resource_path.value, object_class._COLLECTION_LABEL)
),
object_constructor=object_class._from_object_info,
stub=stub_class(channel=self._channel),
stub=stub_class(channel=self._server_wrapper.channel),
)

return _wrap_doc(_exposed_grpc_property(collection_property), doc=doc)
Loading