yapcad.package package
Subpackages
- yapcad.package.analysis package
- Submodules
- yapcad.package.analysis.base module
AnalysisAdapterAnalysisPlanAnalysisPlan.acceptanceAnalysisPlan.attachmentsAnalysisPlan.backendAnalysisPlan.backend_optionsAnalysisPlan.boundary_conditionsAnalysisPlan.descriptionAnalysisPlan.executionAnalysisPlan.geometryAnalysisPlan.kindAnalysisPlan.loadsAnalysisPlan.materialsAnalysisPlan.metadataAnalysisPlan.nameAnalysisPlan.normalized_backendAnalysisPlan.plan_idAnalysisPlan.raw
AnalysisResultExecutionConfigavailable_backends()get_backend()load_plan()register_backend()
- yapcad.package.analysis.calculix module
- yapcad.package.analysis.cli module
- yapcad.package.analysis.face_naming module
- yapcad.package.analysis.fenics module
- yapcad.package.analysis.gmsh_mesher module
GmshMesherMeshHintsMeshHints.element_sizeMeshHints.min_element_sizeMeshHints.max_element_sizeMeshHints.algorithm_2dMeshHints.algorithm_3dMeshHints.element_orderMeshHints.optimizeMeshHints.optimize_netgenMeshHints.refinement_fieldsMeshHints.algorithm_2dMeshHints.algorithm_3dMeshHints.element_orderMeshHints.element_sizeMeshHints.max_element_sizeMeshHints.min_element_sizeMeshHints.optimizeMeshHints.optimize_netgenMeshHints.refinement_fields
PhysicalGroupgmsh_available()mesh_solid()require_gmsh()
- Module contents
AnalysisAdapterAnalysisPlanAnalysisPlan.acceptanceAnalysisPlan.attachmentsAnalysisPlan.backendAnalysisPlan.backend_optionsAnalysisPlan.boundary_conditionsAnalysisPlan.descriptionAnalysisPlan.executionAnalysisPlan.geometryAnalysisPlan.kindAnalysisPlan.loadsAnalysisPlan.materialsAnalysisPlan.metadataAnalysisPlan.nameAnalysisPlan.normalized_backendAnalysisPlan.plan_idAnalysisPlan.raw
AnalysisResultByAreaSelectorByNormalSelectorByPositionSelectorCombinedSelectorExecutionConfigFaceInfoFaceNamerFaceSelectorGmshMesherMeshHintsMeshHints.element_sizeMeshHints.min_element_sizeMeshHints.max_element_sizeMeshHints.algorithm_2dMeshHints.algorithm_3dMeshHints.element_orderMeshHints.optimizeMeshHints.optimize_netgenMeshHints.refinement_fieldsMeshHints.algorithm_2dMeshHints.algorithm_3dMeshHints.element_orderMeshHints.element_sizeMeshHints.max_element_sizeMeshHints.min_element_sizeMeshHints.optimizeMeshHints.optimize_netgenMeshHints.refinement_fields
PhysicalGroupavailable_backends()back_faces()bottom_faces()faces_at_z_max()faces_at_z_min()front_faces()get_backend()gmsh_available()largest_face()left_faces()load_plan()mesh_solid()register_backend()right_faces()smallest_face()top_faces()
Submodules
yapcad.package.core module
Core .ycpkg packaging helpers.
- class yapcad.package.core.PackageManifest(root: ~pathlib.Path, data: ~typing.Dict[str, ~typing.Any] = <factory>, manifest_name: str = 'manifest.yaml')[source]
Bases:
objectWrapper around the manifest document.
- get_material(material_id: str) Dict[str, Any] | None[source]
Get a specific material definition by ID.
- classmethod load(package_path: Path | str) PackageManifest[source]
- yapcad.package.core.add_geometry_file(manifest: PackageManifest, source: Path | str, *, dest_relative: str | None = None, purpose: str | None = None, category: str = 'derived', overwrite: bool = False, metadata: Dict[str, Any] | None = None) Dict[str, Any][source]
Copy an external geometry file (e.g., STEP/STL) into the package and record it.
- Parameters:
manifest – Loaded manifest wrapper.
source – Path to the external file that should be bundled.
dest_relative – Optional relative destination path inside the package root. Defaults to
geometry/derived/<source.name>.purpose – Optional description stored alongside the entry.
category – Manifest section to update. Supported:
"derived"(default),"attachments".overwrite – Allow replacing an existing file at the target location.
metadata – Additional key/value pairs merged into the manifest entry.
- Returns:
The manifest entry dictionary that was inserted.
- yapcad.package.core.create_package_from_entities(entities: Sequence[list], target_dir: Path | str, *, name: str, version: str, description: str | None = None, author: str | None = None, units: str | None = None, materials: Dict[str, Dict[str, Any]] | None = None, generator: Dict[str, Any] | None = None, overwrite: bool = False, hash_algorithm: str = 'sha256') PackageManifest[source]
- yapcad.package.core.load_geometry(manifest: PackageManifest) List[list][source]
yapcad.package.validator module
Validation utilities for .ycpkg packages.
yapcad.package.viewer module
Interactive viewer for yapCAD .ycpkg packages.
Module contents
Public API for yapCAD .ycpkg package workflows.
- class yapcad.package.AnalysisAdapter[source]
Bases:
ABCBase class for solver adapters.
- abstractmethod run(manifest, plan: AnalysisPlan, workspace: Path, **kwargs: Any) AnalysisResult[source]
Execute the plan and return an
AnalysisResult.
- class yapcad.package.AnalysisPlan(plan_id: str, kind: str, backend: str, name: str | None = None, description: str | None = None, geometry: ~typing.Dict[str, ~typing.Any] = <factory>, materials: ~typing.Dict[str, ~typing.Any] = <factory>, loads: ~typing.List[~typing.Dict[str, ~typing.Any]] = <factory>, boundary_conditions: ~typing.List[~typing.Dict[str, ~typing.Any]] = <factory>, acceptance: ~typing.Dict[str, ~typing.Any] = <factory>, backend_options: ~typing.Dict[str, ~typing.Any] = <factory>, execution: ~yapcad.package.analysis.base.ExecutionConfig = <factory>, attachments: ~typing.List[~typing.Dict[str, ~typing.Any]] = <factory>, metadata: ~typing.Dict[str, ~typing.Any] = <factory>, raw: ~typing.Dict[str, ~typing.Any] = <factory>)[source]
Bases:
objectRepresentation of a validation/analysis plan loaded from YAML.
- execution: ExecutionConfig
- class yapcad.package.AnalysisResult(plan_id: str, status: str, metrics: ~typing.Dict[str, ~typing.Any] = <factory>, summary: ~typing.Dict[str, ~typing.Any] = <factory>, artifacts: ~typing.List[~typing.Dict[str, ~typing.Any]] = <factory>, summary_path: ~pathlib.Path | None = None, backend: str | None = None, timestamp: str | None = None, notes: str | None = None)[source]
Bases:
objectContainer for results emitted by analysis adapters.
- class yapcad.package.ExecutionConfig(mode: str = 'local', command: str | None = None, transport: str | None = None, host: str | None = None, workdir: str | None = None, env: ~typing.Dict[str, str] = <factory>, options: ~typing.Dict[str, ~typing.Any] = <factory>, license: ~typing.Dict[str, ~typing.Any] = <factory>)[source]
Bases:
objectExecution context for an analysis plan.
- class yapcad.package.PackageManifest(root: ~pathlib.Path, data: ~typing.Dict[str, ~typing.Any] = <factory>, manifest_name: str = 'manifest.yaml')[source]
Bases:
objectWrapper around the manifest document.
- get_material(material_id: str) Dict[str, Any] | None[source]
Get a specific material definition by ID.
- classmethod load(package_path: Path | str) PackageManifest[source]
- yapcad.package.add_geometry_file(manifest: PackageManifest, source: Path | str, *, dest_relative: str | None = None, purpose: str | None = None, category: str = 'derived', overwrite: bool = False, metadata: Dict[str, Any] | None = None) Dict[str, Any][source]
Copy an external geometry file (e.g., STEP/STL) into the package and record it.
- Parameters:
manifest – Loaded manifest wrapper.
source – Path to the external file that should be bundled.
dest_relative – Optional relative destination path inside the package root. Defaults to
geometry/derived/<source.name>.purpose – Optional description stored alongside the entry.
category – Manifest section to update. Supported:
"derived"(default),"attachments".overwrite – Allow replacing an existing file at the target location.
metadata – Additional key/value pairs merged into the manifest entry.
- Returns:
The manifest entry dictionary that was inserted.
- yapcad.package.analyze_package(package_path: Path | str, plan_path: Path | str, *, status: str = 'pending') Path[source]
Record analysis metadata for
plan_pathinsidepackage_path.This helper prepares the results directory, writes a
summary.jsonplaceholder, and updates the manifestvalidation.resultsblock.
- yapcad.package.create_package_from_entities(entities: Sequence[list], target_dir: Path | str, *, name: str, version: str, description: str | None = None, author: str | None = None, units: str | None = None, materials: Dict[str, Dict[str, Any]] | None = None, generator: Dict[str, Any] | None = None, overwrite: bool = False, hash_algorithm: str = 'sha256') PackageManifest[source]
- yapcad.package.load_analysis_plan(path: Path | str) AnalysisPlan
Load a YAML analysis plan and return the normalised
AnalysisPlan.
- yapcad.package.load_geometry(manifest: PackageManifest) List[list][source]