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

Formalize the definition and import location of plugin factories #2498

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .ci/polish/lib/template/base.tpl
@@ -1,11 +1,11 @@
# -*- coding: utf-8 -*-
from numpy import prod
from copy import deepcopy
from aiida.orm import CalculationFactory
from aiida.orm import Code
from aiida.orm.nodes.data.int import Int
from aiida.orm.nodes.data.str import Str
from aiida.orm.nodes.data.parameter import ParameterData
from aiida.plugins import CalculationFactory
from aiida.work.run import submit
from aiida.work.workchain import WorkChain, if_, while_, append_, ToContext
from aiida.work import calcfunction
Expand Down
3 changes: 2 additions & 1 deletion .ci/test_daemon.py
Expand Up @@ -20,11 +20,12 @@
from aiida.common import exceptions
from aiida.manage.caching import enable_caching
from aiida.daemon.client import get_daemon_client
from aiida.orm import Code, CalculationFactory, DataFactory, load_node
from aiida.orm import Code, load_node
from aiida.orm.nodes.data.int import Int
from aiida.orm.nodes.data.str import Str
from aiida.orm.nodes.data.list import List
from aiida.orm import CalcJobNode
from aiida.plugins import CalculationFactory, DataFactory
from aiida.work.launch import run_get_node, submit
from aiida.work.persistence import ObjectLoader
from workchains import (
Expand Down
3 changes: 2 additions & 1 deletion .ci/test_fixtures.py
Expand Up @@ -59,7 +59,8 @@ def test_create_use_destroy_profile(self):
self.assertEqual(AIIDA_CONFIG_FOLDER, self.fixture_manager.config_dir, msg=output)
self.assertTrue(is_dbenv_loaded())

from aiida.orm import DataFactory, load_node
from aiida.orm import load_node
from aiida.plugins import DataFactory
data = DataFactory('parameter')(dict={'key': 'value'})
data.store()
data_pk = data.pk
Expand Down
2 changes: 1 addition & 1 deletion .ci/test_plugin_testcase.py
Expand Up @@ -48,7 +48,7 @@ def get_data():
"""
Return some ParameterData
"""
from aiida.orm.utils import DataFactory
from aiida.plugins import DataFactory
data = DataFactory('parameter')(dict={'data': 'test'})
data.store()
return data
Expand Down
115 changes: 49 additions & 66 deletions .pre-commit-config.yaml
Expand Up @@ -30,11 +30,11 @@
aiida/backends/djsite/db/migrations/0017_drop_dbcalcstate.py|
aiida/backends/djsite/db/migrations/__init__.py|
aiida/backends/djsite/db/models.py|
aiida/backends/djsite/db/subtests/migrations.py|
aiida/backends/djsite/db/subtests/generic.py|
aiida/backends/djsite/db/subtests/test_migrations.py|
aiida/backends/djsite/db/subtests/test_generic.py|
aiida/backends/djsite/db/subtests/__init__.py|
aiida/backends/djsite/db/subtests/nodes.py|
aiida/backends/djsite/db/subtests/query.py|
aiida/backends/djsite/db/subtests/test_nodes.py|
aiida/backends/djsite/db/subtests/test_query.py|
aiida/backends/djsite/globalsettings.py|
aiida/backends/djsite/__init__.py|
aiida/backends/djsite/manage.py|
Expand Down Expand Up @@ -76,21 +76,21 @@
aiida/backends/sqlalchemy/models/utils.py|
aiida/backends/sqlalchemy/models/workflow.py|
aiida/backends/sqlalchemy/queries.py|
aiida/backends/sqlalchemy/tests/generic.py|
aiida/backends/sqlalchemy/tests/test_generic.py|
aiida/backends/sqlalchemy/tests/__init__.py|
aiida/backends/sqlalchemy/tests/nodes.py|
aiida/backends/sqlalchemy/tests/query.py|
aiida/backends/sqlalchemy/tests/schema.py|
aiida/backends/sqlalchemy/tests/session.py|
aiida/backends/sqlalchemy/tests/test_nodes.py|
aiida/backends/sqlalchemy/tests/test_query.py|
aiida/backends/sqlalchemy/tests/test_schema.py|
aiida/backends/sqlalchemy/tests/test_session.py|
aiida/backends/sqlalchemy/tests/testbase.py|
aiida/backends/sqlalchemy/tests/utils.py|
aiida/backends/sqlalchemy/tests/test_utils.py|
aiida/backends/sqlalchemy/transition_06dj_to_07sqla.py|
aiida/backends/sqlalchemy/utils.py|
aiida/backends/testbase.py|
aiida/backends/testimplbase.py|
aiida/backends/tests/backup_script.py|
aiida/backends/tests/backup_setup_script.py|
aiida/backends/tests/base_dataclasses.py|
aiida/backends/tests/test_backup_script.py|
aiida/backends/tests/test_backup_setup_script.py|
aiida/backends/tests/test_base_dataclasses.py|
aiida/backends/tests/cmdline/commands/test_calculation.py|
aiida/backends/tests/cmdline/commands/test_code.py|
aiida/backends/tests/cmdline/commands/test_comment.py|
Expand All @@ -101,33 +101,27 @@
aiida/backends/tests/cmdline/commands/test_node.py|
aiida/backends/tests/cmdline/commands/test_user.py|
aiida/backends/tests/cmdline/commands/test_work.py|
aiida/backends/tests/common/test_datastructures.py|
aiida/backends/tests/computer.py|
aiida/backends/tests/control/test_computer_ctrl.py|
aiida/backends/tests/daemon.py|
aiida/backends/tests/test_computer.py|
aiida/backends/tests/daemon/test_client.py|
aiida/backends/tests/dataclasses.py|
aiida/backends/tests/dbimporters.py|
aiida/backends/tests/example_helpers.py|
aiida/backends/tests/export_and_import.py|
aiida/backends/tests/generic.py|
aiida/backends/tests/test_dataclasses.py|
aiida/backends/tests/test_dbimporters.py|
aiida/backends/tests/test_export_and_import.py|
aiida/backends/tests/test_generic.py|
aiida/backends/tests/__init__.py|
aiida/backends/tests/nodes.py|
aiida/backends/tests/orm/data/frozendict.py|
aiida/backends/tests/orm/data/remote.py|
aiida/backends/tests/orm/utils/loaders.py|
aiida/backends/tests/parsers.py|
aiida/backends/tests/query.py|
aiida/backends/tests/tcodexporter.py|
aiida/backends/tests/test_nodes.py|
aiida/backends/tests/orm/data/test_frozendict.py|
aiida/backends/tests/orm/data/test_remote.py|
aiida/backends/tests/orm/utils/test_loaders.py|
aiida/backends/tests/test_parsers.py|
aiida/backends/tests/test_query.py|
aiida/backends/tests/test_tcodexporter.py|
aiida/backends/tests/test_caching_config.py|
aiida/backends/tests/test_plugin_loader.py|
aiida/backends/tests/utils/fixtures.py|
aiida/backends/tests/work/class_loader.py|
aiida/backends/tests/work/daemon.py|
aiida/backends/tests/work/job_processes.py|
aiida/backends/tests/work/persistence.py|
aiida/backends/tests/work/process.py|
aiida/backends/tests/work/run.py|
aiida/backends/tests/work/test_class_loader.py|
aiida/backends/tests/work/test_daemon.py|
aiida/backends/tests/work/test_persistence.py|
aiida/backends/tests/work/test_process.py|
aiida/backends/tests/work/test_run.py|
aiida/backends/tests/work/test_futures.py|
aiida/backends/tests/work/test_launch.py|
aiida/backends/tests/work/test_process_builder.py|
Expand All @@ -136,25 +130,15 @@
aiida/backends/tests/work/test_runners.py|
aiida/backends/tests/work/test_transport.py|
aiida/backends/tests/work/test_utils.py|
aiida/backends/tests/work/utils.py|
aiida/backends/tests/work/work_chain.py|
aiida/backends/tests/work/test_utils.py|
aiida/backends/tests/work/test_work_chain.py|
aiida/backends/utils.py|
aiida/common/datastructures.py|
aiida/daemon/execmanager.py|
aiida/manage/backup/backup_base.py|
aiida/orm/autogroup.py|
aiida/orm/backend.py|
aiida/orm/querybuilder.py|
aiida/orm/implementation/django/authinfo.py|
aiida/orm/implementation/django/backend.py|
aiida/orm/implementation/django/computer.py|
aiida/orm/implementation/django/__init__.py|
aiida/orm/implementation/django/utils.py|
aiida/orm/implementation/sqlalchemy/authinfo.py|
aiida/orm/implementation/sqlalchemy/backend.py|
aiida/orm/implementation/sqlalchemy/computer.py|
aiida/orm/implementation/sqlalchemy/__init__.py|
aiida/orm/implementation/sqlalchemy/querytool.py|
aiida/orm/implementation/sqlalchemy/utils.py|
aiida/orm/__init__.py|
aiida/orm/importexport.py|
Expand Down Expand Up @@ -192,20 +176,19 @@
aiida/plugins/info.py|
aiida/plugins/registry.py|
aiida/plugins/utils.py|
aiida/scheduler/datastructures.py|
aiida/scheduler/__init__.py|
aiida/scheduler/plugins/direct.py|
aiida/scheduler/plugins/lsf.py|
aiida/scheduler/plugins/pbsbaseclasses.py|
aiida/scheduler/plugins/pbsbaseclasses.py|
aiida/scheduler/plugins/sge.py|
aiida/scheduler/plugins/slurm.py|
aiida/scheduler/plugins/test_direct.py|
aiida/scheduler/plugins/test_lsf.py|
aiida/scheduler/plugins/test_pbspro.py|
aiida/scheduler/plugins/test_sge.py|
aiida/scheduler/plugins/test_slurm.py|
aiida/scheduler/plugins/test_torque.py|
aiida/schedulers/datastructures.py|
aiida/schedulers/plugins/direct.py|
aiida/schedulers/plugins/lsf.py|
aiida/schedulers/plugins/pbsbaseclasses.py|
aiida/schedulers/plugins/pbsbaseclasses.py|
aiida/schedulers/plugins/sge.py|
aiida/schedulers/plugins/slurm.py|
aiida/schedulers/plugins/test_direct.py|
aiida/schedulers/plugins/test_lsf.py|
aiida/schedulers/plugins/test_pbspro.py|
aiida/schedulers/plugins/test_sge.py|
aiida/schedulers/plugins/test_slurm.py|
aiida/schedulers/plugins/test_torque.py|
aiida/settings.py|
aiida/sphinxext/tests/conftest.py|
aiida/sphinxext/tests/test_workchain.py|
Expand Down Expand Up @@ -234,10 +217,10 @@
aiida/tools/dbimporters/plugins/pcod.py|
aiida/tools/dbimporters/plugins/tcod.py|
aiida/tools/__init__.py|
aiida/transport/plugins/ssh.py|
aiida/transport/plugins/test_all_plugins.py|
aiida/transport/plugins/test_local.py|
aiida/transport/plugins/test_ssh.py|
aiida/transports/plugins/ssh.py|
aiida/transports/plugins/test_all_plugins.py|
aiida/transports/plugins/test_local.py|
aiida/transports/plugins/test_ssh.py|
aiida/work/__init__.py|
aiida/work/job_processes.py|
utils/create_requirements.py|
Expand Down
Expand Up @@ -64,7 +64,7 @@ class TestGroupsSqla(AiidaTestCase):
def setUp(self):
from aiida.orm.implementation import sqlalchemy as sqla
super(TestGroupsSqla, self).setUp()
self.assertIsInstance(self.backend, sqla.SqlaBackend)
self.assertIsInstance(self.backend, sqla.backend.SqlaBackend)

def test_query(self):
"""
Expand Down
Expand Up @@ -24,7 +24,7 @@
from aiida.backends import sqlalchemy as sa
from aiida.backends.sqlalchemy import utils
from aiida.backends.sqlalchemy.models.base import Base
from aiida.backends.sqlalchemy.tests.utils import new_database
from aiida.backends.sqlalchemy.tests.test_utils import new_database
from aiida.backends.testbase import AiidaTestCase
from aiida.orm import load_node

Expand Down Expand Up @@ -951,7 +951,7 @@ def setUpBeforeMigration(self):
try:
session = Session(connection.engine)
import numpy
from aiida.plugins.factory import DataFactory
from aiida.plugins import DataFactory

TrajectoryData = DataFactory('array.trajectory') # pylint: disable=invalid-name
symbols = numpy.array(['H', 'O', 'C'])
Expand Down
84 changes: 42 additions & 42 deletions aiida/backends/tests/__init__.py
Expand Up @@ -17,34 +17,34 @@

db_test_list = {
BACKEND_DJANGO: {
'generic': ['aiida.backends.djsite.db.subtests.generic'],
'nodes': ['aiida.backends.djsite.db.subtests.nodes'],
'migrations': ['aiida.backends.djsite.db.subtests.migrations'],
'query': ['aiida.backends.djsite.db.subtests.query'],
'generic': ['aiida.backends.djsite.db.subtests.test_generic'],
'nodes': ['aiida.backends.djsite.db.subtests.test_nodes'],
'migrations': ['aiida.backends.djsite.db.subtests.test_migrations'],
'query': ['aiida.backends.djsite.db.subtests.test_query'],
},
BACKEND_SQLA: {
'generic': ['aiida.backends.sqlalchemy.tests.generic'],
'nodes': ['aiida.backends.sqlalchemy.tests.nodes'],
'query': ['aiida.backends.sqlalchemy.tests.query'],
'session': ['aiida.backends.sqlalchemy.tests.session'],
'schema': ['aiida.backends.sqlalchemy.tests.schema'],
'migrations': ['aiida.backends.sqlalchemy.tests.migrations'],
'generic': ['aiida.backends.sqlalchemy.tests.test_generic'],
'nodes': ['aiida.backends.sqlalchemy.tests.test_nodes'],
'query': ['aiida.backends.sqlalchemy.tests.test_query'],
'session': ['aiida.backends.sqlalchemy.tests.test_session'],
'schema': ['aiida.backends.sqlalchemy.tests.test_schema'],
'migrations': ['aiida.backends.sqlalchemy.tests.test_migrations'],
},
# Must be always defined (in the worst case, an empty dict)
'common': {
'generic': ['aiida.backends.tests.generic'],
'nodes': ['aiida.backends.tests.nodes'],
'base_dataclasses': ['aiida.backends.tests.base_dataclasses'],
'dataclasses': ['aiida.backends.tests.dataclasses'],
'dbimporters': ['aiida.backends.tests.dbimporters'],
'export_and_import': ['aiida.backends.tests.export_and_import'],
'parsers': ['aiida.backends.tests.parsers'],
'tcodexporter': ['aiida.backends.tests.tcodexporter'],
'query': ['aiida.backends.tests.query'],
'calculation_node': ['aiida.backends.tests.calculation_node'],
'backup_script': ['aiida.backends.tests.backup_script'],
'backup_setup_script': ['aiida.backends.tests.backup_setup_script'],
'restapi': ['aiida.backends.tests.restapi'],
'generic': ['aiida.backends.tests.test_generic'],
'nodes': ['aiida.backends.tests.test_nodes'],
'base_dataclasses': ['aiida.backends.tests.test_base_dataclasses'],
'dataclasses': ['aiida.backends.tests.test_dataclasses'],
'dbimporters': ['aiida.backends.tests.test_dbimporters'],
'export_and_import': ['aiida.backends.tests.test_export_and_import'],
'parsers': ['aiida.backends.tests.test_parsers'],
'tcodexporter': ['aiida.backends.tests.test_tcodexporter'],
'query': ['aiida.backends.tests.test_query'],
'calculation_node': ['aiida.backends.tests.test_calculation_node'],
'backup_script': ['aiida.backends.tests.test_backup_script'],
'backup_setup_script': ['aiida.backends.tests.test_backup_setup_script'],
'restapi': ['aiida.backends.tests.test_restapi'],
'cmdline.commands.calcjob': ['aiida.backends.tests.cmdline.commands.test_calcjob'],
'cmdline.commands.calculation': ['aiida.backends.tests.cmdline.commands.test_calculation'],
'cmdline.commands.code': ['aiida.backends.tests.cmdline.commands.test_code'],
Expand Down Expand Up @@ -89,38 +89,38 @@
'manage.configuration.options.': ['aiida.backends.tests.manage.configuration.test_options'],
'manage.configuration.profile.': ['aiida.backends.tests.manage.configuration.test_profile'],
'manage.external.postgres.': ['aiida.backends.tests.manage.external.test_postgres'],
'orm.authinfo': ['aiida.backends.tests.orm.authinfo'],
'orm.comments': ['aiida.backends.tests.orm.comments'],
'orm.computer': ['aiida.backends.tests.computer'],
'orm.data.frozendict': ['aiida.backends.tests.orm.data.frozendict'],
'orm.data.remote': ['aiida.backends.tests.orm.data.remote'],
'orm.data.upf': ['aiida.backends.tests.orm.data.upf'],
'orm.entities': ['aiida.backends.tests.orm.entities'],
'orm.groups': ['aiida.backends.tests.orm.groups'],
'orm.authinfos': ['aiida.backends.tests.orm.test_authinfos'],
'orm.comments': ['aiida.backends.tests.orm.test_comments'],
'orm.computer': ['aiida.backends.tests.test_computer'],
'orm.data.frozendict': ['aiida.backends.tests.orm.data.test_frozendict'],
'orm.data.remote': ['aiida.backends.tests.orm.data.test_remote'],
'orm.data.upf': ['aiida.backends.tests.orm.data.test_upf'],
'orm.entities': ['aiida.backends.tests.orm.test_entities'],
'orm.groups': ['aiida.backends.tests.orm.test_groups'],
'orm.implementation.backend': ['aiida.backends.tests.orm.implementation.test_backend'],
'orm.implementation.nodes': ['aiida.backends.tests.orm.implementation.test_nodes'],
'orm.logs': ['aiida.backends.tests.orm.logs'],
'orm.mixins': ['aiida.backends.tests.orm.mixins'],
'orm.logs': ['aiida.backends.tests.orm.test_logs'],
'orm.mixins': ['aiida.backends.tests.orm.test_mixins'],
'orm.node': ['aiida.backends.tests.orm.node.test_node'],
'orm.utils.calcjob': ['aiida.backends.tests.orm.utils.calcjob'],
'orm.utils.node': ['aiida.backends.tests.orm.utils.node'],
'orm.utils.loaders': ['aiida.backends.tests.orm.utils.loaders'],
'orm.utils.calcjob': ['aiida.backends.tests.orm.utils.test_calcjob'],
'orm.utils.node': ['aiida.backends.tests.orm.utils.test_node'],
'orm.utils.loaders': ['aiida.backends.tests.orm.utils.test_loaders'],
'work.calcfunctions': ['aiida.backends.tests.work.test_calcfunctions'],
'work.class_loader': ['aiida.backends.tests.work.class_loader'],
'work.daemon': ['aiida.backends.tests.work.daemon'],
'work.class_loader': ['aiida.backends.tests.work.test_class_loader'],
'work.daemon': ['aiida.backends.tests.work.test_daemon'],
'work.futures': ['aiida.backends.tests.work.test_futures'],
'work.launch': ['aiida.backends.tests.work.test_launch'],
'work.persistence': ['aiida.backends.tests.work.persistence'],
'work.process': ['aiida.backends.tests.work.process'],
'work.persistence': ['aiida.backends.tests.work.test_persistence'],
'work.process': ['aiida.backends.tests.work.test_process'],
'work.process_builder': ['aiida.backends.tests.work.test_process_builder'],
'work.process_function': ['aiida.backends.tests.work.test_process_function'],
'work.process_spec': ['aiida.backends.tests.work.test_process_spec'],
'work.rmq': ['aiida.backends.tests.work.test_rmq'],
'work.run': ['aiida.backends.tests.work.run'],
'work.run': ['aiida.backends.tests.work.test_run'],
'work.runners': ['aiida.backends.tests.work.test_runners'],
'work.transport': ['aiida.backends.tests.work.test_transport'],
'work.utils': ['aiida.backends.tests.work.test_utils'],
'work.work_chain': ['aiida.backends.tests.work.work_chain'],
'work.work_chain': ['aiida.backends.tests.work.test_work_chain'],
'work.workfunctions': ['aiida.backends.tests.work.test_workfunctions'],
'plugin_loader': ['aiida.backends.tests.test_plugin_loader'],
'caching_config': ['aiida.backends.tests.test_caching_config'],
Expand Down
3 changes: 2 additions & 1 deletion aiida/backends/tests/cmdline/commands/test_calcjob.py
Expand Up @@ -38,9 +38,10 @@ def setUpClass(cls, *args, **kwargs):
super(TestVerdiCalculation, cls).setUpClass(*args, **kwargs)
from aiida.backends.tests.utils.fixtures import import_archive_fixture
from aiida.common.links import LinkType
from aiida.orm import CalculationFactory, Data
from aiida.orm import Data
from aiida.orm import CalcJobNode
from aiida.orm.nodes.data.parameter import ParameterData
from aiida.plugins import CalculationFactory
from aiida.work.processes import ProcessState
from aiida import orm

Expand Down
3 changes: 2 additions & 1 deletion aiida/backends/tests/cmdline/commands/test_calculation.py
Expand Up @@ -35,9 +35,10 @@ def setUpClass(cls, *args, **kwargs):
super(TestVerdiCalculation, cls).setUpClass(*args, **kwargs)
from aiida.backends.tests.utils.fixtures import import_archive_fixture
from aiida.common.links import LinkType
from aiida.orm import CalculationFactory, Data
from aiida.orm import Data
from aiida.orm import CalcJobNode
from aiida.orm.nodes.data.parameter import ParameterData
from aiida.plugins import CalculationFactory
from aiida.work.processes import ProcessState
from aiida import orm

Expand Down
File renamed without changes.