{"id":24511,"library":"recommender-xblock","title":"Recommender XBlock","description":"An Open edX XBlock that provides course content recommendations to learners. Current version 5.0.0, aimed at the edx-platform Lilac release or later.","status":"active","version":"5.0.0","language":"python","source_language":"en","source_url":"https://github.com/openedx/RecommenderXBlock","tags":["xblock","openedx","recommendation"],"install":[{"cmd":"pip install recommender-xblock","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"XBlock framework dependency","package":"XBlock","optional":false},{"reason":"Required for fragment rendering","package":"web-fragments","optional":false}],"imports":[{"note":"Wrong: package name hyphenates but import uses underscore","wrong":"from recommender_xblock import RecommenderXBlock","symbol":"RecommenderXBlock","correct":"from recommender import RecommenderXBlock"}],"quickstart":{"code":"from recommender import RecommenderXBlock\n# The XBlock is typically used within edx-platform. For local testing:\nfrom xblock.core import XBlock\nblock = RecommenderXBlock()\nprint(block.student_view({}))","lang":"python","description":"Basic import and instantiation of RecommenderXBlock"},"warnings":[{"fix":"Change 'from recommender_xblock import RecommenderXBlock' to 'from recommender import RecommenderXBlock'","message":"In version 5.0.0, the module name changed from recommender_xblock to recommender. Existing imports must be updated.","severity":"breaking","affected_versions":"<5.0.0"},{"fix":"In your custom XBlock, ensure __init__ calls super().__init__(**kwargs)","message":"Always call super() when subclassing; missing this can cause runtime errors.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use 'from recommender import RecommenderXBlock' instead.","cause":"In version 5.0.0, the import path changed from recommender_xblock to recommender.","error":"ModuleNotFoundError: No module named 'recommender_xblock'"},{"fix":"Ensure you have called super().__init__() in any subclass and that the XBlock is correctly registered in your application.","cause":"The student_view method returns a Fragment; attempting to call .render on None happens when the XBlock is not properly initialized.","error":"AttributeError: 'NoneType' object has no attribute 'render'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}