Nearly 60 percent of Portlanders who cast ballots in the May 17 primary voted for someone other than first-term City Commissioner Steve Novick.

That pushes Novick into a November runoff with second-place finisher Chloe Eudaly, a housing activist and owner of Reading Frenzy, an independent bookstore on North Mississippi Avenue.

The Novick-Eudaly matchup promises to be one of the liveliest contests at Portland City Hall in years. It pits two avowed lefties and Bernie Sanders supporters against each other in a presidential election year.

Here's the tale of the tape:

Chloe Eudaly

Number of votes: 25,262

Percentage of votes: 15 percent

Fundraising: $26,428

Spending per vote: $1.04

Biggest contributor: Marshall Runkel, aide to former City Commissioner Erik Sten, donated $3,000 worth of political consulting.

Claim to fame: Started a Facebook group, "That's a Goddamn Shed," to protest high rents. It has 2,404 members.

Archenemy: Real estate developers. "Urban renewal has wreaked havoc on our low-income residents and communities of color," she says.

Idea for creating affordable housing: "I would declare a real state of emergency for housing," she says. "I would also crack down on illegal short-term rentals (single-family homes that are available year-round), which are likely to number somewhere between 400 and 1,600 units."

Steve Novick

Number of votes: 72,881

Percentage of votes: 43 percent

Fundraising: $368,723

Spending per vote: $5.05

Biggest contributor: Portland firefighters' union gave $10,000, developer Martin Kehoe gave $6,000, and $5,000 came from the Greenbrier Companies, a barge manufacturer.

Claim to fame: Campaigned for U.S. Senate in 2008, starred in a TV ad in which he opened a beer bottle with his prosthetic hook.

Archenemy: The Oregonian editorial board.

Idea for creating affordable housing: "We must maintain our commitment to building subsidized housing," he says. "But another part of affordability is getting our zoning code out of the way of smaller, attached housing. We should provide as many housing types at as many price points as possible, and prioritize stable, affordable rents."