qilingframework / qilingframework/qiling
Make python-fx an optional dependency
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 6.1k
- Forks
- 798
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 9
Description
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I use qiling in a python project to emulate binaries. It's an awesome project thanks a lot !
Nevertheless each time I build it, it imports loads of dependencies that I don't need and don't use, especially python-fx, that imports pillow, which
- crouds my github security advisory with vulnerabilities in pillow,
- limits the python versions my project can build for.
Describe the solution you'd like
Send us a pull request always help, or any pseudo code might be useful.
At the moment I do a manual override to say that I don't need python-fx in my pyproject.toml, but I would really like it if qiling could implement blocks of optionnal dependencies groups (such as this other RE project angr does :
https://github.com/angr/angr/blob/9af373689f450717ec0d0b8be0daed2477a091ee/pyproject.toml#L81-L99
So as people using qiling as a dependency can only import the core of a qiling in their projects.
Thanks a lot
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting the dependency declarations in pyproject.toml, then compare their optional-dependency groups with the angr example linked in the issue. Verify that a core qiling installation no longer pulls in python-fx while users can still opt into the related dependency group.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 70/100