Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor #796

Merged
merged 22 commits into from
Jul 26, 2022
Merged
Show file tree
Hide file tree
Changes from 19 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 28 additions & 28 deletions pyiron_base/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,45 +5,45 @@
from pyiron_base.state import state

# API of the pyiron_base module - in alphabetical order
from pyiron_base.generic.factory import PyironFactory
from pyiron_base.generic.flattenedstorage import FlattenedStorage
from pyiron_base.generic.hdfio import FileHDFio, ProjectHDFio
from pyiron_base.generic.datacontainer import DataContainer
from pyiron_base.generic.inputlist import InputList
from pyiron_base.generic.parameters import GenericParameters
from pyiron_base.generic.filedata import load_file, FileDataTemplate, FileData
from pyiron_base.generic.util import Deprecator, deprecate, deprecate_soon, ImportAlarm
from pyiron_base.job.executable import Executable
from pyiron_base.job.external import Notebook, load, dump
from pyiron_base.job.generic import GenericJob
from pyiron_base.job.interactive import InteractiveBase
from pyiron_base.job.interactivewrapper import InteractiveWrapper
from pyiron_base.job.jobstatus import (
from pyiron_base.interfaces.factory import PyironFactory
from pyiron_base.storage.flattenedstorage import FlattenedStorage
from pyiron_base.storage.hdfio import FileHDFio, ProjectHDFio
from pyiron_base.storage.datacontainer import DataContainer
from pyiron_base.storage.inputlist import InputList
from pyiron_base.storage.parameters import GenericParameters
from pyiron_base.storage.filedata import load_file, FileDataTemplate, FileData
from pyiron_base.utils.util import Deprecator, deprecate, deprecate_soon, ImportAlarm
from pyiron_base.jobs.job.extension.executable import Executable
from pyiron_base.project.external import Notebook, load, dump
from pyiron_base.jobs.job.generic import GenericJob
from pyiron_base.jobs.job.interactive import InteractiveBase
from pyiron_base.jobs.master.interactivewrapper import InteractiveWrapper
from pyiron_base.jobs.job.extension.jobstatus import (
JobStatus,
job_status_successful_lst,
job_status_finished_lst,
job_status_lst,
)
from pyiron_base.job.jobtype import JOB_CLASS_DICT, JobType, JobTypeChoice
from pyiron_base.job.template import TemplateJob, PythonTemplateJob
from pyiron_base.job.factory import JobFactoryCore
from pyiron_base.master.generic import GenericMaster, get_function_from_string
from pyiron_base.master.list import ListMaster
from pyiron_base.master.parallel import ParallelMaster, JobGenerator
from pyiron_base.master.serial import SerialMasterBase
from pyiron_base.master.flexible import FlexibleMaster
from pyiron_base.jobs.job.jobtype import JOB_CLASS_DICT, JobType, JobTypeChoice
from pyiron_base.jobs.job.template import TemplateJob, PythonTemplateJob
from pyiron_base.jobs.job.factory import JobFactoryCore
from pyiron_base.jobs.master.generic import GenericMaster, get_function_from_string
from pyiron_base.jobs.master.list import ListMaster
from pyiron_base.jobs.master.parallel import ParallelMaster, JobGenerator
from pyiron_base.jobs.master.serial import SerialMasterBase
from pyiron_base.jobs.master.flexible import FlexibleMaster
from pyiron_base.project.generic import Project, Creator
from pyiron_base.pyio.parser import Logstatus, extract_data_from_file
from pyiron_base.server.queuestatus import validate_que_request
from pyiron_base.utils.parser import Logstatus, extract_data_from_file
from pyiron_base.jobs.job.extension.server.queuestatus import validate_que_request
from pyiron_base.state.settings import Settings
from pyiron_base.state.install import install_dialog
from pyiron_base.table.datamining import PyironTable, TableJob
from pyiron_base.generic.object import HasDatabase, HasStorage, PyironObject
from pyiron_base.jobs.datamining import PyironTable, TableJob
from pyiron_base.utils.object import HasDatabase, HasStorage, PyironObject
from pyiron_base.database.performance import get_database_statistics
from pyiron_base.interfaces.has_groups import HasGroups
from pyiron_base.interfaces.has_hdf import HasHDF

from pyiron_base.toolkit import Toolkit, BaseTools
from pyiron_base.jobs.job.toolkit import Toolkit, BaseTools

Project.register_tools("base", BaseTools)

Expand All @@ -55,7 +55,7 @@

# Internal init
from ._version import get_versions
from pyiron_base.generic.jedi import fix_ipython_autocomplete
from pyiron_base.utils.jedi import fix_ipython_autocomplete

# Set version of pyiron_base
__version__ = get_versions()["version"]
Expand Down
6 changes: 3 additions & 3 deletions pyiron_base/cli/ls.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import re
import sys
import pandas as pd
import pyiron_base.job.jobstatus
import pyiron_base.jobs.job.extension.jobstatus
from pyiron_base import Project

__author__ = "Marvin Poul"
Expand Down Expand Up @@ -72,10 +72,10 @@ def register(parser):
"-s",
"--status",
nargs="+",
choices=pyiron_base.job.jobstatus.job_status_lst,
choices=pyiron_base.jobs.job.extension.jobstatus.job_status_lst,
metavar="status",
help="job status must be one of the given, one of {}".format(
", ".join(pyiron_base.job.jobstatus.job_status_lst)
", ".join(pyiron_base.jobs.job.extension.jobstatus.job_status_lst)
),
)
filter.add_argument(
Expand Down
2 changes: 1 addition & 1 deletion pyiron_base/cli/rm.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"""

import os
from pyiron_base import Project
from pyiron_base.project.generic import Project

__author__ = "Marvin Poul"
__copyright__ = (
Expand Down
2 changes: 1 addition & 1 deletion pyiron_base/cli/wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Run a job from hdf5.
"""

from pyiron_base.job.wrapper import job_wrapper_function
from pyiron_base.jobs.job.wrapper import job_wrapper_function


def register(parser):
Expand Down
2 changes: 1 addition & 1 deletion pyiron_base/database/filetable.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import datetime
import h5io
from pyfileindex import PyFileIndex
from pyiron_base.generic.util import Singleton
from pyiron_base.utils.util import Singleton
from pyiron_base.database.generic import IsDatabase


Expand Down
2 changes: 1 addition & 1 deletion pyiron_base/database/generic.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import time
import os
from datetime import datetime
from pyiron_base.generic.util import deprecate
from pyiron_base.utils.util import deprecate
import pandas
from sqlalchemy import (
create_engine,
Expand Down
2 changes: 1 addition & 1 deletion pyiron_base/database/manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

from urllib.parse import quote_plus
from pyiron_base.state.logger import logger
from pyiron_base.generic.util import Singleton
from pyiron_base.utils.util import Singleton
from pyiron_base.state.settings import settings as s
from pyiron_base.database.generic import DatabaseAccess
import os
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion pyiron_base/interfaces/has_hdf.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Distributed under the terms of "New BSD License", see the LICENSE file.
"""Interface for classes to serialize to HDF5."""

from pyiron_base.generic.hdfio import ProjectHDFio
from pyiron_base.storage.hdfio import ProjectHDFio

from abc import ABC, abstractmethod

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,10 @@
from tqdm.auto import tqdm
import types

from pyiron_base.job.generic import GenericJob
from pyiron_base.generic.datacontainer import DataContainer
from pyiron_base.generic.hdfio import FileHDFio
from pyiron_base.jobs.job.generic import GenericJob
from pyiron_base.storage.hdfio import FileHDFio
from pyiron_base.interfaces.has_groups import HasGroups
from pyiron_base.master.generic import get_function_from_string
from pyiron_base.jobs.master.generic import get_function_from_string


__author__ = "Uday Gajera, Jan Janssen, Joerg Neugebauer"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def _get_script(cp):


def _init_constructor_dynamic(class_name, module, input_dict):
from pyiron_base.job.executable import Executable
from pyiron_base.jobs.job.extension.executable import Executable

def __init__(self, project, job_name):
super(self.__class__, self).__init__(project, job_name)
Expand All @@ -84,7 +84,7 @@ def __init__(self, project, job_name):

def class_constructor(cp):
if "templates" in cp:
from pyiron_base.job.script import ScriptJob
from pyiron_base.jobs.script import ScriptJob

class_name = os.path.basename(cp)
script_path = os.path.join(cp, "script.py")
Expand All @@ -101,7 +101,7 @@ def class_constructor(cp):
},
)
elif "dynamic" in cp:
from pyiron_base.job.template import TemplateJob
from pyiron_base.jobs.job.template import TemplateJob

