Here's how it evolved:
* Old French: "poupee" (doll, puppet)
* Middle English: "puppe" (puppy, doll, puppet)
* Modern English: "puppy"
The connection to dogs is a bit unclear, but it's likely that the term "puppy" was originally used to describe young animals in general, due to their playful, small, and somewhat "doll-like" nature. Over time, it became specifically associated with young dogs, possibly because they were considered the most common and familiar type of "small, playful creature" in the medieval era.
So, while the word "puppy" doesn't directly originate from a canine term, its evolution reflects a perception of puppies as playful and miniature, like dolls or puppets.