The attacker, who played for City against West Brom in a pre-season game as a 57th minute substitute, has joined the League Two side subject to international clearance being received.
Northampton boss Ian Sampson told the Cobblers official club website: "I am pleased to bring Francis to the club.
"He is an attacking player who can play in a number of positions, and he is someone who has the pace and the ability to beat players. I have been looking to give us more natural pace and Francis is quick.
"We have had to move fast to beat other clubs to sign him, he is highly rated and was close to earning himself a deal at a couple of Championship clubs earlier in the season. He is different to what we have here and I think he will be a player the fans take to."