The Internet is replete with news sources in many forms, including newspapers, video channels, blogs and podcasts, to name a few. Some of these also provide services, such as RSS or Atom feeds, that let you retrieve the latest news using relatively simple code, without having to parse their web pages. In this project, we’ll be exploring a mechanism that predates the Web: the Network News Transfer Protocol (NNTP). We’ll go from a simple prototype without any form of abstraction (no functions, no classes) to a generic system in which some important abstractions have been added. We’ll be using the nntplib library, which lets you interact with NNTP servers, but adding other protocols and mechanisms should be straightforward.