def main_algorithm():
    try:
        from qiskit_aqua._logging import get_logging_level, build_logging_config, set_logging_config
        from qiskit_aqua_cmd import Preferences
        from qiskit_aqua import run_algorithm
        from qiskit_aqua.utils import convert_json_to_dict
        parser = argparse.ArgumentParser(
            description='Qiskit Aqua Command Line Tool')
        parser.add_argument('input',
                            metavar='input',
                            help='Algorithm JSON input file')
        parser.add_argument('-jo',
                            metavar='output',
                            help='Algorithm JSON output file name',
                            required=False)

        args = parser.parse_args()

        # update logging setting with latest external packages
        preferences = Preferences()
        logging_level = logging.INFO
        if preferences.get_logging_config() is not None:
            set_logging_config(preferences.get_logging_config())
            logging_level = get_logging_level()

        preferences.set_logging_config(build_logging_config(logging_level))
        preferences.save()

        set_logging_config(preferences.get_logging_config())

        params = None
        with open(args.input) as json_file:
            params = json.load(json_file)

        ret = run_algorithm(params, None, True)

        if args.jo is not None:
            with open(args.jo, 'w') as f:
                print('{}'.format(ret), file=f)
        else:
            convert_json_to_dict(ret)
            print(
                '\n\n--------------------------------- R E S U L T ------------------------------------\n'
            )
            if isinstance(ret, dict):
                for k, v in ret.items():
                    print("'{}': {}".format(k, v))
            else:
                print(ret)
    finally:
        global _ROOT
        if _ROOT is not None:
            _ROOT.destroy()
            _ROOT = None
Beispiel #2
0
def set_preferences_logging():
    """
    Update logging setting with latest external packages
    """
    from qiskit_aqua._logging import get_logging_level, build_logging_config, set_logging_config
    from qiskit_aqua.preferences import Preferences
    preferences = Preferences()
    logging_level = logging.INFO
    if preferences.get_logging_config() is not None:
        set_logging_config(preferences.get_logging_config())
        logging_level = get_logging_level()

    preferences.set_logging_config(build_logging_config(logging_level))
    preferences.save()

    set_logging_config(preferences.get_logging_config())
Beispiel #3
0
def main():
    if sys.platform == 'darwin':
        from Foundation import NSBundle
        bundle = NSBundle.mainBundle()
        if bundle:
            info = bundle.localizedInfoDictionary() or bundle.infoDictionary()
            info['CFBundleName'] = 'Qiskit Aqua'
    
    root = tk.Tk()
    root.withdraw()
    root.update_idletasks()
    
    preferences = UIPreferences()
    geometry = preferences.get_run_geometry()
    if geometry is None:
        ws = root.winfo_screenwidth()
        hs = root.winfo_screenheight()
        w = int(ws / 1.3)
        h = int(hs / 1.3)
        x = int(ws/2 - w/2)
        y = int(hs/2 - h/2)
        geometry = '{}x{}+{}+{}'.format(w,h,x,y)
        preferences.set_run_geometry(geometry)
        preferences.save()
    
    root.geometry(geometry)
    
    # update logging setting with latest external packages
    preferences = Preferences()
    logging_level = logging.INFO
    if preferences.get_logging_config() is not None:
        set_logging_config(preferences.get_logging_config())
        logging_level = get_logging_level()
        
    preferences.set_logging_config(build_logging_config(logging_level))
    preferences.save()
    
    set_logging_config(preferences.get_logging_config())
    
    MainView(root)
    root.after(0, root.deiconify)
    root.mainloop()
