Skip to content

Commit

Permalink
Migrate to setup.py and PEP 517
Browse files Browse the repository at this point in the history
  • Loading branch information
nullableVoidPtr committed Mar 9, 2022
1 parent ed23d03 commit bf6d0bf
Show file tree
Hide file tree
Showing 4 changed files with 143 additions and 103 deletions.
68 changes: 68 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
[project]
name = "qiling"
version = "1.2.0-dev"
description = "Qiling is an advanced binary emulation framework that cross-platform-architecture"
readme = "README.md"
requires-python = ">=3.8"
license = {file = "COPYING", text = "GPL-2.0-only"}
maintainers = [
{name = "KaiJern Lau (xwings)", email = "info@qiling.io"}
]
keywords = ["qiling", "binary", "emulator", "framework", "malware", "analysis", "UEFI", "IoT"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Topic :: Software Development :: Build Tools",
"License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
"Programming Language :: Python :: 3"
]

dependencies = [
"capstone>=4.0.1",
"unicorn==2.0.0-rc5",
"pefile>=2021.9.3",
"python-registry>=1.3.1",
"keystone-engine>=0.9.2",
"pyelftools>=0.26",
"gevent>=20.9.0",
"multiprocess>=0.70.12.2",
"pyyaml>=6.0",
"windows-curses>=2.1.0; platform_system == 'Windows'"
]

[project.optional-dependencies]
evm = [
"blake2b-py>=0.1.2",
"cached-property>=1.5.2; python_version < '3.8'",
"typing-extensions>=3.7.4.3; python_version < '3.8'",
"eth-keys>=0.2.1",
"eth-typing>=2.2.0",
"eth-utils>=1.9.4",
"eth_abi>=2.1.1",
"lru-dict>=1.1.6",
"py-ecc>=1.4.7",
"rlp>=2",
"trie==2.0.0-alpha.5",
"eth-hash[pycryptodome]",
"numpy",
"rich",
"cmd2"
]
fuzz = [
"aflunicorn>=2.0.0; platform_system != 'Windows'",
"fuzzercorn>=0.0.1; platform_system == 'Linux'"
]

[project.urls]
homepage = "qiling.io"
documentation = "docs.qiling.io"
epository = "github.com/qilingframework/qiling"
changelog = "github.com/qilingframework/qiling/blob/master/ChangeLog"

[project.scripts]
qltool = "qltool:main"

[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"

6 changes: 5 additions & 1 deletion qltool
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ def handle_examples(parser: argparse.ArgumentParser):

parser.exit(0, __ql_examples)

if __name__ == '__main__':
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--version', action='version', version=f'qltool for Qiling {ql_version}, using Unicorn {unicorn.__version__}')

Expand Down Expand Up @@ -260,3 +260,7 @@ if __name__ == '__main__':
print(report.generate_report(ql, pretty_print=True))

exit(ql.os.exit_code)


if __name__ == '__main__':
main()
70 changes: 70 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
[metadata]
name = qiling
version = 1.2.0-dev
url = https://qiling.io/
project_urls =
Documentation = https://docs.qiling.io
Repository = https://github.com/qilingframework/qiling
Changelog = https://github.com/qilingframework/qiling/blob/master/ChangeLog
maintainer = KaiJern Lau (xwings)
maintainer_email = info@qiling.io
classifiers =
Development Status :: 3 - Alpha
Intended Audience :: Developers
Topic :: Software Development :: Build Tools
License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Programming Language :: Python :: 3
license = GPLv2
license_file = COPYING
description = Qiling is an advanced binary emulation framework that cross-platform-architecture
long_description = file: README.md
long_description_content_type = text/markdown
keywords=
qiling
binary
emulator
framework
malware
analysis
UEFI
IoT
platforms = any

[options]
packages = find:
install_requires =
capstone>=4.0.1
unicorn==2.0.0-rc5
pefile>=2021.9.3
python-registry>=1.3.1
keystone-engine>=0.9.2
pyelftools>=0.26
gevent>=20.9.0
multiprocess>=0.70.12.2
pyyaml>=6.0
windows-curses>=2.1.0; platform_system == 'Windows'
python_requires = >=3.8
scripts =
qltool
include_package_data = True

[options.extras_require]
evm =
blake2b-py>=0.1.2
cached-property>=1.5.2; python_version < '3.8'
typing-extensions>=3.7.4.3; python_version < '3.8'
eth-keys>=0.2.1
eth-typing>=2.2.0
eth-utils>=1.9.4
eth_abi>=2.1.1
lru-dict>=1.1.6
py-ecc>=1.4.7
rlp>=2
trie==2.0.0-alpha.5
eth-hash[pycryptodome]
numpy
rich
cmd2
fuzz =
aflunicorn>=2.0.0; platform_system != 'Windows'
fuzzercorn>=0.0.1; platform_system == 'Linux'
102 changes: 0 additions & 102 deletions setup.py

This file was deleted.

0 comments on commit bf6d0bf

Please sign in to comment.