Oren Teich
03/20/2025, 4:21 AMAndy Carter
03/20/2025, 8:13 AMOren Teich
03/20/2025, 4:03 PMvisch
03/20/2025, 6:56 PMvisch
03/20/2025, 6:58 PMvisch
03/20/2025, 6:58 PMAndy Carter
03/21/2025, 8:34 AMvisch
03/21/2025, 1:09 PMutilities:
- name: autoidm-transform
namespace: autoidm_transform
pip_url: -e ./autoidm-transform
- name: autoidm-ehsinsight_report
namespace: autoidm_transform
pip_url: -e ./autoidm-transform
In the project there's a folder called autoidm-transform that's a standard python project
so
./autoidm-transform/pyproject.toml
./autoidm-transform/autoidm_transform/script.py
pyproject.toml that looks like this
[tool.poetry]
name = "autoidm-transform"
version = "0.1.0"
description = "Client Transformations"
authors = ["Derek Visch <dvisch@autoidm.com>"]
[tool.poetry.dependencies]
python = ">=3.9"
pandas = "1.5.0"
numpy = "1.26.4" # Pinned to prevent ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
sqlalchemy = "1.4.40"
psycopg2-binary = "2.9.3"
[tool.poetry.dev-dependencies]
pytest = "^5.2"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.scripts]
autoidm-transform = "autoidm_transform.desired_azuread:Transformation.run"
visch
03/21/2025, 1:10 PMpip_url
and then add the exectuable key in your meltano.yml to point to your python file that has whatever you want to runvisch
03/21/2025, 1:12 PMutilities:
- name: autoidm-transform
executable: $MELTANO_PROJECT_ROOT/script.py
pip_url: sqlalchemy
Oren Teich
03/21/2025, 9:21 PMutilities:
- name: dbt-postgres
variant: dbt-labs
pip_url: dbt-core dbt-postgres meltano-dbt-ext~=0.3.0
config:
host: localhost... etc
- name: company-matcher
executable: $MELTANO_PROJECT_ROOT/matcher.py
pip_url: sqlalchemy python-dotenv
$ meltano invoke company-matcher
2025-03-21T21:19:31.159251Z [info ] Environment 'dev' is active
Utility 'company-matcher' is not known to Meltano. Try running `meltano lock --update --all` to ensure your plugins are up to date.
$ meltano lock --update --all
Utility 'company-matcher' is not known to Meltano. Check <https://hub.meltano.com/> for available plugins.
Running the matcher.py by itself works ‘great’ (it’s a hello world to test how to invoke utilities’.
I’m running meltano version 3.6.0visch
03/25/2025, 3:43 PMnamespace: company_match
see if that does it for you or not