--- libs/python/src/converter/builtin_converters.cpp	2017-12-13 17:56:47.000000000 -0600
+++ libs/python/src/converter/builtin_converters.cpp.patched	2019-01-22 12:51:01.000000000 -0600
@@ -45,11 +45,16 @@
   {
       return PyString_Check(obj) ? PyString_AsString(obj) : 0;
   }
-#else
+#elif PY_VERSION_HEX < 0x03070000
   void* convert_to_cstring(PyObject* obj)
   {
       return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0;
   }
+#else
+  void* convert_to_cstring(PyObject* obj)
+  {
+      return PyUnicode_Check(obj) ? const_cast<void*>(reinterpret_cast<const void*>(_PyUnicode_AsString(obj))) : 0;
+  }
 #endif
 
   // Given a target type and a SlotPolicy describing how to perform a
