A FastAPI web server for creating RSS and ActivityPub feeds for scholarly literature with the magic of adversarial interoperability
Project description
paper-feeds
A FastAPI web server for creating RSS feeds for scholarly journals with the magic of adversarial interoperability
Many journals still have RSS feeds. Some don't though, as they try and squeeze everyone onto their platforms to monetize our engagement data.
This is a simple web app for creating RSS feeds for journals by collecting metadata from crossref. Dependencies are kept minimal, as is deployment - No webpack, no complex build, no postgres, just pip install and press play :).
usage
(to be completed when main docs are, for now here's something brief)
After creating and activating a virtual environment...
pip install paper-feeds
python -m paper_feeds
# then open http://localhost:8000 in your browser
Note: we are still working out the packaging here, so you may need to clone the repository and run the server from the repo root until we can figure that out :)
And see CONTRIBUTING.md for more information on setting up a development environment
progress
Everything is just getting started! things will break and change!
API:
- Query Crossref for journal
- Write journal metadata to db
- Paginate papers by journal
- Store papers in db
- Populate papers when feed created
- Create RSS feed from papers by issn
- Cache RSS feeds
- Scheduled update of feed metadata
Frontend
- Search for journal
- Display list of journals
- Pages for each journal
- Create new feed button
- Copy feed link
- Export feeds
Credits
- https://github.com/marty331/fasthtmx/
- https://samherbert.net/svg-loaders/
- https://htmx.org/examples/active-search/
See also
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for paper_feeds-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 417aa36b88e0ec03e93d220fac01404a5900800b1b509ae84c8bf2bdbb07d7c2 |
|
MD5 | acdcea2b1703bd7a47486b67d92ec2c7 |
|
BLAKE2b-256 | afe756e39e868b453dbca8f4e691e72ff894278e93fd7bfa622e724d3fbafcbf |