aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2020-03-11 14:36:00 -0700
committerAaron Rossetto <aaron.rossetto@ni.com>2020-03-12 07:27:46 -0500
commite806238b272b050e7de5ddcd9f793209837d0c2d (patch)
treef901ff36b6cd007213ca49c358155cc8c1954e79
parentf8d3fe41095374c7a96c2607cc9ffeced17de283 (diff)
downloaduhd-e806238b272b050e7de5ddcd9f793209837d0c2d.tar.gz
uhd-e806238b272b050e7de5ddcd9f793209837d0c2d.tar.bz2
uhd-e806238b272b050e7de5ddcd9f793209837d0c2d.zip
python: Export UHD paths utility functions
All of the functions defined in uhd/utils/paths.hpp are now available in Python, with the exception of get_module_paths(). #!/usr/bin/env python3 import uhd print(uhd.get_lib_path()) # Prints location of libuhd
-rw-r--r--host/lib/utils/paths_python.hpp24
-rw-r--r--host/python/pyuhd.cpp5
-rw-r--r--host/python/uhd/__init__.py1
3 files changed, 30 insertions, 0 deletions
diff --git a/host/lib/utils/paths_python.hpp b/host/lib/utils/paths_python.hpp
new file mode 100644
index 000000000..fb91ec373
--- /dev/null
+++ b/host/lib/utils/paths_python.hpp
@@ -0,0 +1,24 @@
+//
+// Copyright 2020 Ettus Research, a National Instruments Brand
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+
+#ifndef INCLUDED_UHD_PATHS_PYTHON_HPP
+#define INCLUDED_UHD_PATHS_PYTHON_HPP
+
+#include <uhd/utils/paths.hpp>
+
+void export_paths(py::module& m)
+{
+ m.def("get_tmp_path", &uhd::get_tmp_path);
+ m.def("get_app_path", &uhd::get_app_path);
+ m.def("get_pkg_path", &uhd::get_pkg_path);
+ m.def("get_lib_path", &uhd::get_lib_path);
+ m.def("get_images_dir", &uhd::get_images_dir);
+ m.def("find_image_path", &uhd::find_image_path);
+ m.def("find_utility", &uhd::find_utility);
+ m.def("print_utility_error", &uhd::print_utility_error);
+}
+
+#endif /* INCLUDED_UHD_PATHS_PYTHON_HPP */
diff --git a/host/python/pyuhd.cpp b/host/python/pyuhd.cpp
index 19f87094e..9ce72c476 100644
--- a/host/python/pyuhd.cpp
+++ b/host/python/pyuhd.cpp
@@ -26,6 +26,7 @@ namespace py = pybind11;
#include "usrp/fe_connection_python.hpp"
#include "usrp/multi_usrp_python.hpp"
#include "usrp/subdev_spec_python.hpp"
+#include "utils/paths_python.hpp"
// We need this hack because import_array() returns NULL
// for newer Python versions.
@@ -43,6 +44,10 @@ PYBIND11_MODULE(libpyuhd, m)
// (otherwise we will see segmentation faults)
init_numpy();
+ // Register paths submodule
+ auto paths_module = m.def_submodule("paths", "Path Utilities");
+ export_paths(paths_module);
+
// Register types submodule
auto types_module = m.def_submodule("types", "UHD Types");
diff --git a/host/python/uhd/__init__.py b/host/python/uhd/__init__.py
index bf37f5215..e12a0626a 100644
--- a/host/python/uhd/__init__.py
+++ b/host/python/uhd/__init__.py
@@ -11,3 +11,4 @@ from . import types
from . import usrp
from . import filters
from . import rfnoc
+from .libpyuhd.paths import *