chg: [frontend] Improved JavaScript event listener to mark article as read when opened in a new tab.
chg: [controllers] Enforce model validations in the abstract controller.
chg: [dependencies] Updated JavaScript dependencies.
Newspipe is a web news aggregator.

Newspipe is written in Python. The core technologies areFlask,asyncio andSQLAlchemy.
Newspipe is really easy to deploy.Assuming you have already installedgit,poetry,npm, andPython >= 3.10, you just have to do the following:
$gitclonehttps://github.com/cedricbonhomme/newspipe$cdnewspipe/$npmci$poetryinstall$poetryshell$pybabelcompile-dnewspipe/translations$exportNEWSPIPE_CONFIG=sqlite.py$flaskdb_init$flaskcreate_admin--nickname<nickname>--password<password>$flaskrun--debug*Debugmode:on
If you want to use PostgreSQL you can customizethe provided example configuration file (instance/config.py):
$sudoapt-getinstallpostgresql$cpinstance/config.pyinstance/postgresql.py$viminstance/postgresql.py# customize it$exportNEWSPIPE_CONFIG=postgresql.py$flaskdb_create$flaskdb_init...
For production you can useGunicorn ormod_wsgi.
$cdnewspipe/$gitpulloriginmaster$poetryinstall$poetryrunflaskdbupgrade$poetryrunpybabelcompile-dnewspipe/translationsA dedicated Flask command is available to run the RSS/Atom feed importer.You can schedule it using a cron job, for example:
0*/3***poetryrunflaskfetch_asyncioWhen using cron it is usally best to be more precise with the command location, for example:
0*/3***FLASK_APP=app.py/home/cedric/.cache/pypoetry/virtualenvs/newspipe-19mdZ4UL-py3.12/bin/flaskfetch_asyncio
Newspipe is under theGNU Affero General Public License version 3.
If you wish and if you like Newspipe, you can donate:
or with Bitcoin to this address:bc1q56u6sj7cvlwu58v5lemljcvkh7v2gc3tv8mj0e
Thank you !