blob: a2ad3873992cc1397d00f596b31a10458baa7e9a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
# Newspipe
[![builds.sr.ht status](https://builds.sr.ht/~cedric/newspipe.svg)](https://builds.sr.ht/~cedric/newspipe)
## Presentation
[Newspipe](https://sr.ht/~cedric/newspipe) is a web news aggregator.
![Newspipe Home page](docs/static/newspipe_home-page.png "Newspipe Home page")
Newspipe is written in Python. The core technologies are
[Flask](http://flask.pocoo.org),
[asyncio](https://www.python.org/dev/peps/pep-3156/) and
[SQLAlchemy](http://www.sqlalchemy.org).
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``, ``npm``, ``poetry``, and
``Python >= 3.8``, you just have to do the following:
```bash
$ 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_ENV=development
$ flask db_create
$ 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``):
```bash
$ 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](https://gunicorn.org) or ``mod_wsgi``.
## License
[Newspipe](https://sr.ht/~cedric/newspipe) is under the
[GNU Affero General Public License version 3](https://www.gnu.org/licenses/agpl-3.0.html).
## Contact
[Cédric Bonhomme](https://www.cedricbonhomme.org)
|