• Stars
    star
    406
  • Rank 106,421 (Top 3 %)
  • Language
    Python
  • License
    GNU Affero Genera...
  • Created almost 11 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A web news aggregator.

Newspipe

builds.sr.ht status

Presentation

Newspipe is a web news aggregator.

Newspipe Home page

Newspipe is written in Python. The core technologies are Flask, asyncio and SQLAlchemy.

For reporting issues, visit the tracker here: https://todo.sr.ht/~cedric/newspipe

For contributions, use the mailing list to send your patches: https://lists.sr.ht/~cedric/newspipe

The documentation is here: https://man.sr.ht/~cedric/newspipe

The official instance is here: https://www.newspipe.org

Main features

  • multiple users can use a Newspipe instance;
  • an API to manage feeds (you can connect your own crawler);
  • data liberation: export and import your account with a JSON file;
  • export and import feeds with OPML files;
  • search and favorite articles;
  • detection of inactive feeds;
  • share articles on Pinboard, Reddit and Twitter;
  • management of bookmarks (with import from Pinboard).

Deployment

Newspipe is really easy to deploy.

Assuming you have already installed git, poetry, npm, and Python >= 3.10, you just have to do the following:

$ git clone https://git.sr.ht/~cedric/newspipe
$ cd newspipe/
$ npm ci
$ poetry install --no-dev
$ poetry shell
$ pybabel compile -d newspipe/translations
$ export NEWSPIPE_CONFIG=sqlite.py
$ export FLASK_APP=runserver.py
$ export FLASK_DEBUG=1
$ flask db_create
$ flask db_init
$ flask create_admin --nickname <nickname> --password <password>
$ flask run
 * Serving Flask app "runserver" (lazy loading)
 * Environment: development
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 221-873-938

If you want to use PostgreSQL you can customize the provided example configuration file (instance/config.py):

$ sudo apt-get install postgresql
$ cp instance/config.py instance/postgresql.py
$ vim instance/postgresql.py # customize it
$ export NEWSPIPE_CONFIG=postgresql.py

For production you can use Gunicorn or mod_wsgi.

License

Newspipe is under the GNU Affero General Public License version 3.

Contact

Cédric Bonhomme