robotic 0.2.8.dev1__cp38-cp38-manylinux2014_x86_64.whl → 0.2.8.dev2__cp38-cp38-manylinux2014_x86_64.whl

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.

Potentially problematic release.


This version of robotic might be problematic. Click here for more details.

robotic/DataGen.pyi CHANGED
@@ -72,7 +72,7 @@ class ShapenetGrasps:
72
72
  """
73
73
  set options
74
74
  """
75
- def setPhysxOptions(self, verbose: int = 1, yGravity: bool = False, angularDamping: float = 0.1, defaultFriction: float = 1.0, defaultRestitution: float = 0.1, motorKp: float = 1000.0, motorKd: float = 100.0, gripperKp: float = 10000.0, gripperKd: float = 100.0) -> ShapenetGrasps:
75
+ def setPhysxOptions(self, verbose: int = 1, yGravity: bool = False, angularDamping: float = 0.1, defaultFriction: float = 1.0, defaultRestitution: float = 0.1, motorKp: float = 1000.0, motorKd: float = 100.0) -> ShapenetGrasps:
76
76
  """
77
77
  set options
78
78
  """
robotic/_robotic.pyi CHANGED
@@ -1781,14 +1781,10 @@ class Simulation:
1781
1781
  ...
1782
1782
  def attach(self, gripper: Frame, obj: Frame) -> None:
1783
1783
  ...
1784
- def closeGripper(self, gripperFrameName: str, width: float = 0.05, speed: float = 0.3, force: float = 20.0) -> None:
1785
- ...
1786
1784
  def depthData2pointCloud(self, arg0: numpy.ndarray[numpy.float32], arg1: list[float]) -> numpy.ndarray[numpy.float64]:
1787
1785
  ...
1788
1786
  def detach(self, obj: Frame) -> None:
1789
1787
  ...
1790
- def getGripperIsGrasping(self, gripperFrameName: str) -> bool:
1791
- ...
1792
1788
  def getGripperWidth(self, gripperFrameName: str) -> float:
1793
1789
  ...
1794
1790
  def getImageAndDepth(self) -> tuple:
@@ -1807,7 +1803,9 @@ class Simulation:
1807
1803
  ...
1808
1804
  def get_qDot(self) -> arr:
1809
1805
  ...
1810
- def openGripper(self, gripperFrameName: str, width: float = 0.075, speed: float = 0.3) -> None:
1806
+ def gripperIsDone(self, gripperFrameName: str) -> bool:
1807
+ ...
1808
+ def moveGripper(self, gripperFrameName: str, width: float, speed: float = 0.3) -> None:
1811
1809
  ...
1812
1810
  def pushConfigurationToSimulator(self, frameVelocities: arr = ..., jointVelocities: arr = ...) -> None:
1813
1811
  """
robotic/_robotic.so CHANGED
Binary file
@@ -59,7 +59,7 @@ struct ManipulationModelling {
59
59
  void retractPush(const arr& time_interval, const char* gripper, double dist=.02);
60
60
  void approachPush(const arr& time_interval, const char* gripper, double dist=.05, str helper= {});
61
61
 
62
- arr solve(int verbose=1);
62
+ std::shared_ptr<SolverReturn> solve(int verbose=1);
63
63
  arr sample(const char* sampleMethod=0, int verbose=1);
64
64
  void debug(bool listObjectives=true, bool plotOverTime=false);
65
65
 
@@ -19,8 +19,6 @@ struct PhysX_Options {
19
19
  RAI_PARAM("physx/", double, defaultRestitution, .1) //restitution=1 should be elastic...
20
20
  RAI_PARAM("physx/", double, motorKp, 1000.)
21
21
  RAI_PARAM("physx/", double, motorKd, 100.)
22
- RAI_PARAM("physx/", double, gripperKp, 10000.)
23
- RAI_PARAM("physx/", double, gripperKd, 100.)
24
22
  };
25
23
  }//namespace
26
24
 
@@ -35,7 +35,7 @@ struct Simulation {
35
35
  FrameL grasps;
36
36
  std::shared_ptr<TeleopCallbacks> teleopCallbacks;
37
37
 
38
- Simulation(Configuration& _C, Engine _engine, int _verbose=2);
38
+ Simulation(Configuration& _C, Engine _engine=_physx, int _verbose=2);
39
39
  ~Simulation();
40
40
 
41
41
  //== controller interface
robotic/librai.so CHANGED
Binary file
@@ -1,5 +1,5 @@
1
1
  base { X:[0 0 .5], multibody, multibody_gravity: false }
2
- jointX(base){ joint:transX, mass:.01, limits: [-1.,1.], motorLambda: .01, motorMass: .1, sampleUniform: 1. }
3
- jointY(jointX){ joint:transY, mass:.01, limits: [-1.,1.], motorLambda: .01, motorMass: .1, sampleUniform: 1. }
4
- jointZ(jointY){ joint:transZ, limits: [-1.,1.], motorLambda: .01, motorMass: .1, sampleUniform: 1. }
5
- finger(jointZ){ shape:sphere, size:[.2], color:[.5 1 1], contact:1, mass: .5 }
2
+ jointX(base){ joint:transX, mass:.01, limits: [-1.,1.], motorLambda: .01, motorMass: .01, sampleUniform: 1. }
3
+ jointY(jointX){ joint:transY, mass:.01, limits: [-1.,1.], motorLambda: .01, motorMass: .01, sampleUniform: 1. }
4
+ jointZ(jointY){ joint:transZ, limits: [-1.,1.], motorLambda: .01, motorMass: .01, sampleUniform: 1. }
5
+ finger(jointZ){ shape:sphere, size:[.02], color:[.5 1 1], contact:1, mass: .1 }
@@ -1,11 +1,6 @@
1
- world: {}
2
- ranger_origin(world): { joint:transXYPhi, shape:marker, size:[.1] }
3
-
4
1
  Include: <../ranger/ranger.g>
5
2
 
6
- Edit ranger_base_link(ranger_origin) { Q:[0, 0, .315, 1, 0, 0, -1] }
7
-
8
- ## two pandas
3
+ ## pandas
9
4
  Prefix: "l_"
10
5
  Include: <../panda/panda.g>
11
6
  #Prefix: "r_"
@@ -13,7 +8,7 @@ Include: <../panda/panda.g>
13
8
  Prefix: False
14
9
 
15
10
  ## position them on the table
16
- Edit l_panda_base (ranger_base_link): { Q: "t(-.25 .0 .04) d(180 0 0 1)", joint: rigid }
11
+ Edit l_panda_base (ranger_base_link): { Q: "t(-.25 .0 .04) d(180 0 0 1)", joint: none, multibody: false }
17
12
  #Edit r_panda_base (ranger_base_link): { Q: "t( .22 .05 .02) d(0 0 0 1)", joint: rigid }
18
13
 
19
14
  ## box
robotic/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = '0.2.8.dev1'
1
+ __version__ = '0.2.8.dev2'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: robotic
3
- Version: 0.2.8.dev1
3
+ Version: 0.2.8.dev2
4
4
  Summary: Robotic Control Interface & Manipulation Planning Library
5
5
  Home-page: https://github.com/MarcToussaint/robotic/
6
6
  Author: Marc Toussaint
@@ -1,8 +1,8 @@
1
- robotic/DataGen.pyi,sha256=m1e5j8laihgDWOGAFbXEc5zM_Qq87y11gzj2obgSdXY,3293
1
+ robotic/DataGen.pyi,sha256=Psut6_CMYC1lkRWIfpem1vjiHeDA1bDRYh5WmALUuDw,3239
2
2
  robotic/__init__.py,sha256=k-hVqPB7vN-huwpRzQLt3f--6sNdjaCQ_hWw66dWkA8,297
3
- robotic/_robotic.pyi,sha256=bn_N5aB290VEAbyAC7CUyHFk1wXdfP8Hh4x_azYzrDo,72942
4
- robotic/_robotic.so,sha256=t1oNT9DmB9Ez9EVWVbNeLJorXpsp1SfkfxLV3tY7X9Y,1205984
5
- robotic/librai.so,sha256=Tvf7LwXu7WQUDYjNNlAcT3mRc-41i1dxbCPMQS5qyso,40163304
3
+ robotic/_robotic.pyi,sha256=OgL0esa9N3UzjOZDO5Q5H6d8PmsLg5G_QmgypNfY4KM,72794
4
+ robotic/_robotic.so,sha256=Opjb02u8i2IVgbFGzXX_h170syr0Fjr0hcG6Y9zFeQU,1205984
5
+ robotic/librai.so,sha256=7Y-Dl6DQ_Gx84jdpA2EaHv18YMUFKmj3d7B5gK8Y4m0,40163304
6
6
  robotic/manipulation.py,sha256=EhM_Zuv3vl8H4SBNqqYMD3NT9AzFUpOhr4PIzM4U7tM,22374
7
7
  robotic/meshTool,sha256=Dssd8R2xExwxcH_Qk7rNfcV8QNTBAYmp6ahfjjDJgY0,52168
8
8
  robotic/nlp.py,sha256=n9_hOj3i707DdL_r49Yd2eWyjsSOahW8DmJrEhQlNFw,3200
@@ -16,7 +16,7 @@ robotic/ry-urdf2rai,sha256=88CFu5ikKsjy4wQixvCZqtNOqCheBiT18cjZfOsJA8A,7736
16
16
  robotic/ry-urdf2yaml,sha256=D36MR8Ui6Ry9V0TqJOBaPCWC89OZa43Fytz4P7Y4v0w,8543
17
17
  robotic/ry-view,sha256=T1Omn1QS7cNAtjQhBjMJTNz7aW5FgoOf9vBIfW0mFME,613
18
18
  robotic/test.pyi,sha256=vVxwRSerjUG4bpB7pIhof7ZatrBqwg3Bj5voywa-YTI,917
19
- robotic/version.py,sha256=rb-FgRm7ATGsW94hOY7BGKKSKdhF8udjtUpWZnvfXG4,27
19
+ robotic/version.py,sha256=R6Li3YcJ6YXEEU4IMr2ok4Ylen5Yx0Nxp6clpfToZWo,27
20
20
  robotic/include/rai/Algo/MLcourse.h,sha256=TGkAJWC5ollGfPw0-gcYL0TZeDJiHtWFzkHSMK8_lqU,1828
21
21
  robotic/include/rai/Algo/RidgeRegression.h,sha256=VXiv6-xr3j--CN7DJTzUg9Xb49zV9FZ9dwzxP1CmcPM,3730
22
22
  robotic/include/rai/Algo/SplineCtrlFeed.h,sha256=9ZtYLHXx9sExj0lZV6F5ZWaCtkm0R4hMiYb-KJjktnc,3339
@@ -93,7 +93,7 @@ robotic/include/rai/Gui/plot.h,sha256=xhTBY84UN4KpgZsX7SJQGqVKd1jU7jojGVKFv02v0x
93
93
  robotic/include/rai/KOMO/PathSmoother.h,sha256=y-t3yVEZvxfQIs8_EA-WI7FJ_RzfbG8TEfdiNAruuUI,813
94
94
  robotic/include/rai/KOMO/komo.h,sha256=5TR2IVJzMkWB6oH7NCl1X5OiYtM_OERmf_UPLBaEOlQ,13249
95
95
  robotic/include/rai/KOMO/komo_NLP.h,sha256=kSzUMDmw4yzAXtpNB2v38dpw2tBS8n8R_op_T3yS3DQ,3681
96
- robotic/include/rai/KOMO/manipTools.h,sha256=CoIL9ElNFHAV-AU95wUtSgDWH9ceNx6WmGVTP8DZvaw,4173
96
+ robotic/include/rai/KOMO/manipTools.h,sha256=0TZnMmecX389H5ezPuirGUgjUvZ--2HEf5DKXuUQfxY,4199
97
97
  robotic/include/rai/KOMO/objective.h,sha256=Cl4-KjheRMNWoh_xFas5tLWMKSMlJf-HLDihfqvfcSw,2704
98
98
  robotic/include/rai/KOMO/pathTools.h,sha256=w0Wq6BGLBxG1LAZQBDmmPWTXzwxW3RHj2EX1cm92WeE,3288
99
99
  robotic/include/rai/KOMO/skeleton.h,sha256=NPaMfUMC_sUd3AjlLHTFpxWH4QtnKP_zzvHb2YvEigI,4437
@@ -120,9 +120,9 @@ robotic/include/rai/Kin/kin.h,sha256=hhjYI9RF55PjgJvdXhV4omyQK1iRG6MTi8B_GG9yYqM
120
120
  robotic/include/rai/Kin/kin_bullet.h,sha256=y8aApXpXY4bD5QN_WmDAU2vNEvvbdo1Rd4zY7qo-FKE,1970
121
121
  robotic/include/rai/Kin/kin_feather.h,sha256=o-hOJA8UcmIBKx_qPzoG9R7fxzz-4zhBNMBmBTK21oA,1627
122
122
  robotic/include/rai/Kin/kin_ode.h,sha256=zwB8Le1WMGRkQBc9bssndJICkjO1lZ_y1aZKCwP4c1Y,3686
123
- robotic/include/rai/Kin/kin_physx.h,sha256=EdZdS5feDjvhSuUWy_gdnSgdsh6iGBOVev0r8JtZDIY,1967
123
+ robotic/include/rai/Kin/kin_physx.h,sha256=A39_BMDTMGixK_37sdlofFHtV-Pf0n5JtcYpmdWNWMw,1871
124
124
  robotic/include/rai/Kin/proxy.h,sha256=jfFQrvokqvt8bGYEzGQoD2ZpnuWuLzCeOjFfUvdxcx0,1473
125
- robotic/include/rai/Kin/simulation.h,sha256=ImOsxqc1l9ygiJIAPhoHQPOyqZEVccyJvu1jFREwFaU,5132
125
+ robotic/include/rai/Kin/simulation.h,sha256=oMUHHgg1e7okFtYagCG_-vXJeo6tRtHynSWW1ECgS1U,5139
126
126
  robotic/include/rai/Kin/viewer.h,sha256=jpP9MltococoD9hYS5GvJ99y-u75M4qVNX59rrwxVtQ,2071
127
127
  robotic/include/rai/LGP/LGP_SkeletonTool.h,sha256=T4lXAUxY2QFo_ETZEm7RqRzfmU6NAHdVcow8qj_8-9Y,3240
128
128
  robotic/include/rai/LGP/LGP_Tool.h,sha256=vcQ3ixwJ4wepPDX8ZGkDBKGIpchJQWMOoMu82_cS_8I,4230
@@ -357,7 +357,7 @@ robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_outer_knuckle.ply
357
357
  robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_pad.ply,sha256=SjbdAIaUjNlUX7okwcDJWwfd0NaT6fazQwerbevKlbI,464
358
358
  robotic/rai-robotModels/robotiq/meshes/visual/robotiq_ft300.ply,sha256=0zn76K_SIR85pVNO8hmbnflRsmeFKHCuCykpVTfQf6s,38626
359
359
  robotic/rai-robotModels/robotiq/meshes/visual/robotiq_gripper_coupling.ply,sha256=ef10q5MdRRn2wjWPZTc3nrSVW401x9fHgkEdB_bdECA,30421
360
- robotic/rai-robotModels/scenarios/ballFinger.g,sha256=Qz69o30vKIpv2VAxR7wStafBMyOHnG055ftSGzgUx6Y,457
360
+ robotic/rai-robotModels/scenarios/ballFinger.g,sha256=-Ew0Lp4sS5r7DQqWVAG5W_7mdolaksrfs8IMyd9c-D8,461
361
361
  robotic/rai-robotModels/scenarios/climber.g,sha256=fUbSlFq_PVev2AxqLgytyfud6NUxvyO5NSon9wXSOJo,2016
362
362
  robotic/rai-robotModels/scenarios/climber2.g,sha256=xYGBfNgcLfPfI6WOxOOFpGCVkusoH7gVECEGj2bwc-4,2349
363
363
  robotic/rai-robotModels/scenarios/gripper.g,sha256=-yvc-cxVMxz7OmqVzhg6dyh21hBk9hD9wo5Uc2c4roY,447
@@ -366,7 +366,6 @@ robotic/rai-robotModels/scenarios/k00.g,sha256=Bjei9rYaLLwOhOSHFjaDGc7LFDraL8sxQ
366
366
  robotic/rai-robotModels/scenarios/kswing.g,sha256=k1bND_Hr-lE5sklOraw58HdUye6iW8jTdjBUwbyRCRM,3995
367
367
  robotic/rai-robotModels/scenarios/liftRing.g,sha256=fRKPEfUH_kDL4r7PmpO0kB2t1KeLV9QypxEEN_BNrqQ,1349
368
368
  robotic/rai-robotModels/scenarios/mobileMini.g,sha256=I7SE9YUUciZ1JrJG6BIAZ9Oho_eUa_Z76l5_h-B0wjY,1158
369
- robotic/rai-robotModels/scenarios/mobilePanda.g,sha256=AxH1JQJUgwnaLfrojvpP6DO83h_I6Vt3-la10TFpk0Y,608
370
369
  robotic/rai-robotModels/scenarios/pandaFloatingGripper.g,sha256=zYo9T6aFWREpP2gnME0iFwOErKR8Ram2gndnZ9s-xXA,1498
371
370
  robotic/rai-robotModels/scenarios/pandaSingle.g,sha256=H_UnXdMUbk16os9StOZB0PZMPL3FaGbCAZy0uUAKEKA,1147
372
371
  robotic/rai-robotModels/scenarios/panda_fixGripper.g,sha256=bhkRey6igLb18HlOFj7CpAjqF6R7Z3saxevipHAn4W0,337
@@ -374,6 +373,7 @@ robotic/rai-robotModels/scenarios/panda_fixRobotiq.g,sha256=77KlkNgYLNLz3YrO-OrW
374
373
  robotic/rai-robotModels/scenarios/panda_mobile.g,sha256=Om5rU2C6_GBKcZcRBZ0cTsk2gKxzwoSE-32dxBMQa-8,713
375
374
  robotic/rai-robotModels/scenarios/panda_moveGripper.g,sha256=HyyzCAg8ksvqGxjVrAqh6r16lvifGyjQd7Txa0wkR-Q,1920
376
375
  robotic/rai-robotModels/scenarios/panda_noGripper.g,sha256=FL5vq3ysYJl7f_y9xOBfSTYuB6btJO22f6g2Z-HU1tw,670
376
+ robotic/rai-robotModels/scenarios/panda_ranger.g,sha256=SpLnjGlW5qyBaVvhZ2IZw2eLnYvj3mVuDy_VmRAyhiA,472
377
377
  robotic/rai-robotModels/scenarios/pandasTable-calibrated.g,sha256=Bt6jEu-OUGclBJFBs2Ga2j6qTmP2Nqwecj9k0CH2cNY,467
378
378
  robotic/rai-robotModels/scenarios/pandasTable.g,sha256=BhXqZdyujDDnTCbsyHtwabTF6rRKW7WFJztmMhq2grQ,827
379
379
  robotic/rai-robotModels/scenarios/pendulum.g,sha256=bViHSQAV_y2uMzM0Wl7jfBiJioICtJ8V2d73_wtKX7o,669
@@ -397,16 +397,16 @@ robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/UpperArm.ply,sha2
397
397
  robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist1.ply,sha256=Qmlgt3g046pi8GPzlUBKbDcR-4JehZkXfSRNabe_RVI,282487
398
398
  robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist2.ply,sha256=br9zVxfiGNlEMAuVm36e2dJ0chDKpVMe3H1MCh-318E,784726
399
399
  robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist3.ply,sha256=el2jO6EOzwgz3ybkKjz9XcjCIQJWCpOCgTA7DSFHz6U,25593
400
- robotic-0.2.8.dev1.data/scripts/ry-bot,sha256=LBNbbQeNNNd_tupI5463Xe-RKSD6xy4HGTbJloisCGk,2280
401
- robotic-0.2.8.dev1.data/scripts/ry-h5info,sha256=J-0Q4NRASUaQ_Xgii4Zyiw5mLp5XvvrrJvp-L248Ia4,606
402
- robotic-0.2.8.dev1.data/scripts/ry-info,sha256=fL5QXJL4Xx-Q42L2C29HHbj1XsmWdWiKIv9rVfc5sm4,425
403
- robotic-0.2.8.dev1.data/scripts/ry-meshTool,sha256=h4f4wFPNaey3ziz870SrEvy6SsQSL-ZnR_cH3UuAZxE,101
404
- robotic-0.2.8.dev1.data/scripts/ry-test,sha256=61CnOEa-OqBsNznvXlZ_Xo5aCXx8QKYeokhsHcEUZac,962
405
- robotic-0.2.8.dev1.data/scripts/ry-urdf2rai,sha256=oeLKgNzYKV5yZ_vkvCrw65CY3ZAxL2ssFQQKcRuCNeo,7722
406
- robotic-0.2.8.dev1.data/scripts/ry-urdf2yaml,sha256=Nebu73TLTUx2p40-FLakek9n3y74cRJfRchV0vV0Gf0,8529
407
- robotic-0.2.8.dev1.data/scripts/ry-view,sha256=_GjUbVS2X3AWnlXqIHwU5dofLmUKA2-NUPySgS-QJNI,599
408
- robotic-0.2.8.dev1.dist-info/LICENSE,sha256=oT-pAsUSXiuMq2_3omR87-GFBeBnegQYixH4Bm_7wag,1071
409
- robotic-0.2.8.dev1.dist-info/METADATA,sha256=QByHh3xHPdQxxvoRpYC2XcOMyr2KoauzfcYjw3W81Qw,6565
410
- robotic-0.2.8.dev1.dist-info/WHEEL,sha256=QjksN8yqvEZiPRpkysvFl_zIoTPrHYtCPi208j7yd3I,102
411
- robotic-0.2.8.dev1.dist-info/top_level.txt,sha256=x5A4haAZ18y9FpO1IhXSVJ2TFdhVAgT5JMkejHUg_9U,8
412
- robotic-0.2.8.dev1.dist-info/RECORD,,
400
+ robotic-0.2.8.dev2.data/scripts/ry-bot,sha256=LBNbbQeNNNd_tupI5463Xe-RKSD6xy4HGTbJloisCGk,2280
401
+ robotic-0.2.8.dev2.data/scripts/ry-h5info,sha256=J-0Q4NRASUaQ_Xgii4Zyiw5mLp5XvvrrJvp-L248Ia4,606
402
+ robotic-0.2.8.dev2.data/scripts/ry-info,sha256=fL5QXJL4Xx-Q42L2C29HHbj1XsmWdWiKIv9rVfc5sm4,425
403
+ robotic-0.2.8.dev2.data/scripts/ry-meshTool,sha256=h4f4wFPNaey3ziz870SrEvy6SsQSL-ZnR_cH3UuAZxE,101
404
+ robotic-0.2.8.dev2.data/scripts/ry-test,sha256=61CnOEa-OqBsNznvXlZ_Xo5aCXx8QKYeokhsHcEUZac,962
405
+ robotic-0.2.8.dev2.data/scripts/ry-urdf2rai,sha256=oeLKgNzYKV5yZ_vkvCrw65CY3ZAxL2ssFQQKcRuCNeo,7722
406
+ robotic-0.2.8.dev2.data/scripts/ry-urdf2yaml,sha256=Nebu73TLTUx2p40-FLakek9n3y74cRJfRchV0vV0Gf0,8529
407
+ robotic-0.2.8.dev2.data/scripts/ry-view,sha256=_GjUbVS2X3AWnlXqIHwU5dofLmUKA2-NUPySgS-QJNI,599
408
+ robotic-0.2.8.dev2.dist-info/LICENSE,sha256=oT-pAsUSXiuMq2_3omR87-GFBeBnegQYixH4Bm_7wag,1071
409
+ robotic-0.2.8.dev2.dist-info/METADATA,sha256=rb1ll61M5SZ99e9QQqlqt99WoGnVLQEiB_9Dac5arJo,6565
410
+ robotic-0.2.8.dev2.dist-info/WHEEL,sha256=QjksN8yqvEZiPRpkysvFl_zIoTPrHYtCPi208j7yd3I,102
411
+ robotic-0.2.8.dev2.dist-info/top_level.txt,sha256=x5A4haAZ18y9FpO1IhXSVJ2TFdhVAgT5JMkejHUg_9U,8
412
+ robotic-0.2.8.dev2.dist-info/RECORD,,