Split up dependencies so core can be used without GUI deps

This commit is contained in:
Salad Dais
2025-11-24 01:44:08 +00:00
parent fb885d8eec
commit 6f87ec8725
4 changed files with 18 additions and 9 deletions

View File

@@ -40,7 +40,7 @@ jobs:
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install -r requirements.txt pip install -r requirements.txt
pip install -e . pip install -e .[gui]
pip install cx_freeze pip install cx_freeze
- name: Bundle with cx_Freeze - name: Bundle with cx_Freeze

View File

@@ -33,7 +33,7 @@ jobs:
pip install -r requirements.txt pip install -r requirements.txt
pip install -r requirements-test.txt pip install -r requirements-test.txt
sudo apt-get install libopenjp2-7 sudo apt-get install libopenjp2-7
pip install -e . pip install -e .[gui]
- name: Run Flake8 - name: Run Flake8
run: | run: |
flake8 . flake8 .

View File

@@ -35,7 +35,9 @@ with low-level SL details. See the [Local Animation addon example](https://githu
* Activate the virtualenv by running the appropriate activation script * Activate the virtualenv by running the appropriate activation script
* * Under Linux this would be something like `source <virtualenv_dir>/bin/activate` * * Under Linux this would be something like `source <virtualenv_dir>/bin/activate`
* * Under Windows it's `<virtualenv_dir>\Scripts\activate.bat` * * Under Windows it's `<virtualenv_dir>\Scripts\activate.bat`
* Run `pip install hippolyzer`, or run `pip install -e .` in a cloned repo to install an editable version * Run `pip install hippolyzer[gui]` for a full install, or run `pip install -e .[gui]` in a cloned repo to install an editable version
* * If you only want the core library without proxy or GUI support, use `pip install hippolyzer` or `pip install -e .`
* * If you only want proxy/CLI support without the GUI, use `pip install hippolyzer[proxy]` or `pip install -e .[proxy]`
### Binary Windows Builds ### Binary Windows Builds

View File

@@ -26,24 +26,31 @@ classifiers = [
] ]
dependencies = [ dependencies = [
"aiohttp<4.0.0", "aiohttp<4.0.0",
"arpeggio",
"defusedxml", "defusedxml",
"gltflib", "gltflib",
"Glymur<0.9.7", "Glymur<0.9.7",
"idna<3,>=2.5", "idna<3,>=2.5",
"lazy-object-proxy", "lazy-object-proxy",
"llsd<1.1.0", "llsd<1.1.0",
"mitmproxy>=11.0.0,<12",
"numpy<2.0", "numpy<2.0",
"outleap<1.0",
"ptpython<4.0",
"pycollada", "pycollada",
"pyside6-essentials",
"qasync",
"recordclass>=0.23.1,<0.24", "recordclass>=0.23.1,<0.24",
"transformations", "transformations",
]
[project.optional-dependencies]
proxy = [
"arpeggio",
"mitmproxy>=11.0.0,<12",
"outleap<1.0",
"ptpython<4.0",
"Werkzeug<4.0", "Werkzeug<4.0",
] ]
gui = [
"hippolyzer[proxy]",
"pyside6-essentials",
"qasync",
]
[tool.setuptools.packages.find] [tool.setuptools.packages.find]
where = ["."] where = ["."]