Hello, When I initialize a meltano project, I’m u...
# plugins-general
a
Hello, When I initialize a meltano project, I’m unable to install the loader “target-mongodb.” The extractors and other loaders worked, but mongodb does not install for some reason, it says failed to install plugin. However, I am able to install target-mongodb through docker. Has anyone faced this issue before? The text in purple that indicates cannot import poetry core, but I asked chatgpt which gave me instructions to setup this poetry core, but the error still persists.
r
Can you share some logs? My guess would be incompatible Python version.
a
sure
ayush@Sharad1:~/test$ meltano add loader target-mongodb Added loader ‘target-mongodb’ to your project Variant: hotgluexyz (default) Repository: https://gitlab.com/hotglue/target-mongodb Documentation: https://hub.meltano.com/loaders/target-mongodb--hotgluexyz 2025-06-19T235141.074455Z [info ] Installing loader ‘target-mongodb’ 2025-06-19T235144.953083Z [info ] Logged pip install output to /home/ayush/test/.meltano/logs/pip/loaders/target-mongodb/pip.log 2025-06-19T235144.953352Z [error ] Loader ‘target-mongodb’ could not be installed: Failed to install plugin ‘target-mongodb’. details=’Collecting git+https://gitlab.com/hotglue/target-mongodb.git\n Cloning https://gitlab.com/hotglue/target-mongodb.git to /tmp/pip-req-build-pqneclol\n Running command git clone --filter=blob:none --quiet https://gitlab.com/hotglue/target-mongodb.git /tmp/pip-req-build-pqneclol\n Resolved https://gitlab.com/hotglue/target-mongodb.git to commit 01032d4652c837283ae6349129b5c929ae5edb26\n Installing build dependencies: started\n Installing build dependencies: finished with status \‘done\’\n Getting requirements to build wheel: started\n Getting requirements to build wheel: finished with status \‘done\’\nERROR: Exception:\nTraceback (most recent call last):\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/cli/base_command.py”, line 105, in _run_wrapper\n status = _inner_run()\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/cli/base_command.py”, line 96, in _inner_run\n return self.run(options, args)\n ~~~~~~~~^^^^^^^^^^^^^^^\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/cli/req_command.py”, line 68, in wrapper\n return func(self, options, args)\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/commands/install.py”, line 387, in run\n requirement_set = resolver.resolve(\n reqs, check_supported_wheels=not options.target_dir\n )\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/resolver.py”, line 77, in resolve\n collected = self.factory.collect_root_requirements(root_reqs)\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/factory.py”, line 545, in collect_root_requirements\n reqs = list(\n self._make_requirements_from_install_req(\n ...<2 lines>...\n )\n )\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/factory.py”, line 501, in _make_requirements_from_install_req\n cand = self._make_base_candidate_from_link(\n ireq.link,\n ...<2 lines>...\n version=None,\n )\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/factory.py”, line 233, in _make_base_candidate_from_link\n self._link_candidate_cache[link] = LinkCandidate(\n ~~~~~~~~~~~~~^\n link,\n ^^^^^\n ...<3 lines>...\n version=version,\n ^^^^^^^^^^^^^^^^\n )\n ^\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/candidates.py”, line 306, in __init__\n super().__init__(\n ~~~~~~~~~~~~~~~~^\n link=link,\n ^^^^^^^^^^\n ...<4 lines>...\n version=version,\n ^^^^^^^^^^^^^^^^\n )\n ^\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/candidates.py”, line 159, in __init__\n self.dist = self._prepare()\n ~~~~~~~~~~~~~^^\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/candidates.py”, line 236, in _prepare\n dist = self._prepare_distribution()\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/candidates.py”, line 317, in _prepare_distribution\n return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/operations/prepare.py”, line 532, in prepare_linked_requirement\n return self._prepare_linked_requirement(req, parallel_builds)\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/operations/prepare.py”, line 647, in _prepare_linked_requirement\n dist = _get_prepared_distribution(\n req,\n ...<3 lines>...\n self.check_build_deps,\n )\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/operations/prepare.py”, line 71, in _get_prepared_distribution\n abstract_dist.prepare_distribution_metadata(\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^\n finder, build_isolation, check_build_deps\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n )\n ^\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/distributions/sdist.py”, line 56, in prepare_distribution_metadata\n self._install_build_reqs(finder)\n ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/distributions/sdist.py”, line 126, in _install_build_reqs\n build_reqs = self._get_build_requires_wheel()\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/distributions/sdist.py”, line 103, in _get_build_requires_wheel\n return backend.get_requires_for_build_wheel()\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_internal/utils/misc.py”, line 702, in get_requires_for_build_wheel\n return super().get_requires_for_build_wheel(config_settings=cs)\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_impl.py”, line 196, in get_requires_for_build_wheel\n return self._call_hook(\n ~~~~~~~~~~~~~~~^\n “get_requires_for_build_wheel”, {“config_settings”: config_settings}\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n )\n ^\n File “/home/ayush/test/.meltano/loaders/target-mongodb/venv/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_impl.py”, line 402, in _call_hook\n raise BackendUnavailable(\n ...<4 lines>...\n )\npip._vendor.pyproject_hooks._impl.BackendUnavailable: Cannot import \‘poetry.core.masonry.api\‘\n’
sorry, its quite long, but it says somethint about poetry core
figured it out!
👍 1
m
@Ayush I had similar issues and changed the Python version to fix them, which I don’t feel was quite right. Would you mind sharing what you did to resolve the problem? From your log it seems like a missing dependancy, though.
r
The target doesn't support Python 3.11 and above: you get a clearer error explaining this when running with Python 3.11
Copy code
(.venv) reuben@reuben-Inspiron-14-5425:/tmp/p$ meltano install --clean loader target-mongodb
2025-06-20T08:20:39.039103Z [info     ] Installing 1 plugins          
2025-06-20T08:20:39.048610Z [info     ] Installing loader 'target-mongodb'
2025-06-20T08:20:43.035776Z [info     ] Logged pip install output to /tmp/p/.meltano/logs/pip/loaders/target-mongodb/pip.log
2025-06-20T08:20:43.035991Z [error    ] Loader 'target-mongodb' could not be installed: Failed to install plugin 'target-mongodb'. details="Collecting git+<https://gitlab.com/hotglue/target-mongodb.git>\n  Cloning <https://gitlab.com/hotglue/target-mongodb.git> to /tmp/pip-req-build-1llt_f2f\n  Running command git clone --filter=blob:none --quiet <https://gitlab.com/hotglue/target-mongodb.git> /tmp/pip-req-build-1llt_f2f\n  Resolved <https://gitlab.com/hotglue/target-mongodb.git> to commit 01032d4652c837283ae6349129b5c929ae5edb26\n  Installing build dependencies: started\n  Installing build dependencies: finished with status 'done'\n  Getting requirements to build wheel: started\n  Getting requirements to build wheel: finished with status 'done'\n  Preparing metadata (pyproject.toml): started\n  Preparing metadata (pyproject.toml): finished with status 'done'\nINFO: pip is looking at multiple versions of target-mongodb to determine which version is compatible with other requirements. This could take a while.\nERROR: Package 'target-mongodb' requires a different Python: 3.11.9 not in '<3.11,>=3.7.1'\n"
Need help fixing this problem? Visit <http://melta.no/> for troubleshooting steps, or to
join our friendly Slack community.

Failed to install plugin(s)
but 3.12 and 3.13 give that Poetry error.
🙌 1
a
hello, I tried installing that dependancy but it wasnt the issue. Actually, as Rueben pointed out, it seems that the pyenv version needs to be below 3.11 for some reason. Try these commands in order (im on wsl, btw some may not be necessary, its the ones I entered): sudo apt update sudo apt install -y pipx export PATH=“$HOME/.local/bin:$PATH” pipx uninstall meltano pipx install meltano --python ~/.pyenv/versions/3.10.12/bin/python3 cd into your meltano project rm -rf .meltano/loaders/target-mongodb/venv \ plugins/loaders/target-mongodb--hotgluexyz.lock export PIP_NO_BUILD_ISOLATION=1 meltano add loader target-mongodb //installation successful on my end
👌 1
m
Thank you for the clarification. So my action was actually right - I did not expect that 😄
🙌 1