embodied-schemas 0.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- embodied_schemas-0.6.0/LICENSE +21 -0
- embodied_schemas-0.6.0/PKG-INFO +174 -0
- embodied_schemas-0.6.0/README.md +141 -0
- embodied_schemas-0.6.0/pyproject.toml +80 -0
- embodied_schemas-0.6.0/setup.cfg +4 -0
- embodied_schemas-0.6.0/src/embodied_schemas/__init__.py +327 -0
- embodied_schemas-0.6.0/src/embodied_schemas/analysis.py +344 -0
- embodied_schemas-0.6.0/src/embodied_schemas/architectures.py +392 -0
- embodied_schemas-0.6.0/src/embodied_schemas/benchmarks.py +209 -0
- embodied_schemas-0.6.0/src/embodied_schemas/constraints.py +231 -0
- embodied_schemas-0.6.0/src/embodied_schemas/cpu.py +529 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/__init__.py +10 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/architectures/adas/simple_adas_v1.yaml +91 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/architectures/manipulation/pick_and_place_v1.yaml +87 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/architectures/perception/drone_perception_v1.yaml +122 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/batteries/amr_large.yaml +19 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/batteries/amr_small.yaml +19 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/batteries/automotive_compute.yaml +19 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/batteries/drone_medium.yaml +19 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/batteries/drone_small.yaml +19 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/batteries/handheld_industrial.yaml +19 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/batteries/humanoid_standard.yaml +19 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/batteries/quadruped_standard.yaml +19 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/batteries/wearable_medium.yaml +19 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/batteries/wearable_small.yaml +19 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/capability-tiers/automotive_ai.yaml +50 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/capability-tiers/embodied_ai.yaml +49 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/capability-tiers/industrial_edge.yaml +50 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/capability-tiers/micro_autonomy.yaml +50 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/capability-tiers/wearable_ai.yaml +49 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/chips/amd/hawk_point_8845hs.yaml +22 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/chips/amd/hawk_point_8945hs.yaml +22 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/chips/broadcom/bcm2711.yaml +29 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/chips/broadcom/bcm2712.yaml +29 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/chips/hailo/hailo_10h_chip.yaml +29 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/chips/hailo/hailo_8_chip.yaml +29 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/chips/hailo/hailo_8l_chip.yaml +29 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/chips/nvidia/orin_nano_soc.yaml +29 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/chips/nvidia/orin_nx_soc.yaml +29 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/chips/nvidia/orin_soc.yaml +29 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/chips/nvidia/tegra_x2_soc.yaml +29 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/chips/nvidia/thor_soc.yaml +29 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpu_architectures/amd/zen4.yaml +57 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpu_architectures/amd/zen5.yaml +58 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpu_architectures/arm/neoverse_v2.yaml +57 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpu_architectures/intel/arrow_lake.yaml +53 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpu_architectures/intel/granite_rapids.yaml +53 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpu_architectures/intel/raptor_lake.yaml +54 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/amd/epyc_9575f_sp5.yaml +76 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/amd/epyc_9654_sp5.yaml +75 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/amd/epyc_9754_sp5.yaml +75 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/amd/epyc_9965_sp5.yaml +75 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/amd/ryzen_5_9600x_am5.yaml +76 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/amd/ryzen_7_8845hs_bga.yaml +80 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/amd/ryzen_7_9700x_am5.yaml +76 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/amd/ryzen_9_7950x3d_am5.yaml +78 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/amd/ryzen_9_8945hs_bga.yaml +80 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/amd/ryzen_9_9950x_am5.yaml +77 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/amd/threadripper_7980x_str5.yaml +71 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/ampere/altra_max_m128_30.yaml +72 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/ampere/ampereone_a192_32x.yaml +74 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/apple/m4_max_bga.yaml +75 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/apple/m4_pro_bga.yaml +76 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/aws/graviton3.yaml +74 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/aws/graviton4.yaml +76 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/google/tensor_g4.yaml +86 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/intel/core_i3_14100_lga1700.yaml +73 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/intel/core_i5_14600k_lga1700.yaml +83 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/intel/core_i7_12700k_lga1700.yaml +83 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/intel/core_i7_14700k_lga1700.yaml +83 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/intel/core_i9_14900k_lga1700.yaml +86 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/intel/core_ultra_7_268v_bga.yaml +87 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/intel/core_ultra_9_285k_lga1851.yaml +87 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/intel/xeon_6766e_lga4710.yaml +76 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/intel/xeon_6980p_lga4710.yaml +78 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/intel/xeon_platinum_8592_lga4677.yaml +76 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/intel/xeon_w9_3595x_lga4677.yaml +76 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/nvidia/grace_cpu.yaml +77 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/nxp/imx8m_plus.yaml +81 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/nxp/imx93.yaml +74 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/qualcomm/snapdragon_8_gen3.yaml +85 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/qualcomm/snapdragon_x_elite_x1e_84_100_bga.yaml +77 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/samsung/exynos_2400.yaml +87 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/cpus/stmicro/stm32h7_480mhz.yaml +79 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/amd/mi250_oam_128gb_hbm2e.yaml +89 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/amd/mi250x_oam_128gb_hbm2e.yaml +89 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/amd/mi300x_oam_192gb_hbm3.yaml +90 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/amd/rx_7900_xtx_pcie_24gb_gddr6.yaml +110 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/intel/arc_a770_pcie_16gb_gddr6.yaml +102 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/nvidia/a100_sxm4_80gb_hbm2e.yaml +97 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/nvidia/b100_sxm5_192gb_hbm3e.yaml +100 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/nvidia/b200_sxm5_192gb_hbm3e.yaml +102 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/nvidia/h100_sxm5_80gb_hbm3.yaml +99 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/nvidia/h200_sxm5_141gb_hbm3e.yaml +98 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/nvidia/l40_pcie_48gb_gddr6.yaml +114 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/nvidia/orin_gpu_32gb_lpddr5.yaml +99 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/nvidia/orin_gpu_64gb_lpddr5.yaml +101 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/nvidia/orin_nano_gpu_8gb_lpddr5.yaml +100 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/nvidia/orin_nx_gpu_16gb_lpddr5.yaml +100 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/nvidia/orin_nx_gpu_8gb_lpddr5.yaml +99 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/nvidia/rtx_4080_pcie_16gb_gddr6x.yaml +116 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/nvidia/rtx_4090_pcie_24gb_gddr6x.yaml +116 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/nvidia/thor_gpu_128gb_lpddr5x.yaml +102 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/nvidia/tx2_gpu_8gb_lpddr4.yaml +99 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/nvidia/v100_sxm2_32gb_hbm2.yaml +94 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/gpus/qualcomm/cloud_ai_100_pcie_32gb_lpddr4x.yaml +100 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/hardware/amd/ryzen_7_8845hs_nuc.yaml +157 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/hardware/amd/ryzen_9_8945hs_nuc.yaml +163 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/hardware/hailo/hailo_10h_m2.yaml +135 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/hardware/hailo/hailo_8_m2.yaml +123 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/hardware/hailo/hailo_8l_m2.yaml +118 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/hardware/nvidia/jetson_agx_orin_32gb.yaml +138 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/hardware/nvidia/jetson_agx_orin_64gb.yaml +149 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/hardware/nvidia/jetson_agx_thor_128gb.yaml +164 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/hardware/nvidia/jetson_orin_nano_8gb.yaml +128 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/hardware/nvidia/jetson_orin_nx_16gb.yaml +136 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/hardware/nvidia/jetson_orin_nx_8gb.yaml +133 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/hardware/nvidia/jetson_tx2_8gb.yaml +125 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/hardware/raspberry_pi/raspberry_pi_4_8gb.yaml +122 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/hardware/raspberry_pi/raspberry_pi_5_8gb.yaml +125 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/mission-profiles/automotive_ai/highway_autopilot.yaml +31 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/mission-profiles/automotive_ai/urban_robotaxi.yaml +31 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/mission-profiles/embodied_ai/humanoid_manipulation.yaml +34 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/mission-profiles/embodied_ai/quadruped_patrol.yaml +34 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/mission-profiles/industrial_edge/cobot_assembly.yaml +31 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/mission-profiles/industrial_edge/warehouse_amr.yaml +34 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/mission-profiles/micro_autonomy/drone_delivery.yaml +34 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/mission-profiles/micro_autonomy/drone_inspection.yaml +37 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/mission-profiles/micro_autonomy/handheld_scanner.yaml +31 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/mission-profiles/wearable_ai/ar_glasses.yaml +31 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/mission-profiles/wearable_ai/health_monitoring.yaml +31 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/models/depth/depth_anything_v2_small.yaml +82 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/models/depth/midas_small.yaml +87 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/models/detection/rt_detr_l.yaml +76 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/models/detection/yolov8l.yaml +79 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/models/detection/yolov8m.yaml +81 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/models/detection/yolov8n.yaml +81 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/models/detection/yolov8s.yaml +82 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/models/pose/rtmpose_m.yaml +81 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/models/segmentation/sam_vit_b.yaml +72 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/models/segmentation/yolov8n_seg.yaml +73 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/npus/google/coral_tpu.yaml +63 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/npus/hailo/hailo_8.yaml +71 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/npus/intel/npu_meteor_lake.yaml +66 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/npus/qualcomm/hexagon_gen3.yaml +70 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/control/path_planner_astar.yaml +98 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/control/pid_controller.yaml +92 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/infrastructure/image_preprocessor.yaml +66 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/infrastructure/nms_postprocessor.yaml +75 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/perception/bytetrack.yaml +83 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/perception/depth_dac.yaml +64 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/perception/depth_midas_small.yaml +59 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/perception/depth_stereo_sgbm.yaml +78 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/perception/yolo_detector_l.yaml +66 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/perception/yolo_detector_m.yaml +65 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/perception/yolo_detector_n.yaml +113 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/perception/yolo_detector_s.yaml +105 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/perception/yolo_detector_x.yaml +66 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/reasoning/behavior_classifier.yaml +62 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/reasoning/collision_detector.yaml +68 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/reasoning/spatial_analyzer.yaml +57 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/reasoning/trajectory_predictor.yaml +58 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/state_estimation/kalman_filter_2d_bbox.yaml +75 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/state_estimation/kalman_filter_3d_object.yaml +76 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/operators/state_estimation/scene_graph_manager.yaml +79 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/sensors/cameras/arducam_imx477.yaml +59 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/sensors/depth/intel_realsense_d435i.yaml +68 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/sensors/depth/luxonis_oak_d_pro.yaml +59 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/sensors/lidar/livox_mid_360.yaml +59 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/usecases/amr/warehouse_navigation.yaml +117 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/usecases/drone/inspection.yaml +108 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/usecases/drone/obstacle_avoidance.yaml +109 -0
- embodied_schemas-0.6.0/src/embodied_schemas/data/usecases/quadruped/patrol.yaml +114 -0
- embodied_schemas-0.6.0/src/embodied_schemas/gpu.py +618 -0
- embodied_schemas-0.6.0/src/embodied_schemas/hardware.py +324 -0
- embodied_schemas-0.6.0/src/embodied_schemas/loaders.py +345 -0
- embodied_schemas-0.6.0/src/embodied_schemas/mission.py +349 -0
- embodied_schemas-0.6.0/src/embodied_schemas/models.py +210 -0
- embodied_schemas-0.6.0/src/embodied_schemas/npu.py +240 -0
- embodied_schemas-0.6.0/src/embodied_schemas/operators.py +159 -0
- embodied_schemas-0.6.0/src/embodied_schemas/registry.py +804 -0
- embodied_schemas-0.6.0/src/embodied_schemas/scheduling.py +363 -0
- embodied_schemas-0.6.0/src/embodied_schemas/sensors.py +207 -0
- embodied_schemas-0.6.0/src/embodied_schemas/usecases.py +178 -0
- embodied_schemas-0.6.0/src/embodied_schemas.egg-info/PKG-INFO +174 -0
- embodied_schemas-0.6.0/src/embodied_schemas.egg-info/SOURCES.txt +192 -0
- embodied_schemas-0.6.0/src/embodied_schemas.egg-info/dependency_links.txt +1 -0
- embodied_schemas-0.6.0/src/embodied_schemas.egg-info/requires.txt +9 -0
- embodied_schemas-0.6.0/src/embodied_schemas.egg-info/top_level.txt +1 -0
- embodied_schemas-0.6.0/tests/test_analysis_schemas.py +610 -0
- embodied_schemas-0.6.0/tests/test_cpu_integration.py +199 -0
- embodied_schemas-0.6.0/tests/test_gpu_integration.py +225 -0
- embodied_schemas-0.6.0/tests/test_mission_schemas.py +482 -0
- embodied_schemas-0.6.0/tests/test_schemas.py +482 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Branes-ai Team
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: embodied-schemas
|
|
3
|
+
Version: 0.6.0
|
|
4
|
+
Summary: Shared schemas and factual data for embodied AI hardware/software codesign
|
|
5
|
+
Author: Branes-ai Team
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/branes-ai/embodied-schemas
|
|
8
|
+
Project-URL: Repository, https://github.com/branes-ai/embodied-schemas
|
|
9
|
+
Project-URL: Issues, https://github.com/branes-ai/embodied-schemas/issues
|
|
10
|
+
Keywords: embodied-ai,edge-ai,hardware,codesign,robotics,drones,schemas
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Intended Audience :: Science/Research
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
20
|
+
Classifier: Topic :: System :: Hardware
|
|
21
|
+
Requires-Python: >=3.10
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
License-File: LICENSE
|
|
24
|
+
Requires-Dist: pydantic>=2.0.0
|
|
25
|
+
Requires-Dist: pyyaml>=6.0.0
|
|
26
|
+
Provides-Extra: dev
|
|
27
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
28
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
29
|
+
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
30
|
+
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
31
|
+
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
32
|
+
Dynamic: license-file
|
|
33
|
+
|
|
34
|
+
# Embodied Schemas
|
|
35
|
+
|
|
36
|
+
Shared Pydantic schemas and factual hardware/model data for embodied AI hardware/software codesign.
|
|
37
|
+
|
|
38
|
+
## Overview
|
|
39
|
+
|
|
40
|
+
This package provides:
|
|
41
|
+
|
|
42
|
+
1. **Pydantic Schema Models** - Type-safe data structures for hardware platforms, ML models, sensors, use cases, and benchmarks
|
|
43
|
+
2. **Factual Data Catalog** - YAML files with validated specifications for chips, dev kits, perception models, and sensors
|
|
44
|
+
3. **Registry API** - Unified access to query and filter the data catalog
|
|
45
|
+
|
|
46
|
+
## Installation
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
pip install embodied-schemas
|
|
50
|
+
|
|
51
|
+
# For development
|
|
52
|
+
pip install -e ".[dev]"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Usage
|
|
56
|
+
|
|
57
|
+
### Import Schema Models
|
|
58
|
+
|
|
59
|
+
```python
|
|
60
|
+
from embodied_schemas import (
|
|
61
|
+
HardwareEntry,
|
|
62
|
+
ModelEntry,
|
|
63
|
+
SensorEntry,
|
|
64
|
+
UseCaseEntry,
|
|
65
|
+
BenchmarkResult,
|
|
66
|
+
)
|
|
67
|
+
from embodied_schemas.hardware import HardwareType, PowerMode
|
|
68
|
+
from embodied_schemas.constraints import LatencyTier, PowerClass
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Access Data Catalog
|
|
72
|
+
|
|
73
|
+
```python
|
|
74
|
+
from embodied_schemas import Registry
|
|
75
|
+
|
|
76
|
+
# Load the catalog
|
|
77
|
+
registry = Registry.load()
|
|
78
|
+
|
|
79
|
+
# Look up hardware by ID
|
|
80
|
+
jetson_nano = registry.hardware.get("nvidia_jetson_nano_4gb")
|
|
81
|
+
|
|
82
|
+
# Find hardware matching criteria
|
|
83
|
+
edge_devices = registry.hardware.find(
|
|
84
|
+
suitable_for="edge",
|
|
85
|
+
power_watts_max=15
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
# Look up models
|
|
89
|
+
yolov8s = registry.models.get("yolov8s")
|
|
90
|
+
detection_models = registry.models.find(type="object_detection")
|
|
91
|
+
|
|
92
|
+
# Check compatibility
|
|
93
|
+
is_compatible = registry.is_compatible(
|
|
94
|
+
model_id="yolov8s",
|
|
95
|
+
hardware_id="nvidia_jetson_nano_4gb",
|
|
96
|
+
variant="fp16"
|
|
97
|
+
)
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Use in Tool Outputs
|
|
101
|
+
|
|
102
|
+
```python
|
|
103
|
+
from embodied_schemas import BenchmarkResult
|
|
104
|
+
from embodied_schemas.benchmarks import LatencyMetrics
|
|
105
|
+
|
|
106
|
+
result = BenchmarkResult(
|
|
107
|
+
model_id="yolov8s",
|
|
108
|
+
hardware_id="nvidia_jetson_nano_4gb",
|
|
109
|
+
variant="fp16",
|
|
110
|
+
verdict="PASS",
|
|
111
|
+
confidence="high",
|
|
112
|
+
latency=LatencyMetrics(
|
|
113
|
+
mean_ms=28.5,
|
|
114
|
+
std_ms=2.1,
|
|
115
|
+
p95_ms=32.0,
|
|
116
|
+
),
|
|
117
|
+
)
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Data Catalog Structure
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
data/
|
|
124
|
+
├── hardware/ # Complete dev kits and platforms
|
|
125
|
+
│ ├── nvidia/
|
|
126
|
+
│ ├── qualcomm/
|
|
127
|
+
│ ├── hailo/
|
|
128
|
+
│ ├── google/
|
|
129
|
+
│ └── ...
|
|
130
|
+
├── chips/ # Raw SoC/chip specifications
|
|
131
|
+
│ ├── nvidia/
|
|
132
|
+
│ ├── qualcomm/
|
|
133
|
+
│ └── ...
|
|
134
|
+
├── models/ # ML model specifications
|
|
135
|
+
│ ├── detection/
|
|
136
|
+
│ ├── segmentation/
|
|
137
|
+
│ └── ...
|
|
138
|
+
├── sensors/ # Cameras, depth sensors, LiDAR
|
|
139
|
+
│ ├── cameras/
|
|
140
|
+
│ ├── depth/
|
|
141
|
+
│ └── lidar/
|
|
142
|
+
├── usecases/ # Application constraint templates
|
|
143
|
+
│ ├── drone/
|
|
144
|
+
│ ├── quadruped/
|
|
145
|
+
│ ├── amr/
|
|
146
|
+
│ └── edge/
|
|
147
|
+
└── constraints/ # Tier definitions
|
|
148
|
+
├── latency_tiers.yaml
|
|
149
|
+
└── power_classes.yaml
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Related Projects
|
|
153
|
+
|
|
154
|
+
- [graphs](https://github.com/branes-ai/graphs) - Analysis tools, roofline models, simulators
|
|
155
|
+
- [Embodied-AI-Architect](https://github.com/branes-ai/Embodied-AI-Architect) - LLM orchestration, CLI, knowledge base
|
|
156
|
+
|
|
157
|
+
## Contributing
|
|
158
|
+
|
|
159
|
+
### Adding Hardware Data
|
|
160
|
+
|
|
161
|
+
1. Create YAML file: `src/embodied_schemas/data/hardware/{vendor}/{name}.yaml`
|
|
162
|
+
2. Follow the schema in `src/embodied_schemas/hardware.py`
|
|
163
|
+
3. Run validation: `pytest tests/test_data_validity.py`
|
|
164
|
+
4. Include datasheet URL in the file
|
|
165
|
+
|
|
166
|
+
### Schema Changes
|
|
167
|
+
|
|
168
|
+
- Schema changes require version bump
|
|
169
|
+
- Breaking changes require major version bump
|
|
170
|
+
- Add deprecation warnings before removing fields
|
|
171
|
+
|
|
172
|
+
## License
|
|
173
|
+
|
|
174
|
+
MIT License - see LICENSE file for details.
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Embodied Schemas
|
|
2
|
+
|
|
3
|
+
Shared Pydantic schemas and factual hardware/model data for embodied AI hardware/software codesign.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
This package provides:
|
|
8
|
+
|
|
9
|
+
1. **Pydantic Schema Models** - Type-safe data structures for hardware platforms, ML models, sensors, use cases, and benchmarks
|
|
10
|
+
2. **Factual Data Catalog** - YAML files with validated specifications for chips, dev kits, perception models, and sensors
|
|
11
|
+
3. **Registry API** - Unified access to query and filter the data catalog
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pip install embodied-schemas
|
|
17
|
+
|
|
18
|
+
# For development
|
|
19
|
+
pip install -e ".[dev]"
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
### Import Schema Models
|
|
25
|
+
|
|
26
|
+
```python
|
|
27
|
+
from embodied_schemas import (
|
|
28
|
+
HardwareEntry,
|
|
29
|
+
ModelEntry,
|
|
30
|
+
SensorEntry,
|
|
31
|
+
UseCaseEntry,
|
|
32
|
+
BenchmarkResult,
|
|
33
|
+
)
|
|
34
|
+
from embodied_schemas.hardware import HardwareType, PowerMode
|
|
35
|
+
from embodied_schemas.constraints import LatencyTier, PowerClass
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Access Data Catalog
|
|
39
|
+
|
|
40
|
+
```python
|
|
41
|
+
from embodied_schemas import Registry
|
|
42
|
+
|
|
43
|
+
# Load the catalog
|
|
44
|
+
registry = Registry.load()
|
|
45
|
+
|
|
46
|
+
# Look up hardware by ID
|
|
47
|
+
jetson_nano = registry.hardware.get("nvidia_jetson_nano_4gb")
|
|
48
|
+
|
|
49
|
+
# Find hardware matching criteria
|
|
50
|
+
edge_devices = registry.hardware.find(
|
|
51
|
+
suitable_for="edge",
|
|
52
|
+
power_watts_max=15
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
# Look up models
|
|
56
|
+
yolov8s = registry.models.get("yolov8s")
|
|
57
|
+
detection_models = registry.models.find(type="object_detection")
|
|
58
|
+
|
|
59
|
+
# Check compatibility
|
|
60
|
+
is_compatible = registry.is_compatible(
|
|
61
|
+
model_id="yolov8s",
|
|
62
|
+
hardware_id="nvidia_jetson_nano_4gb",
|
|
63
|
+
variant="fp16"
|
|
64
|
+
)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Use in Tool Outputs
|
|
68
|
+
|
|
69
|
+
```python
|
|
70
|
+
from embodied_schemas import BenchmarkResult
|
|
71
|
+
from embodied_schemas.benchmarks import LatencyMetrics
|
|
72
|
+
|
|
73
|
+
result = BenchmarkResult(
|
|
74
|
+
model_id="yolov8s",
|
|
75
|
+
hardware_id="nvidia_jetson_nano_4gb",
|
|
76
|
+
variant="fp16",
|
|
77
|
+
verdict="PASS",
|
|
78
|
+
confidence="high",
|
|
79
|
+
latency=LatencyMetrics(
|
|
80
|
+
mean_ms=28.5,
|
|
81
|
+
std_ms=2.1,
|
|
82
|
+
p95_ms=32.0,
|
|
83
|
+
),
|
|
84
|
+
)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Data Catalog Structure
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
data/
|
|
91
|
+
├── hardware/ # Complete dev kits and platforms
|
|
92
|
+
│ ├── nvidia/
|
|
93
|
+
│ ├── qualcomm/
|
|
94
|
+
│ ├── hailo/
|
|
95
|
+
│ ├── google/
|
|
96
|
+
│ └── ...
|
|
97
|
+
├── chips/ # Raw SoC/chip specifications
|
|
98
|
+
│ ├── nvidia/
|
|
99
|
+
│ ├── qualcomm/
|
|
100
|
+
│ └── ...
|
|
101
|
+
├── models/ # ML model specifications
|
|
102
|
+
│ ├── detection/
|
|
103
|
+
│ ├── segmentation/
|
|
104
|
+
│ └── ...
|
|
105
|
+
├── sensors/ # Cameras, depth sensors, LiDAR
|
|
106
|
+
│ ├── cameras/
|
|
107
|
+
│ ├── depth/
|
|
108
|
+
│ └── lidar/
|
|
109
|
+
├── usecases/ # Application constraint templates
|
|
110
|
+
│ ├── drone/
|
|
111
|
+
│ ├── quadruped/
|
|
112
|
+
│ ├── amr/
|
|
113
|
+
│ └── edge/
|
|
114
|
+
└── constraints/ # Tier definitions
|
|
115
|
+
├── latency_tiers.yaml
|
|
116
|
+
└── power_classes.yaml
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Related Projects
|
|
120
|
+
|
|
121
|
+
- [graphs](https://github.com/branes-ai/graphs) - Analysis tools, roofline models, simulators
|
|
122
|
+
- [Embodied-AI-Architect](https://github.com/branes-ai/Embodied-AI-Architect) - LLM orchestration, CLI, knowledge base
|
|
123
|
+
|
|
124
|
+
## Contributing
|
|
125
|
+
|
|
126
|
+
### Adding Hardware Data
|
|
127
|
+
|
|
128
|
+
1. Create YAML file: `src/embodied_schemas/data/hardware/{vendor}/{name}.yaml`
|
|
129
|
+
2. Follow the schema in `src/embodied_schemas/hardware.py`
|
|
130
|
+
3. Run validation: `pytest tests/test_data_validity.py`
|
|
131
|
+
4. Include datasheet URL in the file
|
|
132
|
+
|
|
133
|
+
### Schema Changes
|
|
134
|
+
|
|
135
|
+
- Schema changes require version bump
|
|
136
|
+
- Breaking changes require major version bump
|
|
137
|
+
- Add deprecation warnings before removing fields
|
|
138
|
+
|
|
139
|
+
## License
|
|
140
|
+
|
|
141
|
+
MIT License - see LICENSE file for details.
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "embodied-schemas"
|
|
7
|
+
version = "0.6.0"
|
|
8
|
+
description = "Shared schemas and factual data for embodied AI hardware/software codesign"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.10"
|
|
11
|
+
license = {text = "MIT"}
|
|
12
|
+
authors = [
|
|
13
|
+
{name = "Branes-ai Team"}
|
|
14
|
+
]
|
|
15
|
+
keywords = [
|
|
16
|
+
"embodied-ai",
|
|
17
|
+
"edge-ai",
|
|
18
|
+
"hardware",
|
|
19
|
+
"codesign",
|
|
20
|
+
"robotics",
|
|
21
|
+
"drones",
|
|
22
|
+
"schemas",
|
|
23
|
+
]
|
|
24
|
+
classifiers = [
|
|
25
|
+
"Development Status :: 3 - Alpha",
|
|
26
|
+
"Intended Audience :: Developers",
|
|
27
|
+
"Intended Audience :: Science/Research",
|
|
28
|
+
"License :: OSI Approved :: MIT License",
|
|
29
|
+
"Programming Language :: Python :: 3",
|
|
30
|
+
"Programming Language :: Python :: 3.10",
|
|
31
|
+
"Programming Language :: Python :: 3.11",
|
|
32
|
+
"Programming Language :: Python :: 3.12",
|
|
33
|
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
34
|
+
"Topic :: System :: Hardware",
|
|
35
|
+
]
|
|
36
|
+
dependencies = [
|
|
37
|
+
"pydantic>=2.0.0",
|
|
38
|
+
"pyyaml>=6.0.0",
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
[project.optional-dependencies]
|
|
42
|
+
dev = [
|
|
43
|
+
"pytest>=7.0.0",
|
|
44
|
+
"pytest-cov>=4.0.0",
|
|
45
|
+
"black>=23.0.0",
|
|
46
|
+
"ruff>=0.1.0",
|
|
47
|
+
"mypy>=1.0.0",
|
|
48
|
+
]
|
|
49
|
+
|
|
50
|
+
[project.urls]
|
|
51
|
+
Homepage = "https://github.com/branes-ai/embodied-schemas"
|
|
52
|
+
Repository = "https://github.com/branes-ai/embodied-schemas"
|
|
53
|
+
Issues = "https://github.com/branes-ai/embodied-schemas/issues"
|
|
54
|
+
|
|
55
|
+
[tool.setuptools.packages.find]
|
|
56
|
+
where = ["src"]
|
|
57
|
+
|
|
58
|
+
[tool.setuptools.package-data]
|
|
59
|
+
"embodied_schemas.data" = ["**/*.yaml", "**/*.json"]
|
|
60
|
+
|
|
61
|
+
[tool.black]
|
|
62
|
+
line-length = 100
|
|
63
|
+
target-version = ['py310', 'py311', 'py312']
|
|
64
|
+
|
|
65
|
+
[tool.ruff]
|
|
66
|
+
line-length = 100
|
|
67
|
+
target-version = "py310"
|
|
68
|
+
select = ["E", "F", "I", "W"]
|
|
69
|
+
|
|
70
|
+
[tool.mypy]
|
|
71
|
+
python_version = "3.10"
|
|
72
|
+
warn_return_any = true
|
|
73
|
+
warn_unused_configs = true
|
|
74
|
+
plugins = ["pydantic.mypy"]
|
|
75
|
+
|
|
76
|
+
[tool.pytest.ini_options]
|
|
77
|
+
testpaths = ["tests"]
|
|
78
|
+
python_files = ["test_*.py"]
|
|
79
|
+
python_classes = ["Test*"]
|
|
80
|
+
python_functions = ["test_*"]
|