GitHub
05/07/2026, 8:44 AMPG_PORT as an environment level env in my meltano.yml and forgot to quote the integer. I assume we'd say that they should always be quoted but the error logs were really hard to decrypt what the issue was. It just says expected str, bytes or os.PathLike object, not int.
What is the expected correct behavior?
What should be happening?
It should either validate for this or catch the exception and try to give a better log message so I can fix it without having to read through the stack trace.
Steps to reproduce
How one can reproduce the issue?
plugins:
extractors:
- name: tap-gitlab
variant: meltanolabs
pip_url: git+https://github.com/MeltanoLabs/tap-gitlab.git
select:
- commits.id
- commits.project_id
- commits.created_at
- commits.author_name
- commits.message
- tags.*
- '!*.*_url'
loaders:
- name: target-postgres
variant: transferwise
pip_url: pipelinewise-target-postgres
orchestrators:
- name: airflow
pip_url: apache-airflow==2.1.2 --constraint https://raw.githubusercontent.com/apache/airflow/constraints-2.1.2/constraints-${MELTANO__PYTHON_VERSION}.txt
transformers:
- name: dbt
pip_url: 'dbt-core~=1.0.0 dbt-postgres~=1.0.0 dbt-redshift~=1.0.0 dbt-snowflake~=1.0.0
dbt-bigquery~=1.0.0
'
files:
- name: dbt
pip_url: git+https://gitlab.com/meltano/files-dbt.git@config-version-2
- name: airflow
pip_url: git+https://gitlab.com/meltano/files-airflow.git
environments:
- name: dev
config:
plugins:
extractors:
- name: tap-gitlab
config:
projects: meltano/meltano meltano/tap-gitlab
start_date: '2021-03-01T000000Z'
loaders:
- name: target-postgres
config:
user: meltano
dbname: warehouse
default_target_schema: public
transformers:
- name: dbt
config:
target: postgres
source_schema: public
env:
PG_ADDRESS: localhost
PG_PORT: 5432
PG_USERNAME: meltano
PG_DATABASE: warehouse
Then I ran
meltano --log-level=debug --environment=dev invoke dbt:compile
Relevant logs and/or screenshots
Please use code blocks (```) to format console output
2022-03-04T17:13:08.705829Z [debug ] expected str, bytes or os.PathLike object, not int
Traceback (most recent call last):
File "/Users/pnadolny/.virtualenvs/meltano_project/lib/python3.8/site-packages/meltano/cli/__init__.py", line 47, in main
cli(obj={"project": None})
File "/Users/pnadolny/.virtualenvs/meltano_project/lib/python3.8/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/Users/pnadolny/.virtualenvs/meltano_project/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/Users/pnadolny/.virtualenvs/meltano_project/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/Users/pnadolny/.virtualenvs/meltano_project/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/pnadolny/.virtualenvs/meltano_project/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/Users/pnadolny/.virtualenvs/meltano_project/lib/python3.8/site-packages/meltano/cli/params.py", line 23, in decorate
return func(*args, **kwargs)
File "/Users/pnadolny/.virtualenvs/meltano_project/lib/python3.8/site-packages/meltano/cli/params.py", line 56, in decorate
func(project, *args, **kwargs)
File "/Users/pnadolny/.virtualenvs/meltano_project/lib/python3.8/site-packages/meltano/cli/invoke.py", line 88, in invoke
exit_code = run_async(
File "/Users/pnadolny/.virtualenvs/meltano_project/lib/python3.8/site-packages/meltano/core/utils/__init__.py", line 50, in run_async
loop.run_until_complete(future)
File "/Users/pnadolny/.pyenv/versions/3.8.12/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
return future.result()
File "/Users/pnadolny/.virtualenvs/meltano_project/lib/python3.8/site-packages/meltano/cli/invoke.py", line 131, in _invoke
handle = await invoker.invoke_async(*plugin_args, command=command_name)
File "/Users/pnadolny/.virtualenvs/meltano_project/lib/python3.8/site-packages/meltano/core/plugin_invoker.py", line 393, in invoke_async
return await asyncio.create_subprocess_exec(
File "/Users/pnadolny/.pyenv/versions/3.8.12/lib/python3.8/asyncio/subprocess.py", line 236, in create_subprocess_exec
transport, protocol = await loop.subprocess_exec(
File "/Users/pnadolny/.pyenv/versions/3.8.12/lib/python3.8/asyncio/base_events.py", line 1630, in subprocess_exec
transport = await self._make_subprocess_transport(
File "/Users/pnadolny/.pyenv/versions/3.8.12/lib/python3.8/asyncio/unix_events.py", line 197, in _make_subprocess_transport
transp = _UnixSubprocessTransport(self, protocol, args, shell,
File "/Users/pnadolny/.pyenv/versions/3.8.12/lib/python3.8/asyncio/base_subprocess.py", line 36, in __init__
self._start(args=args, shell=shell, stdin=stdin, stdout=stdout,
File "/Users/pnadolny/.pyenv/versions/3.8.12/lib/python3.8/asyncio/unix_events.py", line 789, in _start
self._proc = subprocess.Popen(
File "/Users/pnadolny/.pyenv/versions/3.8.12/lib/python3.8/subprocess.py", line 858, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/Users/pnadolny/.pyenv/versions/3.8.12/lib/python3.8/subprocess.py", line 1628, in _execute_child
env_list.append(k + b'=' + os.fsencode(v))
File "/Users/pnadolny/.pyenv/versions/3.8.12/lib/python3.8/os.py", line 806, in fsencode
filename = fspath(filename) # Does type-checking of `filename`.
TypeError: expected str, bytes or os.PathLike object, not int
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/pnadolny/.virtualenvs/meltano_project/lib/python3.8/site-packages/meltano/cli/__init__.py", line 55, in main
raise CliError(str(err)) from err
meltano.cli.utils.CliError: expected str, bytes or os.PathLike object, not int
expected str, bytes or os.PathLike object, not int
Possible fixes
If you can, link to the line of code that might be responsible for the problem or suggest a fix
Further regression test
Ensure we automatically catch similar issues in the future
• Write additional adequate test cases and submit test results
• Test results should be reviewed by a person from the team
meltano/meltanoGitHub
05/07/2026, 8:44 AM