Krakatau
Krakatau copied to clipboard
CLI
Currently, the scripts are harder to use than necessary. I think the situation would greatly improve by the following:
- Adding a
setup.py
- Putting it on PyPI
- Moving most of the functions in the
assemble.py
,disassemble.py
anddecompile.py
toKrakatau/cli
so that one can access the code from the package. - Creating a
bin/krakatau
CLI script which hasassmble
,disassemble
, anddecompile
as subcommands
If you are interested in it, I could do it. This would add the dependency click
(a commonly used CLI package) in the setup.py and in the bin/krakatau
.
What do you think?
In what ways would this make Krakatau easier to use?
Improvements by adding a setup.py, uploading to PyPI and having a single command line tool called like the package:
- Discoverable via
pip search
- Tool can be installed via
pip install krakatau
- no need to know where the sources are - Functionality can be discovered by
krakatau --help
- No matter in which directory I am, I can simply execute
krakatau disassemble [foobar]
- no need to know where on my machine krakatau is.
This post was very helpful. Perhaps it's worth including it to readme.txt
I'm currently rewriting Krakatau in Rust, so the PyPI stuff is no longer relevant. But if you have any suggestions on how to best distribute/install it, I'm all ears.
@Storyyeller Robert, do you have repo with Rust-based version to share ?
I haven't published the Rust version yet. I was planning to release an initial version for testing once the assembler was done.
do you have repo with Rust-based version to share ?
FYI, the Rust version is now live (it is on the "v2" branch). This only includes the assembler and disassembler for now - I'm still trying to figure out what to do for the new decompiler.