[WIP] Refactoring JARM into a library and a command-line tool #2
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.
Firstly, thanks for the work you've put into devising this fingerprinting technique and providing a usable open-source tool.
This is still a work in progress, and I am aware it is a rather substantial refactor, but I wanted to initiate this conversation early, to better guide the next steps on this.
I have forked this repository and started refactoring the codebase in order to turn JARM in both a Python library and a command-line tool. I think it could make JARM more easily accessible and beneficial to diverse use cases. I have also created a skeleton of a setuptools install script, so this would also be ready for distribution over PyPi.
With these changes, JARM can now be invoked as library simply like following:
There is also a command-line utility in
bin/
, which leverages the library as above. It can be installed throughpython3 setup.py install
or can be invoked withpython3 bin/jarm
. The functionality is more or less the same as your script, although I have changed it to print results in CSV and JSON format in stdout for Unix-style processing, rather than saving to file.Let me know what you think and whether there would be any interest in merging.