class_name = os.path.basename(cp)
input_dict = _load_input(path=cp)
Expand Down
File renamed without changes.
4 changes: 2 additions & 2 deletions pyiron_base/job/core.py → pyiron_base/jobs/job/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
import warnings

from pyiron_base.interfaces.has_groups import HasGroups
from pyiron_base.generic.hdfio import ProjectHDFio
from pyiron_base.job.util import (
from pyiron_base.storage.hdfio import ProjectHDFio
from pyiron_base.jobs.job.util import (
_get_project_for_copy,
_copy_database_entry,
_copy_to_delete_existing,
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Distributed under the terms of "New BSD License", see the LICENSE file.

import os
from pyiron_base.generic.object import HasStorage
from pyiron_base.utils.object import HasStorage
from pyiron_base.state import state

"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from collections import OrderedDict
import numbers
from pyiron_base.state import state
from pyiron_base.server.runmode import Runmode
from pyiron_base.jobs.job.extension.server.runmode import Runmode
import socket

__author__ = "Jan Janssen"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
import pandas
import time
from pyiron_base.state import state
from pyiron_base.generic.util import static_isinstance
from pyiron_base.job.jobstatus import job_status_finished_lst
from pyiron_base.utils.util import static_isinstance
from pyiron_base.jobs.job.extension.jobstatus import job_status_finished_lst

__author__ = "Jan Janssen"
__copyright__ = (
Expand Down Expand Up @@ -121,7 +121,7 @@ def queue_delete_job(item):
Delete a job from the queuing system

Args:
item (int, pyiron_base.job.generic.GenericJob): Provide either the job_ID or the full hamiltonian
item (int, pyiron_base.jobs.job.generic.GenericJob): Provide either the job_ID or the full hamiltonian

Returns:
str: Output from the queuing system as string - optimized for the Sun grid engine
Expand All @@ -138,7 +138,7 @@ def queue_enable_reservation(item):
Enable a reservation for a particular job within the queuing system

Args:
item (int, pyiron_base.job.generic.GenericJob): Provide either the job_ID or the full hamiltonian
item (int, pyiron_base.jobs.job.generic.GenericJob): Provide either the job_ID or the full hamiltonian

Returns:
str: Output from the queuing system as string - optimized for the Sun grid engine
Expand All @@ -160,7 +160,7 @@ def wait_for_job(job, interval_in_s=5, max_iterations=100):
Sleep until the job is finished but maximum interval_in_s * max_iterations seconds.

Args:
job (pyiron_base.job.generic.GenericJob): Job to wait for
job (pyiron_base.job.utils.GenericJob): Job to wait for
interval_in_s (int): interval when the job status is queried from the database - default 5 sec.
max_iterations (int): maximum number of iterations - default 100

Expand Down Expand Up @@ -312,15 +312,17 @@ def validate_que_request(item):
Internal function to convert the job_ID or hamiltonian to the queuing system ID.

Args:
item (int, pyiron_base.job.generic.GenericJob): Provide either the job_ID or the full hamiltonian
item (int, pyiron_base.jobs.job.generic.GenericJob): Provide either the job_ID or the full hamiltonian

Returns:
int: queuing system ID
"""

if isinstance(item, int):
que_id = item
elif static_isinstance(item.__class__, "pyiron_base.master.generic.GenericMaster"):
elif static_isinstance(
item.__class__, "pyiron_base.jobs.master.generic.GenericMaster"
):
if item.server.queue_id:
que_id = item.server.queue_id
else:
Expand All @@ -331,12 +333,12 @@ def validate_que_request(item):
que_id = [queue_id for queue_id in queue_id_lst if queue_id is not None]
if len(que_id) == 0:
raise ValueError("This job does not have a queue ID.")
elif static_isinstance(item.__class__, "pyiron_base.job.generic.GenericJob"):
elif static_isinstance(item.__class__, "pyiron_base.jobs.job.generic.GenericJob"):
if item.server.queue_id:
que_id = item.server.queue_id
else:
raise ValueError("This job does not have a queue ID.")
elif static_isinstance(item.__class__, "pyiron_base.job.core.JobCore"):
elif static_isinstance(item.__class__, "pyiron_base.jobs.job.core.JobCore"):
if "server" in item.project_hdf5.list_nodes():
server_hdf_dict = item.project_hdf5["server"]
if "qid" in server_hdf_dict.keys():
Expand Down
16 changes: 8 additions & 8 deletions pyiron_base/job/factory.py → pyiron_base/jobs/job/factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@
"""

from pyiron_base.project.generic import Project
from pyiron_base.generic.factory import PyironFactory
from pyiron_base.interfaces.factory import PyironFactory
from abc import ABC, abstractmethod
from pyiron_base.job.jobtype import JobType
from pyiron_base.job.generic import GenericJob
from pyiron_base.jobs.job.jobtype import JobType
from pyiron_base.jobs.job.generic import GenericJob
from typing import Type, Dict, List, Union

from pyiron_base.master.flexible import FlexibleMaster
from pyiron_base.job.script import ScriptJob
from pyiron_base.master.serial import SerialMasterBase
from pyiron_base.table.datamining import TableJob
from pyiron_base.generic.hdfio import ProjectHDFio
from pyiron_base.jobs.master.flexible import FlexibleMaster
from pyiron_base.jobs.script import ScriptJob
from pyiron_base.jobs.master.serial import SerialMasterBase
from pyiron_base.jobs.datamining import TableJob
from pyiron_base.storage.hdfio import ProjectHDFio
from pyiron_base.state import state

__author__ = "Liam Huber, Jan Janssen"
Expand Down
18 changes: 9 additions & 9 deletions pyiron_base/job/generic.py → pyiron_base/jobs/job/generic.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@
import os
import posixpath
import h5io
from pyiron_base.job.jobtype import JobType
from pyiron_base.jobs.job.jobtype import JobType
import signal
import warnings

from pyiron_base.state import state
from pyiron_base.job.executable import Executable
from pyiron_base.job.jobstatus import JobStatus
from pyiron_base.job.core import JobCore
from pyiron_base.job.runfunction import (
from pyiron_base.jobs.job.extension.executable import Executable
from pyiron_base.jobs.job.extension.jobstatus import JobStatus
from pyiron_base.jobs.job.core import JobCore
from pyiron_base.jobs.job.runfunction import (
run_job_with_parameter_repair,
run_job_with_status_initialized,
run_job_with_status_created,
Expand All @@ -36,14 +36,14 @@
run_job_with_runmode_queue,
execute_job_with_external_executable,
)
from pyiron_base.job.util import (
from pyiron_base.jobs.job.util import (
_copy_restart_files,
_kill_child,
_job_store_before_copy,
_job_reload_after_copy,
)
from pyiron_base.generic.util import static_isinstance, deprecate
from pyiron_base.server.generic import Server
from pyiron_base.utils.util import static_isinstance, deprecate
from pyiron_base.jobs.job.extension.server.generic import Server
from pyiron_base.database.filetable import FileTable

__author__ = "Joerg Neugebauer, Jan Janssen"
Expand Down Expand Up @@ -527,7 +527,7 @@ def _internal_copy_to(

# Reload object from HDF5 file
if not static_isinstance(
obj=project.__class__, obj_type="pyiron_base.job.core.JobCore"
obj=project.__class__, obj_type="pyiron_base.jobs.job.core.JobCore"
):
_job_reload_after_copy(
job=new_job_core, delete_file_after_copy=delete_file_after_copy
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
"""

import numpy as np
from pyiron_base.job.generic import GenericJob
from pyiron_base.job.jobtype import JobType
from pyiron_base.jobs.job.generic import GenericJob
from pyiron_base.jobs.job.jobtype import JobType

__author__ = "Osamu Waseda, Jan Janssen"
__copyright__ = (
Expand Down
Loading