Hello, I recently opened a <PR for a new ingestion...
# contribute-code
c
Hello, I recently opened a PR for a new ingestion source for RavenDB. Unfortunately I'm not making much progress on it as I can't get the tests to run locally on my end. Installing the dependencies in a python environment fails because I can't build the python-ldap wheel. Therefore I built a Datahub Docker image to copy my current code into it and test it. The image looks like this: When I do the dev installations with "pip install -e '.[dev]'", I get the error:
tests/test_helpers/state_helpers.py:9: in <module>
from datahub.ingestion.api.ingestion_job_checkpointing_provider_base import (
src/datahub/ingestion/api/ingestion_job_checkpointing_provider_base.py:8: in <module>
from datahub.ingestion.api.common import PipelineContext
src/datahub/ingestion/api/common.py:10: in <module>
from datahub.ingestion.graph.client import DatahubClientConfig, DataHubGraph
tests/test_helpers/state_helpers.py:9: in <module>
from datahub.ingestion.api.ingestion_job_checkpointing_provider_base import (
src/datahub/ingestion/api/ingestion_job_checkpointing_provider_base.py:8: in <module>
from datahub.ingestion.api.common import PipelineContext
src/datahub/ingestion/api/common.py:10: in <module>
from datahub.ingestion.graph.client import DatahubClientConfig, DataHubGraph
src/datahub/ingestion/graph/client.py:24: in <module>
from datahub.metadata.schema_classes import (
E  ImportError: cannot import name 'ASPECT_NAME_MAP' from 'datahub.metadata.schema_classes' (/datahub-ingestion/src/datahub/metadata/schema_classes.py)
When I do "pip install '.[dev]'" (without "-e"), I get the following error:
FAILED tests/integration/ravendb/test_ravendb.py::test_ravendb_ingest_without_collections - datahub.ingestion.rons per failedun.pipeline.PipelineInitError: Failed to find a registered source for type ravendb: 'Did not find a registered class for ravendb'.
Can anyone tell me what I am doing wrong or how to run the tests?
g
you’ll need to do a
./gradlew :metadata-ingestion:codegen
first, before the pip install command
You may also need to do
pip install -e '.[dev,ravendb]'
(or whatever the name of your plugin is)