diff options
| author | Martin Braun <martin.braun@ettus.com> | 2020-03-11 14:36:00 -0700 | 
|---|---|---|
| committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2020-03-12 07:27:46 -0500 | 
| commit | e806238b272b050e7de5ddcd9f793209837d0c2d (patch) | |
| tree | f901ff36b6cd007213ca49c358155cc8c1954e79 /host | |
| parent | f8d3fe41095374c7a96c2607cc9ffeced17de283 (diff) | |
| download | uhd-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
Diffstat (limited to 'host')
| -rw-r--r-- | host/lib/utils/paths_python.hpp | 24 | ||||
| -rw-r--r-- | host/python/pyuhd.cpp | 5 | ||||
| -rw-r--r-- | host/python/uhd/__init__.py | 1 | 
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 * | 
