Hmmm. No creo que esté haciendo nada especial más que simplemente envolver lo que de otro modo sería una solicitud curl sencilla a cualquiera de los puntos de la API documentados públicamente. Sin embargo, si al equipo de @Discourse le ofende algo de lo que he creado, por favor házmelo saber.
Personalmente, no creo que el paquete en sí viole ningún ToS, ya que la responsabilidad de respetar los términos de un foro siempre recaerá en el desarrollador que utilice la herramienta. Este paquete solo accede a puntos de la API públicos y documentados; si un desarrollador tiene intenciones maliciosas de extraer datos o monitorear un foro, esto ya sería, honestamente, una tarea trivial.
Dicho esto, pydiscourse ofrece la misma funcionalidad; la única diferencia es la necesidad de una clave de API (no sé qué tan fácil sea obtenerla como usuario regular), tras lo cual también podría usarse para violar los ToS de cualquier foro. Entonces, si la regla predeterminada es no automatizar el acceso al foro, ¿no violarían los ToS también pydiscourse y discourse2? discourse2 incluso anuncia el acceso a datos de acceso público en su lista de características si no se proporciona una clave de API:
Funciona tanto en entornos de servidor como de navegador* (*útil para consultar datos públicos sin claves de API y en el origen relevante, por ejemplo, los últimos temas, etc)
Probablemente existan muchos más paquetes en otros lenguajes que ya admitan este tipo de acceso.
Un poco más de contexto: construí esto para poder extraer fácilmente datos de un foro que uno de nuestros clientes aloja (pero no tenemos acceso directo a la base de datos). Simplemente hace que mi flujo de trabajo sea más limpio y mi esperanza es ayudar a otros que se encuentran en la misma situación.