| # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| # See https://llvm.org/LICENSE.txt for license information. |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| import os |
| import argparse |
| |
| from jupyter_client.kernelspec import KernelSpecManager |
| |
| |
| def install_my_kernel_spec(user=True, prefix=None): |
| """Install the kernel spec for user in given prefix.""" |
| print('Installing mlir-opt IPython kernel spec') |
| pkgroot = os.path.dirname(__file__) |
| KernelSpecManager().install_kernel_spec(os.path.join(pkgroot, 'assets'), |
| 'mlir', |
| user=user, |
| prefix=prefix) |
| |
| |
| def _is_root(): |
| """Returns whether the current user is root.""" |
| try: |
| return os.geteuid() == 0 |
| except AttributeError: |
| # Return false wherever unknown. |
| return False |
| |
| |
| def main(argv=None): |
| parser = argparse.ArgumentParser( |
| description='Install KernelSpec for MlirOpt Kernel') |
| prefix_locations = parser.add_mutually_exclusive_group() |
| |
| prefix_locations.add_argument('--user', |
| help='Install in user home directory', |
| action='store_true') |
| prefix_locations.add_argument('--prefix', |
| help='Install directory prefix', |
| default=None) |
| |
| args = parser.parse_args(argv) |
| |
| user = args.user or not _is_root() |
| prefix = args.prefix |
| |
| install_my_kernel_spec(user=user, prefix=prefix) |
| |
| |
| if __name__ == '__main__': |
| main() |