Skip to main content

PyPI version docs License DOI

invenio-feeds

Celery-based feed processing extension for InvenioRDM, powering the Rogue Scholar science blog archive.

invenio-feeds replaces the former Flask/REST API with Celery workers that periodically fetch blog feeds, normalise posts, and upsert them as InvenioRDM records and communities. It follows the standard invenio-base extension pattern and integrates into any InvenioRDM instance.

Installation

Requires Python 3.14. Uses uv for dependency management.

uv sync

Running

Celery worker

celery -A invenio_feeds.tasks worker --loglevel=info

Celery beat scheduler (periodic tasks)

celery -A invenio_feeds.tasks beat --loglevel=info

Trigger a feed import manually

celery -A invenio_feeds.tasks call invenio_feeds.process_blog_feed --args='["<blog-slug>"]'

Scheduled tasks

Task Schedule Description
invenio_feeds.process_all_feeds every 30 min Fan-out: one process_blog_feed per active blog
invenio_feeds.process_blog_feed on-demand Fetch and upsert all new posts for one blog
invenio_feeds.classify_all_blogs daily 03:00 UTC Fan-out: classify untagged posts per blog

Development

We use pytest for testing:

uv run pytest

Follow along via Codeberg Issues. Please open an issue if you encounter a bug or have a feature request.

Note on Patches/Pull Requests

  • Fork the project
  • Write tests for your new feature or a test that reproduces a bug
  • Implement your feature or make a bug fix
  • Do not mess with Rakefile, version or history
  • Commit, push and make a pull request. Bonus points for topical branches.

Documentation

Documentation (work in progress) for using Rogue Scholar is available at the Rogue Scholar Documentation website.

Meta

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

License: MIT

Metadata

Release files for invenio-feeds 0.3.17

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

Source distribution (sdist)

Source distribution for invenio-feeds 0.3.17
File Size Uploaded
invenio_feeds-0.3.17.tar.gz 182.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for invenio-feeds 0.3.17
File Interpreter ABI Platform
invenio_feeds-0.3.17-py3-none-any.whl Python 3 none any Details

Total release size: 377.6 kB

Release files / invenio_feeds-0.3.17.tar.gz

Download URL invenio_feeds-0.3.17.tar.gz
Size 182.2 kB
Tags Source
SHA-256 checksum
How to use checksums
64287342f34985dc280a9db2fee3d9dc7479c2408273a4f9943f1f29762bcd0c
BLAKE2b-256 checksum
How to use checksums
ec649dc343e7ee30ff0230c9cbcaccc6503aab4d2b7507cd20d6acccea15caf9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / invenio_feeds-0.3.17-py3-none-any.whl

Download URL invenio_feeds-0.3.17-py3-none-any.whl
Size 195.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e17742b5eb836514296d3177e1553ec7d7810db9d69673def09f05fcb686b5ed
BLAKE2b-256 checksum
How to use checksums
2f9b7ee21e360e96aa7f998ff5d3f547ece28b9be1b11111c5a79cd55f81cb41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.3.21

2 release files

0.3.20

2 release files

0.3.19

2 release files

0.3.18

2 release files

This release

0.3.17 This release

2 release files

0.3.16

2 release files

0.3.15

2 release files

0.3.14

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.30

2 release files

0.2.29

2 release files

0.2.27

2 release files

0.2.26

2 release files

0.2.25

2 release files

0.2.24

2 release files

0.2.23

2 release files

0.2.22

2 release files

0.2.21

2 release files

0.2.20

2 release files

0.2.19

2 release files

0.2.18

2 release files

0.2.17

2 release files

0.2.16

2 release files

0.2.15

2 release files

0.2.13

2 release files

0.2.12

2 release files

0.2.11

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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