Skip to content

Core Tools

The Core Tools connector synchronizes datasets from a Core Tools PostgreSQL database.

Package etiket_sync_agent_core_tools
Identifier etiket_sync_agent_core_tools
Type Database
Scope Scope mapping (no single default scope)
Live sync Yes — datasets still being acquired are synchronized live

Installation

from etiket_sdk.sync import Connectors

Connectors.install_from_pypi("etiket_sync_agent_core_tools")

In the DataQruiser app, go to the sync page and open Sync Settings with the gear button (top left). On the Connectors tab, find Core Tools in the Available list and click Install. If it isn't listed, use Install Connector → Install from PyPI with etiket_sync_agent_core_tools as the package name.

Configuration

Parameter Type Description
dbname str Name of the PostgreSQL database.
user str Database user.
password str Database password.
host str (optional, default localhost) Database host.
port int (optional, default 5432) Database port.

Create a sync source

Core Tools datasets carry their own scope identifiers (project names), so instead of a single default_scope you map those identifiers to scopes. Pass autoassign_scope_mapping=True to automatically match identifiers to scope names:

from etiket_sdk.sync import SyncSources

source = SyncSources.create(
    name="my_coretools_source",
    connector_identifier="etiket_sync_agent_core_tools",
    config_data={
        "dbname": "coretools_db",
        "user": "ct_user",
        "password": "••••••••",
        "host": "localhost",
        "port": 5432,
    },
    autoassign_scope_mapping=True,
)

You can also add this source from the DataQruiser app.

Scope mapping

Identifiers that don't match exactly one scope name need to be mapped manually. See Scope mappings for managing them:

import uuid

source = SyncSources.get("my_coretools_source")
print(source.unmapped_identifiers())
source.create_mapping("project_A", uuid.UUID("12345678-1234-1234-1234-123456789abc"))