Added support for UV, Docker, and setuptools. #436
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added support for UV, Docker, and setuptools.
What does it implement/fix? Explain your changes.
This PR adds multiple installation and deployment options to XSStrike:
New Files:
setup.py- Python package installation using setuptoolspyproject.toml- Modern Python project configuration with uv supportDockerfile- Containerized deployment optionMANIFEST.in- Ensures package data files are includedKey Changes:
setup.pythat reads version and dependencies frompyproject.tomlto avoid duplicationpyproject.tomlwith PEP 621 standard format, supporting both setuptools and uvastral/uvREADME.mdwith 4 installation methods (traditional, setuptools, uv, Docker)Benefits:
xsstrikeavailable after installationWhere has this been tested?
Python Version: Python 3.9, 3.10, 3.11, 3.12, 3.14
Operating System: macOS (Darwin), Linux (tested in Docker)
Tested scenarios:
pip install -r requirements.txtpip install .uv pip install .Does this close any currently open issues?
No specific issues closed,
Does this add any new dependenc?
No new runtime dependencies.
Does this add any new command line switch/option?
No new command-line options. The existing
xsstrikecommand becomes available as an entry point after package installation, but all functionality remains identical. Users can still usepython xsstrike.pywhen running directly from source.Any other comments you would like to make?
setup.pyautomatically reads version and dependencies frompyproject.tomlto maintain a single source of truthfind_db_file()) works both when running directly and when installed as a packageSome Questions