-
Notifications
You must be signed in to change notification settings - Fork 565
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
split up the required dependencies by backend #1810
Comments
|
currently importing |
We should then also test all install configurations... 😟 |
I think we should at least test "with everything" and "with nothing". |
i'm not sure if its possible to provide a default collection, like:
but if the user provides something more specific, use that instead, like:
otherwise, its a breaking change, and we'll have to encourage users to use |
so we should keep this as simple as possible, e.g.:
then we could have checks in the code that have fallbacks if an UI/optional module is not available |
I think it's been a good exercise to review the dependencies and update documentation (esp. with pyproject.toml). Given that there are no external requests to split up the dependencies into collections, I don't think we should pursue that at this time. It seems possible to do, but it's a substantial breaking change, and there's not an immediate tangible benefit. I plan to open a PR shortly with some tweaks to importing (deferring some imports to closer to their usage) and documenting the dependencies with pyproject.toml. Then I'll propose that we close out this issue. |
sounds good! |
right now, we install all dependencies for all (library) users:
capa/pyproject.toml
Lines 35 to 52 in 40d9587
however, some users might not be using IDA while others might not use Ghidra/dnfile/BN/etc.
we should categorize the dependencies by backend and install only what is needed. for example
pip install capa[ida,dncil]
. core capa should require as few dependencies as possible.The text was updated successfully, but these errors were encountered: