Skip to content

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

Description

Problem

In airbytehq/airbyte#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 ;)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggood first issueGood for newcomers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions