My interest with pystun stems from the OpenBazaar project; we are using it to address some of our NAT issues. Unfortunately, it appears some of the package's builtin STUN servers have fallen out of service and this is causing problems. Instead of doing a minor patch, I decided to groom the package for good and bring various aspects (packaging, setup, testing, etc) up to date. I intend to work on it much more.
Changelog
Install Continuous Integration via Travis CI.
Install static analysis (and PEP8 checking) via prospector.
Install a unit test infrastructure via nose. Unit test argument parsing.
Add proper LICENSE and CHANGELOG files.
Replace deprecated optparse module with argparse. This drops out-of-the box support for Python versions older than 2.7.
Port print statements to Python 3 syntax using __future__.
Replace various ad hoc scripts with Makefile targets.
Drop support for bootstrapping via ez_script. Use pip.
Update the builtin STUN servers list.
Various other code refactorings.
Note
Some of the changes introduced are not backwards-compatible. I can remove/revert them if it's an issue.
Motivation
My interest with
pystun
stems from the OpenBazaar project; we are using it to address some of our NAT issues. Unfortunately, it appears some of the package's builtin STUN servers have fallen out of service and this is causing problems. Instead of doing a minor patch, I decided to groom the package for good and bring various aspects (packaging, setup, testing, etc) up to date. I intend to work on it much more.Changelog
optparse
module withargparse
. This drops out-of-the box support for Python versions older than 2.7.print
statements to Python 3 syntax using__future__
.Note
Some of the changes introduced are not backwards-compatible. I can remove/revert them if it's an issue.