I have been searching the web for quite some time now, but the plethora of opinions/comments/articles about licensing questions make it difficult to verify how trustworthy the various sources are. Also, they're often contradictory which left me behind confused after my search. Since it's probably a common situation an open-source developer faces, I guess there are people who are less confused.
The scenario: development of a python code library hosted on github that requires two other libraries pip installed on the user's system in order to work. One of which is BSD licensed, one of which is GPLv3 licensed. No modifications of those libraries are required, we just need their core functionality as available in certain versions.
1) Am I right, that even if I don't pack the required GPLv3 library into our codebas, i.e. don't copy it into our git repo, the fact that we call this libraries' classes/methods from within our code, renders our code "derivative work" and hence we're obliged to also release our library under the GPLv3? Or is there a difference between requiring some other package to be installed and shipping (a potentially modified) GPLv3'ed library with our library?
2) We can just state that the BSD licensed library is required, but that does not impose further constraints on how we license our library itself?
In brief: The BSD library is easy to list as a requirement -- does us requiring the GPLv3'ed library fall under derivative work and hence requires us to license our code under the GPLv3 as well or not?
Ideally, we'd like not to license our code under the GPLv3 but we might be obliged to. Is there a way to disentangle such code requirement scenarios in order to be free to license our core code under any license we want? What happens if we not even state any license, does "please install this GPLv3 lib on your computer" automatically render our code GPLv3'ed?
(Since it's all libraries, so just codebases, this frontend/backend distinction which may allow different licenses, won't apply here, I guess? Or can we view our library as a frontend, since the user is not required to anyhow interact with the two required libraries, i.e. they're somehow 'backend'.)