I suggest adding __geo_interface__ support to arcgis.features and arcgis.geometry.
__geo_interface__ is "a GeoJSON-like protocol for geo-spatial (GIS) vector data." It follows a similar model/idea as NumPy's Array Interface. It was proposed or put forward in 2013, and more than a dozen geospatial Python applications (see Python Geo_interface applications) implement the protocol. The protocol allows for simple and efficient transferring of features and geometries between various geospatial Python packages.
ArcPy currently supports __geo_interface__ in its Geometry classes (it can be argued there is only partial support since the current implementation is broken in several ways). On a system with both ArcPy and Shapely installed, passing a geometry object from the former to the latter can be done efficiently with a single function call:
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> <SPAN class="keyword token">import</SPAN> arcpy
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> <SPAN class="keyword token">from</SPAN> shapely<SPAN class="punctuation token">.</SPAN>geometry <SPAN class="keyword token">import</SPAN> shape
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN>
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> arc_polygon <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>FromWKT<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))'</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>SpatialReference<SPAN class="punctuation token">(</SPAN><SPAN class="number token">3857</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN>
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> arc_polygon<SPAN class="punctuation token">.</SPAN>area
<SPAN class="number token">100.0</SPAN>
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN>
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> shapely_polygon <SPAN class="operator token">=</SPAN> shape<SPAN class="punctuation token">(</SPAN>arc_polygon<SPAN class="punctuation token">)</SPAN> <SPAN class="comment token"># pass ArcPy geometry to Shapely</SPAN>
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN>
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> shapely_polygon<SPAN class="punctuation token">.</SPAN>area
<SPAN class="number token">100.0</SPAN>
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> shapely_polygon<SPAN class="punctuation token">.</SPAN>buffer<SPAN class="punctuation token">(</SPAN><SPAN class="number token">1.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">.</SPAN>area
<SPAN class="number token">143.13654849054595</SPAN>
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
Granted, there are numerous ways features and geometry objects can be passed between geospatial Python packages, but __geo_interface__ represents an established, open, well-adopted, and efficient means that should be supported within the ArcGIS Python API. Additionally, the protocol is lightweight and straightforward to implement.