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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

invenio_feeds-0.2.37.tar.gz (156.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

invenio_feeds-0.2.37-py3-none-any.whl (167.5 kB view details)

Uploaded Python 3

File details

Details for the file invenio_feeds-0.2.37.tar.gz.

File metadata

  • Download URL: invenio_feeds-0.2.37.tar.gz
  • Upload date:
  • Size: 156.3 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for invenio_feeds-0.2.37.tar.gz
Algorithm Hash digest
SHA256 a4fc98a0d7ed18e9c3a99e44392cc70ae6c9ecc00ef2a4b5f5731e1c3b5ca74b
MD5 f2ef2abcecb1f9babe989920a7430386
BLAKE2b-256 f71d79d15f63d3aaa4e8170d8478d49823e367ba700d76b6e751d502dc8255a9

See more details on using hashes here.

File details

Details for the file invenio_feeds-0.2.37-py3-none-any.whl.

File metadata

  • Download URL: invenio_feeds-0.2.37-py3-none-any.whl
  • Upload date:
  • Size: 167.5 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for invenio_feeds-0.2.37-py3-none-any.whl
Algorithm Hash digest
SHA256 9690fb7fc411033da93afea07a878798add6db316c0aa6daef11d16b00e3d1bf
MD5 f285254f4f0e1d0860e874629f90046a
BLAKE2b-256 baddb7dc36ab96755d9cfcdd4fe5b272cfe3434ec413788db99e1f6935281235

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.14

2 files

0.3.13

2 files

0.3.12

2 files

0.3.11

2 files

0.3.10

2 files

0.3.9

2 files

0.3.8

2 files

0.3.7

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.55

2 files

0.2.54

2 files

0.2.53

2 files

0.2.52

2 files

0.2.51

2 files

0.2.50

2 files

0.2.49

2 files

0.2.48

2 files

0.2.47

2 files

0.2.46

2 files

0.2.45

2 files

0.2.43

2 files

0.2.42

2 files

0.2.39

2 files

0.2.38

2 files

This release

0.2.37 This release

2 files

0.2.36

2 files

0.2.35

2 files

0.2.34

2 files

0.2.33

2 files

0.2.32

2 files

0.2.31

2 files

0.2.30

2 files

0.2.29

2 files

0.2.27

2 files

0.2.26

2 files

0.2.25

2 files

0.2.24

2 files

0.2.23

2 files

0.2.22

2 files

0.2.21

2 files

0.2.20

2 files

0.2.19

2 files

0.2.18

2 files

0.2.17

2 files

0.2.16

2 files

0.2.15

2 files

0.2.13

2 files

0.2.12

2 files

0.2.11

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.16

2 files

0.1.15

2 files

0.1.14

2 files

0.1.13

2 files

0.1.12

2 files

0.1.11

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 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