# Jeff's TFTP TFTP server for Python using asyncio. Borrows heavily from [python-tx-tftp](https://github.com/shylent/python-tx-tftp) and [aiotftp](https://github.com/sangoma/aiotftp). ``python-tx-tftp`` was not suitable for my needs as it's Python 3 support is limited, it uses Twisted instead of Python's native async support (Twisted is a fine library but I needed an implementation that ) ## Features * Use of newer Python features * asyncio * type hinting * enums ## TODO * More tests * TFTP client ## Reference List * [IEN 133](https://www.rfc-editor.org/ien/ien133.txt) - TFTP protocol * [RFC 783](https://datatracker.ietf.org/doc/html/rfc783) - TFTP protocol revision 2 * [RFC 1350](https://datatracker.ietf.org/doc/html/rfc1350) - TFTP protocol revision 2 * [RFC 1782](https://datatracker.ietf.org/doc/html/rfc1782) - TFTP Option Extension * [RFC 1783](https://datatracker.ietf.org/doc/html/rfc1783) - TFTP Blocksize Option * [RFC 1784](https://datatracker.ietf.org/doc/html/rfc1784) - TFTP Timeout Interval and Transfer Size Options * [RFC 1785](https://datatracker.ietf.org/doc/html/rfc1785) - TFTP Option Negotiation Analysis * [RFC 2347](https://datatracker.ietf.org/doc/html/rfc2347) - TFTP Option Extension * [RFC 2348](https://datatracker.ietf.org/doc/html/rfc2348) - TFTP Blocksize Option * [RFC 2349](https://datatracker.ietf.org/doc/html/rfc2349) - TFTP Timeout Interval and Transfer Size Options