dbt-labs / dbt-labs/dbt

[1.x Bug] dbt-core 1.12 can't be installed in environment without access to GitHub access (because of dbt-core-experimental-parser)

Open
#15,670 4 comments 12 reactions 0 assignees View on GitHub
area:engine engine:v1 type:bug
Dominant language
Rust
Stars
13.8k
Forks
2.6k
Avg merge
21h 31m
Merged PRs (30d)
56

Description

### Is this a new bug in dbt-core?

- [x] I believe this is a new bug in dbt-core
- [x] I have searched the existing issues, and I could not find an existing issue for this bug

### Current Behavior

I am building my application with `dbt-core` in an CI environment that has no access to the public internet. All packages my app needs are downloaded from my organization's internal Artifactory, which includes a PyPI mirror. However, from `dbt-core` version `1.12.0`, the `dbt-core-experimental-parser` package is transitively included, and when installing `dbt-core` (using `pip`, it will ignore the `--index-url` parameter, and try to retrieve the wheel for the `dbt-core-experimental-parser` package from GitHub, and this fails. See the attached log output.

Publishing the wheels of `dbt-core-experimental-parser` to PyPI would solve this problem. Would this be an option?

### Expected Behavior

Installing `dbt-core` version `1.12.0` works in an environment where the only location to download packages is an Artifactory mirror of PyPI.

### Steps To Reproduce

Can't describe this issue in a generic way, without knowing the environment

### Relevant log output

```shell
error: subprocess-exited-with-error

× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [14 lines of output]
Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in
main()
~~~~^^
File "/usr/local/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
json_out["return_val"] = hook(**hook_input["kwargs"])
~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 178, in prepare_metadata_for_build_wheel
whl_basename = backend.build_wheel(metadata_directory, config_settings)
File "/tmp/pip-install-lwwc3rdk/dbt-core-experimental-parser_9ec6e338535d4b21943b594fd5f64b26/_dbt_sa_build/__init__.py", line 66, in build_wheel
data = _fetch(url)
File "/tmp/pip-install-lwwc3rdk/dbt-core-experimental-parser_9ec6e338535d4b21943b594fd5f64b26/_dbt_sa_build/__init__.py", line 59, in _fetch
raise RuntimeError(f"failed to download {url}: {last}")
RuntimeError: failed to download https://github.com/dbt-labs/dbt-core/releases/download/v2.0.0-alpha.5/dbt_core_experimental_parser-2.0.0a5-py3-none-manylinux_2_28_x86_64.whl:
```

### Environment

```markdown
- OS: Linux (based on official python:3.13 Docker image)
- Python: 3.13
- dbt: 1.12.0
```

### Which database adapter are you using with dbt?

_No response_

### Additional Context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.