SQLAlchemy interpreta la cadena DSN basada en archivo como nombre de servidor =c , nombre de la base de datos =users .
Prefiero conectarme sin usar DSN, es una tarea de configuración menos con la que lidiar durante las migraciones de código.
Esta sintaxis funciona con la autenticación de Windows:
engine = sa.create_engine('mssql+pyodbc://server/database')
O con autenticación SQL:
engine = sa.create_engine('mssql+pyodbc://user:example@sqldat.com/database')
SQLAlchemy tiene una explicación detallada de las diferentes opciones de cadenas de conexión aquí.