Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
run: |
export PATH="$PATH:$PWD/exodus_core/dexdump/"
python -m unittest discover -v -s exodus_core -p "test_*.py"
python setup.py sdist
python -m build --sdist --wheel
- name: Upload archive
uses: actions/upload-artifact@v4
with:
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,7 @@ __pycache__/
venv/
.idea
.vscode
*.egg-info
build
dist
exodus_core/_version.py
35 changes: 35 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"

[project]
name = "exodus_core"
description = "Core functionality of εxodus"
authors = [{name = "Exodus Privacy", email = "contact@exodus-privacy.eu.org"}]
requires-python = ">=3.11"
readme = {file = "README.md", content-type = "text/x-markdown"}
license = "AGPL-3.0-only"
dependencies = [
'androguard',
'cryptography',
'dhash',
'jellyfish',
'Pillow',
'requests',
'six',
'traitlets',
'build'
]
dynamic = ["version"]

[project.urls]
Homepage = "https://github.com/Exodus-Privacy/exodus-core"
Code = "https://github.com/Exodus-Privacy/exodus-core"
Issues = "https://github.com/Exodus-Privacy/exodus-core/issues"
Changelog = "https://github.com/Exodus-Privacy/exodus-core/releases"

[tool.setuptools.packages]
find = {exclude = ["apks"]}

[tool.setuptools_scm]
version_file = "exodus_core/_version.py"
155 changes: 148 additions & 7 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,149 @@
androguard==4.1.1
cryptography==44.0.1
#
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# pip-compile
#
alembic==1.17.2
# via dataset
androguard==4.1.3
# via exodus_core (pyproject.toml)
apkinspector==1.3.6
# via androguard
asn1crypto==1.5.1
# via androguard
asttokens==3.0.1
# via stack-data
banal==1.0.6
# via dataset
build==1.3.0
# via exodus_core (pyproject.toml)
certifi==2025.11.12
# via requests
cffi==2.0.0
# via cryptography
charset-normalizer==3.4.4
# via requests
click==8.3.1
# via androguard
colorama==0.4.6
# via androguard
contourpy==1.3.3
# via matplotlib
cryptography==46.0.3
# via
# androguard
# exodus_core (pyproject.toml)
cycler==0.12.1
# via matplotlib
dataset==1.6.2
# via androguard
decorator==5.2.1
# via ipython
dhash==1.4
jellyfish==0.5.6
Pillow==10.4.0
requests==2.32.4
six==1.15.0
traitlets==4.3.2
# via exodus_core (pyproject.toml)
executing==2.2.1
# via stack-data
fonttools==4.60.1
# via matplotlib
frida==17.5.1
# via androguard
greenlet==3.2.4
# via sqlalchemy
idna==3.11
# via requests
ipython==9.7.0
# via androguard
ipython-pygments-lexers==1.1.1
# via ipython
jedi==0.19.2
# via ipython
jellyfish==1.2.1
# via exodus_core (pyproject.toml)
kiwisolver==1.4.9
# via matplotlib
loguru==0.7.3
# via androguard
lxml==6.0.2
# via androguard
mako==1.3.10
# via alembic
markupsafe==3.0.3
# via mako
matplotlib==3.10.7
# via androguard
matplotlib-inline==0.2.1
# via ipython
mutf8==1.0.6
# via androguard
networkx==3.5
# via androguard
numpy==2.3.5
# via
# contourpy
# matplotlib
packaging==25.0
# via
# build
# matplotlib
parso==0.8.5
# via jedi
pexpect==4.9.0
# via ipython
pickleshare==0.7.5
# via ipython
pillow==10.3.0 ; python_version < "3.13"
pillow==10.4.0 ; python_version >= "3.13"
# via
# exodus_core (pyproject.toml)
# matplotlib
prompt-toolkit==3.0.52
# via ipython
ptyprocess==0.7.0
# via pexpect
pure-eval==0.2.3
# via stack-data
pycparser==2.23
# via cffi
pydot==4.0.1
# via androguard
pygments==2.19.2
# via
# androguard
# ipython
# ipython-pygments-lexers
pyparsing==3.2.5
# via
# matplotlib
# pydot
pyproject-hooks==1.2.0
# via build
python-dateutil==2.9.0.post0
# via matplotlib
pyyaml==6.0.3
# via androguard
requests==2.32.5
# via exodus_core (pyproject.toml)
six==1.17.0
# via
# exodus_core (pyproject.toml)
# python-dateutil
sqlalchemy==1.4.54
# via
# alembic
# dataset
stack-data==0.6.3
# via ipython
traitlets==5.14.3
# via
# exodus_core (pyproject.toml)
# ipython
# matplotlib-inline
typing-extensions==4.15.0
# via
# alembic
# ipython
urllib3==2.5.0
# via requests
wcwidth==0.2.14
# via prompt-toolkit
38 changes: 0 additions & 38 deletions setup.py

This file was deleted.