Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/skamieniarz/newspie
A minimalistic news aggregator built with Flask and powered by News API.
https://github.com/skamieniarz/newspie
Last synced: 16 days ago
JSON representation
A minimalistic news aggregator built with Flask and powered by News API.
- Host: GitHub
- URL: https://github.com/skamieniarz/newspie
- Owner: skamieniarz
- License: mit
- Created: 2019-12-21T14:45:45.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-09-06T19:24:51.000Z (about 1 year ago)
- Last Synced: 2024-08-01T06:21:29.454Z (3 months ago)
- Language: Python
- Size: 3.94 MB
- Stars: 76
- Watchers: 4
- Forks: 10
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NewsPie #
A minimalistic news aggregator built with [Flask](https://www.palletsprojects.com/p/flask/) and powered by [News API](https://newsapi.org/).![Demo!](https://raw.githubusercontent.com/skamieniarz/newspie/master/static/demo.gif)
### [Link to live demo](https://skamieniarz.github.io/newspie/) ###
## Prerequisites: ##
1. [Python3](https://www.python.org).
2. Dependencies from `requirements.txt` or `Pipfile.lock` (preferably in a virtual env).
3. API key for [News API](https://newsapi.org/register). It's free for non-commercial projects (including open-source) and allows 500 requests per day. Once acquired, save it as `NEWS_API_KEY` environment variable or directly as string to `API_KEY` in `news.py`. Just don't share it or upload the code with it.## Starting: ##
1. Run `python news.py` or `python3 news.py` (depending on the environment) in the terminal while in the root of the repository.
2. Go to [http://127.0.0.1:5000/](http://127.0.0.1:5000/) address in the web browser.## Features: ##
1. Get top articles headlines and their URLs by country and/or category.
2. Search articles up to a month old. Looks for a given query in the titles. Language/country independent results. Relevancy decides.
3. Results received from News API are cached for 5 minutes.
4. Country saved as a cookie.
5. Responsive UI.
6. Dark mode/theme.## Open-source used: ##
- [Flask](https://github.com/pallets/flask)
- [jinja](https://github.com/pallets/jinja)
- [Pico.css](https://github.com/picocss/pico)
- [requests](https://github.com/psf/requests)
- [requests-cache](https://github.com/reclosedev/requests-cache)