Research Paper Visit/Reading Monitor and Feed
System which monitors what I'm reading via a browser extension and publishes a feed: https://dmarx.github.io/papers-feed/
At present, only arxiv is supported, with plans to support other journals/sources in the future.
How it works
The system is comprised of the following components:
- https://github.com/dmarx/papers-feed-src
- repository which contains most of the source code for this system
- https://github.com/dmarx/papers-feed
- repository used as a data lake
- pulls in https://github.com/dmarx/papers-feed-src as a submodule
- https://github.com/dmarx/papers-feed-src/tree/main/extension
- Browser extension which monitors my pageviewing activity
- When I interact with an arxiv URL, the browser extension logs the interaction to the data lake repo (here) by creating a github issue on it
- This is possible because I created a PAT narowly scoped to this repository which is registered in the extension's options
- https://github.com/dmarx/papers-feed/.github/workflows
- Issues are processed by github actions workflows which invoke scripts installed from https://github.com/dmarx/papers-feed-src
- Data is persisted to https://github.com/dmarx/papers-feed/data
- https://github.com/dmarx/papers-feed-src/src/scripts/frontend
- Aggregated results are injected into a simple webpage template which is hosted via github pages
How to set this up to monitor your own reading
- Create a new repository from the template here: https://github.com/dmarx/papers-feed-template
- Configure repository settings
- Configure github pages to deploy from the
gh-pagesbranch - Give actions write permissions on your repo
- Install the browser extension located in
papers-feed-src/extension - Create a a github PAT with permission to create issues on your papers-feed repo
- Register the PAT in the browser extension's options
To test that everything is set up correctly, visit an arxiv /abs/ or /pdf/ page. Shortly after visiting:
- an issue with the label "paper" should be created
- opening that issue should trigger the process-events.yml workflow, which in turn should trigger but build-and-deploy.yml workflow. you should see these activities logged in the repository's
Actionstab - after a few minutes, the frontend should be available via gh-pages at
<username>.github.io/<repo-name>
Acknowledgements
- Thank you to anthropic for making a decent LLM (I made claude write nearly all of this)
- Thank you also to https://github.com/utterance/utterances, which inspired how this project (ab)uses github issues as a database
Release files for papers-feed 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| papers_feed-0.1.0.tar.gz | 31.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| papers_feed-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 54.3 kB
Release files / papers_feed-0.1.0.tar.gz
| Download URL | papers_feed-0.1.0.tar.gz |
|---|---|
| Size | 31.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0568bfdea5f409d784e394f794cb246da05f2dd9ea36870fc7d14549cf43375a
|
|
BLAKE2b-256 checksum How to use checksums |
c33b6667d4d68b902b87b4e2fe1fec32e3c575d29bc641b4e31b561d7f4ba94c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 2, 2025.
Transparency logRelease files / papers_feed-0.1.0-py3-none-any.whl
| Download URL | papers_feed-0.1.0-py3-none-any.whl |
|---|---|
| Size | 23.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
631ce3e11af177fad263f366d65539af1bd5d73883a6591861280c59173d2ba3
|
|
BLAKE2b-256 checksum How to use checksums |
255fe667ef1a80928ab1eeaff576ca85c11e58e4674c1b4bbd2a45a53f780de5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 2, 2025.
Transparency log