It looks as though you are trying to accomplish two things:
Use Python to connect to the SQL database through SQLAlchemy
Obtain the name of the newest article by author, i.e. effectively grouping by author with the newest title displayed for each.
You can connect from Python to the SQL database using the example as below. Of course, replace credentials where necessary.
In terms of obtaining the newest titles, this is done through forming a subquery to get a list of the last date for each group, and then joining this subquery to the table.
Another answer provided on StackOverflow provides further information, and I have used this as the basis for constructing the query below, while replacing with the variable names relevant to your table.
This should hopefully yield what you're looking for, or at least point you in the right direction, i.e. you might need to substitute a variable depending on the data in the table, as one can only use the information you have provided as a baseline.
from sqlalchemy import create_engine
engine = create_engine('postgresql+psycopg2://postgres:password@localhost/articles')
df = pd.read_sql_query("SELECT t1.* FROM articles t1 JOIN (SELECT headline, MAX(timestamp) timestamp FROM articles GROUP BY author_id) t2 ON t1.author_id = t2.author_id AND t1.timestamp = t2.timestamp;", engine)