qilingframework / qilingframework/qiling

Make python-fx an optional dependency

Open
#1,665 0 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.