Is the feature related to a problem? Please describe.
No.
Feature Description
Package and deploy pwncat on pypi to enable installation with pip. Currently the cytopia's pwncat has claimed the name in pypi, but after some discussion with @JohnHammond and @trevorbryant, I think the name pwncat-cs could work.
This does not entail changing any of the internal structure of pwncat. Fundamentally, the cytopia pwncat package and the pwncat-cs would be in conflict. Installing both would guarantee problems, as they both install a console script named pwncat. However, the version and dependency situation in PyPI and with pip in general is already so bad that I don't think it would be a huge issue.
Alternatives
Continue instructing people to install from github repository tags. The downside here is that the act of upgrading is more difficult, and specifying pwncat as a dependency of another package is not straightforward. I think this could clear up the installation documentation, and clean up day-to-day usage as well.
Also, it's worth noting that the only real conflict with Cytopia's project is the console script. Cytopia does not implement any importable module, so the actual binary named pwncat is actually the only conflicting part of the installation. I'm open to suggestions on changing the entrypoint name, but I'm not sure what to do about it. There's not a lot of wiggle room to fudge with the name.
Poetry
I'm planning on moving the entire development orchestration and build system to Poetry. I think it will be very useful for isolated environment setup, dependency management, and eventually pushing to PyPI will be really simple. It also collapses requirements.txt and setup.py/setup.cfg into the now-standard pyproject.toml which is cleaner. Doing this while moving toward PyPI seems like a logical move.
What Needs to be Done
[ ] Register the name on PyPI
[ ] Create GitHub workflow for building and publishing whenever a release is tagged
[ ] Change references to pkg_resources and importlib to use pwncat-cs instead of pwncat
[ ] Update installation documentation
[ ] Move to python-poetry instead of setuptools
Timeline
I haven't decided if this should be done during a patch release or if I should wait for v0.5.0. I'll update the issue when I make a decision.
Is the feature related to a problem? Please describe.
No.
Feature Description
Package and deploy pwncat on pypi to enable installation with
pip
. Currently the cytopia's pwncat has claimed the name in pypi, but after some discussion with @JohnHammond and @trevorbryant, I think the namepwncat-cs
could work.This does not entail changing any of the internal structure of pwncat. Fundamentally, the cytopia
pwncat
package and thepwncat-cs
would be in conflict. Installing both would guarantee problems, as they both install a console script namedpwncat
. However, the version and dependency situation in PyPI and with pip in general is already so bad that I don't think it would be a huge issue.Alternatives
Continue instructing people to install from github repository tags. The downside here is that the act of upgrading is more difficult, and specifying pwncat as a dependency of another package is not straightforward. I think this could clear up the installation documentation, and clean up day-to-day usage as well.
Also, it's worth noting that the only real conflict with Cytopia's project is the console script. Cytopia does not implement any importable module, so the actual binary named
pwncat
is actually the only conflicting part of the installation. I'm open to suggestions on changing the entrypoint name, but I'm not sure what to do about it. There's not a lot of wiggle room to fudge with the name.Poetry
I'm planning on moving the entire development orchestration and build system to Poetry. I think it will be very useful for isolated environment setup, dependency management, and eventually pushing to PyPI will be really simple. It also collapses
requirements.txt
andsetup.py
/setup.cfg
into the now-standardpyproject.toml
which is cleaner. Doing this while moving toward PyPI seems like a logical move.What Needs to be Done
pwncat-cs
instead ofpwncat
python-poetry
instead of setuptoolsTimeline
I haven't decided if this should be done during a patch release or if I should wait for
v0.5.0
. I'll update the issue when I make a decision.