diff --git a/src/py/libcamera/py_enums.cpp b/src/py/libcamera/py_enums.cpp
index 803c4e7ee362..e25689c674ef 100644
--- a/src/py/libcamera/py_enums.cpp
+++ b/src/py/libcamera/py_enums.cpp
@@ -31,4 +31,14 @@ void init_py_enums(py::module &m)
 		.value("String", ControlType::ControlTypeString)
 		.value("Rectangle", ControlType::ControlTypeRectangle)
 		.value("Size", ControlType::ControlTypeSize);
+
+	py::enum_<Orientation>(m, "Orientation")
+		.value("Rotate0", Orientation::Rotate0)
+		.value("Rotate0Mirror", Orientation::Rotate0Mirror)
+		.value("Rotate180", Orientation::Rotate180)
+		.value("Rotate180Mirror", Orientation::Rotate180Mirror)
+		.value("Rotate90Mirror", Orientation::Rotate90Mirror)
+		.value("Rotate270", Orientation::Rotate270)
+		.value("Rotate270Mirror", Orientation::Rotate270Mirror)
+		.value("Rotate90", Orientation::Rotate90);
 }
diff --git a/src/py/libcamera/py_main.cpp b/src/py/libcamera/py_main.cpp
index d2ce372297db..aa35f0a24847 100644
--- a/src/py/libcamera/py_main.cpp
+++ b/src/py/libcamera/py_main.cpp
@@ -330,6 +330,7 @@ PYBIND11_MODULE(_libcamera, m)
 		.def_property_readonly("empty", &CameraConfiguration::empty)
 		.def_readwrite("sensor_config", &CameraConfiguration::sensorConfig)
 		.def_readwrite("transform", &CameraConfiguration::transform);
+		.def_readwrite("orientation", &CameraConfiguration::orientation);
 
 	pyCameraConfigurationStatus
 		.value("Valid", CameraConfiguration::Valid)
