I have released 0.5.0, after rewriting the protocol state machine. Uploads and downloads are now fully supported.
See this site, github or pypi for downloads.
I've decided that the state handling in tftpy is too difficult to maintain, and I'm ditching it. I've started that work in a private branch in Git.
First though, I'm going to merge all of the contributed patches into an experimental branch and push that to github. I'll then rebase my state-machine branch on that and keep going.
It's a big rewrite, so expect breakage in the short term. Contributed unit tests are welcome, I really need to flesh those out. ... read more
Fabian Knittel contributed some helpful patches for robustness and security. I need to take a closer look at them, but for now they're living on a branch at github. See the "fabian-patches" branch if you want to check them out.
I've gotten tired of the git-svn thing, and made some mistakes with it, and just moved entirely to Git. So, see http://github.com/msoulier/tftpy/tree/master for the project source if you wish to contribute.
Cloning is as simple as
"git clone git://github.com/msoulier/tftpy.git"
I'm not Subversion's biggest fan, although compared to many it's a huge improvement. That said, I prefer distributed version control, and lately I've become a fan of Git. I'm experimenting with git-svn, and I've pushed a copy of the repository to github.
Clone from here: git://github.com/msoulier/tftpy.git
Bugfix release for compatability issues on Win32, among other small issues.
Bugfix release for poor tolerance of unsupported options in the server.
Buxfix release for an issue with the server's detection of the end of the file
during a download.
This release is a bugfix release for some installation problems with Python < 2.5. Thanks for the bug reports, keep them coming.
This is a bugfix release to fix the installation path, with some restructuring into a tftpy package from the single module used previously.
This release adds a TftpServer class with a sample implementation in bin.
The server uses a single thread with multiple handlers and a select() loop to
handle multiple clients simultaneously.
Only downloads are supported at this time.
This release fixes a major RFC 1350 compliance problem with the remote TID. Enjoy.
This release adds variable block sizes, and general option support, implementing RFCs 2347 and 2348. This is accessible in the TftpClient class via the options dict, or in the sample client via the --blocksize option.
SF just approved the hosting, and here we are. The code currently in SVN has a working client, with fixed 512 byte block sizes. I'm adding support for variable block sizes, and a server. At some point I might put in support for Twisted.