Line data Source code
1 : // SPDX-FileCopyrightText: 2024 Pairinteraction Developers 2 : // SPDX-License-Identifier: LGPL-3.0-or-later 3 : 4 : #include "./Database.py.hpp" 5 : 6 : #include "pairinteraction/basis/BasisAtom.hpp" 7 : #include "pairinteraction/database/Database.hpp" 8 : #include "pairinteraction/enums/OperatorType.hpp" 9 : #include "pairinteraction/ket/KetAtom.hpp" 10 : #include "pairinteraction/operator/OperatorAtom.hpp" 11 : 12 : #include <nanobind/eigen/sparse.h> 13 : #include <nanobind/nanobind.h> 14 : #include <nanobind/stl/complex.h> 15 : #include <nanobind/stl/filesystem.h> 16 : #include <nanobind/stl/optional.h> 17 : #include <nanobind/stl/shared_ptr.h> 18 : #include <nanobind/stl/string.h> 19 : #include <nanobind/stl/vector.h> 20 : 21 : namespace nb = nanobind; 22 : using namespace nb::literals; 23 : using namespace pairinteraction; 24 : 25 1 : static void declare_database(nb::module_ &m) { 26 1 : nb::class_<Database>(m, "Database") 27 2 : .def(nb::init<>()) 28 1 : .def(nb::init<bool>(), "download_missing"_a) 29 1 : .def(nb::init<std::filesystem::path>(), "database_dir"_a) 30 1 : .def(nb::init<bool, bool, std::filesystem::path>(), "download_missing"_a, "use_cache"_a, 31 2 : "database_dir"_a); 32 1 : } 33 : 34 1 : void bind_database(nb::module_ &m) { declare_database(m); }