Skip to main content

paper-feeds

PyPI - Version Coverage Status

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 feeds (currently RSS, soon ActivityPub and Atom) for academic papers by collecting metadata from multiple data sources. It intended to be a publicly- and self-hostable toolkit for subscribing to and curating scholarly literature!

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! To be moved to docs when made. Help wanted on all, open an issue <3

API:

  • Query Crossref for journal
  • Write journal metadata to db
  • Paginate papers by journal
  • Store papers in db
  • Populate papers when feed created
  • Periodic database updates
  • Cache Feed output
  • Scheduled update of feed metadata
  • Backfill Abstracts and other additional data
  • Feed statistics

Frontend

  • Search for journal
  • Display list of journals
  • Pages for each journal
  • Create new feed button
  • Copy feed link
  • Export feeds
  • Show existing feeds, stats, threads

Feed Types

  • Journals
  • Authors (via ORCID)
  • Keywords

Feed Formats

  • RSS
    • RSS feed from papers by issn
    • Linked Data-enriched RSS feeds (see crossref's advice)
    • HTML formatting for item details
  • Activitypub
    • Actors for feeds
    • LD-enriched ActivityStreams actions
    • Bot-Actor for instance
    • DOI mention detection & crossref events data
    • Hashtag -> keyword detection
    • Create threads under feed actor with mention

Data Sources

  • Crossref
    • Journals
    • Papers
    • Events
  • OpenAlex
  • ORCID
  • PubPeer
  • RetractionWatch
  • Hypothes.is

Meta

  • Docs
    • We need em! Sphinx & RTD!
    • Move this list to there
    • Scope
    • Design
    • Usage
    • Configuration
  • Tests
    • Basic CI

Credits

  • El Duvelle, whose need for RSS feeds inspired this project
  • @lambdaloop (list PRs)
  • @roaldarbol (list PRs)

References

See also

Release files for paper-feeds 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for paper-feeds 0.0.5
File Size Uploaded
paper_feeds-0.0.5.tar.gz 52.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for paper-feeds 0.0.5
File Interpreter ABI Platform
paper_feeds-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 116.7 kB

Release files / paper_feeds-0.0.5.tar.gz

Download URL paper_feeds-0.0.5.tar.gz
Size 52.8 kB
Tags Source
SHA-256 checksum
How to use checksums
80c51d7fff7970cd8471a72199041cbf97b66a32d37f72c762007a2ca20d7d32
BLAKE2b-256 checksum
How to use checksums
b5f7267f7338076e56586784028ec830b5c71c1cac192d82e46a0e23a19e3c99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.1 CPython/3.11.3 Darwin/23.3.0

Release files / paper_feeds-0.0.5-py3-none-any.whl

Download URL paper_feeds-0.0.5-py3-none-any.whl
Size 63.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
72c0c26439422bbd8b91b46ca8c103aceb1fcb76fca1a6f928119729e1bd00fc
BLAKE2b-256 checksum
How to use checksums
c6aef67ba3dbc1c76ca21bb03e04224917095f93d25df38caf609e6c4a86866c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.1 CPython/3.11.3 Darwin/23.3.0

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page