Metadata-Version: 2.1
Name: paper-feeds
Version: 0.0.3
Summary: A FastAPI web server for creating RSS and ActivityPub feeds for scholarly literature with the magic of adversarial interoperability
Home-page: https://github.com/sneakers-the-rat/paper-feeds
License: GPL-3.0
Keywords: rss,activitypub,scholarly communication,scholcomm,fastapi,metadata
Author: sneakers-the-rat
Author-email: JLSaunders987@gmail.com
Requires-Python: >=3.11,<4.0
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Framework :: FastAPI
Classifier: Framework :: Pydantic :: 2
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Communications
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content :: News/Diary
Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Server
Classifier: Topic :: Scientific/Engineering
Provides-Extra: tests
Requires-Dist: alembic (>=1.13.1,<2.0.0)
Requires-Dist: coveralls (>=3.3.1,<4.0.0) ; extra == "tests"
Requires-Dist: fastapi (>=0.108.0,<0.109.0)
Requires-Dist: fastapi-rss (>=0.2.2,<0.3.0)
Requires-Dist: jinja2 (>=3.1.2,<4.0.0)
Requires-Dist: pydantic-settings (>=2.1.0,<3.0.0)
Requires-Dist: pytest (>=7.4.4,<8.0.0) ; extra == "tests"
Requires-Dist: pytest-alembic (>=0.10.7,<0.11.0) ; extra == "tests"
Requires-Dist: pytest-cov (>=4.1.0,<5.0.0) ; extra == "tests"
Requires-Dist: pytest-timeout (>=2.2.0,<3.0.0) ; extra == "tests"
Requires-Dist: python-multipart (>=0.0.6,<0.0.7)
Requires-Dist: requests (>=2.31.0,<3.0.0)
Requires-Dist: requests-cache (>=1.1.1,<2.0.0) ; extra == "tests"
Requires-Dist: sqlmodel (>=0.0.14,<0.0.15)
Requires-Dist: uvicorn (>=0.25.0,<0.26.0)
Project-URL: Repository, https://github.com/sneakers-the-rat/paper-feeds
Description-Content-Type: text/markdown

# paper-feeds

![PyPI - Version](https://img.shields.io/pypi/v/paper-feeds)
[![Coverage Status](https://coveralls.io/repos/github/sneakers-the-rat/paper-feeds/badge.svg)](https://coveralls.io/github/sneakers-the-rat/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...](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/#creating-a-virtual-environment)

```bash
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](./CONTRIBUTING.md) for more information on setting up
a development environment

# progress

Everything is just getting started! things will break and change!

API:
- [x] Query Crossref for journal
- [x] Write journal metadata to db
- [x] Paginate papers by journal
- [x] Store papers in db
- [x] Populate papers when feed created
- [ ] Create RSS feed from papers by issn
- [ ] Cache RSS feeds
- [ ] Scheduled update of feed metadata

Frontend
- [x] Search for journal
- [x] Display list of journals
- [ ] Pages for each journal
- [x] 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

- https://github.com/internetarchive/fatcat-scholar

