diff --git a/python-api-src/lib_unit.cpp b/python-api-src/lib_unit.cpp
index 8f068161b712dabd73723e1b70b42685993edafd..2bebbd7f8cceab555a45a0f91c83991611e5c777 100644
--- a/python-api-src/lib_unit.cpp
+++ b/python-api-src/lib_unit.cpp
@@ -37,5 +37,7 @@ void define_unit(py::module & m)
         .def("build_target", &Unit::buildTarget)
         .def("train", &Unit::train)
         .def("morph", &Unit::morph)
+        .def("__hash__", [](const Unit & unit) { return std::hash<CCUnitID>{}(unit.getID()); })
+        .def(py::self == py::self)
         .def("__repr__", [](const Unit & unit) { return "<Unit of type: '" + unit.getType().getName() + "'>"; });
 }