Beispiel #4
0
 def body(self,parent,options):
     preferences = Preferences()
     logging_config = preferences.get_logging_config()
     if logging_config is not None:
         set_logging_config(logging_config)
     
     uipreferences = UIPreferences()
     populate = uipreferences.get_populate_defaults(True)
     self._populateDefaults.set(1 if populate else 0)
     
     qiskitGroup = ttk.LabelFrame(parent,
                                  text='Qiskit Configuration',
                                  padding=(6,6,6,6),
                                  borderwidth=4,
                                  relief=tk.GROOVE)
     qiskitGroup.grid(padx=(7,7),pady=6,row=0, column=0,sticky='nsew')
     self._qconfigview = QconfigView(qiskitGroup)
     
     defaultsGroup = ttk.LabelFrame(parent,
                                  text='Defaults',
                                  padding=(6,6,6,6),
                                  borderwidth=4,
                                  relief=tk.GROOVE)
     defaultsGroup.grid(padx=(7,7),pady=6,row=1, column=0,sticky='nsw')
     defaultsGroup.columnconfigure(1,pad=7)
     
     self._checkButton = ttk.Checkbutton(defaultsGroup,
                                         text="Populate on file new/open",
                                         variable=self._populateDefaults)
     self._checkButton.grid(row=0, column=1,sticky='nsw')
     
     packagesGroup = ttk.LabelFrame(parent,
                                  text='Packages',
                                  padding=(6,6,6,6),
                                  borderwidth=4,
                                  relief=tk.GROOVE)
     packagesGroup.grid(padx=(7,7),pady=6,row=2, column=0,sticky='nsw')
     packagesGroup.columnconfigure(1,pad=7)
     
     frame = ttk.Frame(packagesGroup)
     frame.grid(row=0, column=0,sticky='nsew')
     
     self._packagesPage = PackagesPage(frame,preferences)
     self._packagesPage.pack(side=tk.TOP,fill=tk.BOTH, expand=tk.TRUE)
     self._packagesPage.show_add_button(True)
     self._packagesPage.show_remove_button(self._packagesPage.has_selection())
     self._packagesPage.show_defaults_button(False)
     
     loggingGroup = ttk.LabelFrame(parent,
                                  text='Logging Configuration',
                                  padding=(6,6,6,6),
                                  borderwidth=4,
                                  relief=tk.GROOVE)
     loggingGroup.grid(padx=(7,7),pady=6,row=3, column=0,sticky='nsw')
     loggingGroup.columnconfigure(1,pad=7)
     
     loglevel = get_logging_level()
     
     ttk.Label(loggingGroup,
               text="Level:",
               borderwidth=0,
               anchor=tk.E).grid(row=0, column=0,sticky='nsew')
     self._levelCombo = ttk.Combobox(loggingGroup,
                               exportselection=0,
                               state='readonly',
                               values=list(PreferencesDialog._LOG_LEVELS.values()))
     index = list(PreferencesDialog._LOG_LEVELS.keys()).index(loglevel)
     self._levelCombo.current(index)
     self._levelCombo.grid(row=0, column=1,sticky='nsw')
     
     self.entry = self._qconfigview.initial_focus
     return self.entry # initial focus
Beispiel #5
0
    def body(self, parent, options):
        from qiskit_aqua._logging import (get_logging_level,
                                          set_logging_config)
        from qiskit_aqua_cmd import Preferences
        preferences = Preferences()
        logging_config = preferences.get_logging_config()
        if logging_config is not None:
            set_logging_config(logging_config)

        uipreferences = UIPreferences()
        populate = uipreferences.get_populate_defaults(True)
        self._populateDefaults.set(1 if populate else 0)

        credentialsGroup = ttk.LabelFrame(parent,
                                          text='IBMQ Credentials',
                                          padding=(6, 6, 6, 6),
                                          borderwidth=4,
                                          relief=tk.GROOVE)
        credentialsGroup.grid(padx=(7, 7),
                              pady=6,
                              row=0,
                              column=0,
                              sticky='nsew')
        self._credentialsview = CredentialsView(credentialsGroup)

        defaultsGroup = ttk.LabelFrame(parent,
                                       text='Defaults',
                                       padding=(6, 6, 6, 6),
                                       borderwidth=4,
                                       relief=tk.GROOVE)
        defaultsGroup.grid(padx=(7, 7), pady=6, row=1, column=0, sticky='nsw')
        defaultsGroup.columnconfigure(1, pad=7)

        self._checkButton = ttk.Checkbutton(defaultsGroup,
                                            text="Populate on file new/open",
                                            variable=self._populateDefaults)
        self._checkButton.grid(row=0, column=1, sticky='nsw')

        loggingGroup = ttk.LabelFrame(parent,
                                      text='Logging Configuration',
                                      padding=(6, 6, 6, 6),
                                      borderwidth=4,
                                      relief=tk.GROOVE)
        loggingGroup.grid(padx=(7, 7), pady=6, row=2, column=0, sticky='nsw')
        loggingGroup.columnconfigure(1, pad=7)

        loglevel = get_logging_level()

        ttk.Label(loggingGroup, text="Level:", borderwidth=0,
                  anchor=tk.E).grid(row=0, column=0, sticky='nsew')
        self._levelCombo = ttk.Combobox(
            loggingGroup,
            exportselection=0,
            state='readonly',
            values=list(PreferencesDialog._LOG_LEVELS.values()))
        index = list(PreferencesDialog._LOG_LEVELS.keys()).index(loglevel)
        self._levelCombo.current(index)
        self._levelCombo.grid(row=0, column=1, sticky='nsw')

        self.entry = self._credentialsview.initial_focus
        return self.entry  # initial focus