airbytehq / airbytehq/PyAirbyte

VenvExecutor fails to install a connector package if it has the wrong executable name

Open
#290 1 comment 1 reaction 0 assignees View on GitHub
bug good first issue
Dominant language
Python
Stars
344
Forks
77
Avg merge
1d 11h
Merged PRs (30d)
35

Description

## Problem

In https://github.com/airbytehq/airbyte/pull/40693, we've been fixing source-braintree, and mistakenly set it's script name wrong:

```
[tool.poetry.scripts]
source-braintree = "source_braintree.run:run"
```

When pyairbyte tried to validate, it rightfully noticed that `source-braintree` is not a valid executable in the venv, and attempted reinstalling, but:

```
Successfully built source-braintree

...

Thank you for using PyAirbyte!
Anonymous usage reporting is currently enabled. For more information, please see https://docs.airbyte.com/telemetry
Creating source and validating spec is returned successfully...
Connector executable not found within the virtual environment at
/airbyte-integrations/connectors/source-braintree/.venv-source-braintree/bin/sou
rce-braintree.
Reinstalling...
Installing 'source-braintree' into virtual environment
'/airbyte-integrations/connectors/source-braintree/.venv-source-braintree'.
Running 'pip install airbyte-{connector_name}'...
```

So what happens here is that `self.pip_url` of the executor silently becomes `connector_name`. I see it defaults to `self.name`, but don't see the problem deeper. A nice puzzle if someone wants to tinker ;)

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.