{"id":21649,"library":"openedx-django-pyfs","title":"Open edX Django PyFilesystem Integration","description":"A Django integration for PyFilesystem that allows Django sites to use PyFilesystem filesystems (e.g., local, S3) for storage. Current version 4.0.0 drops Python 3.11 support and may have breaking changes from earlier versions. Releases are periodic, driven by Open edX maintenance.","status":"active","version":"4.0.0","language":"python","source_language":"en","source_url":"https://github.com/openedx/django-pyfs","tags":["django","pyfilesystem","storage","openedx"],"install":[{"cmd":"pip install openedx-django-pyfs","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Core filesystem abstraction.","package":"pyfilesystem","optional":false},{"reason":"Requires Django framework.","package":"Django","optional":false}],"imports":[{"note":"Standard import path.","symbol":"PyfsConfiguredStorage","correct":"from django_pyfs import PyfsConfiguredStorage"},{"note":"Utility to create storage from configuration.","symbol":"create_storage","correct":"from django_pyfs.storage import create_storage"}],"quickstart":{"code":"from django_pyfs import PyfsConfiguredStorage\nfrom django_pyfs.storage import create_storage\n# Use default configuration\nstorage = PyfsConfiguredStorage()\n# Or with explicit settings\nstorage = create_storage('s3', {'key': os.environ.get('AWS_ACCESS_KEY_ID', ''), 'secret': os.environ.get('AWS_SECRET_ACCESS_KEY', ''), 'bucket': 'my-bucket'})","lang":"python","description":"Set up a PyFilesystem storage backend for Django."},"warnings":[{"fix":"Upgrade Python to 3.12 or later.","message":"Dropped Python 3.11 support in v4.0.0. Python 3.12+ is required.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Switch your S3 configuration to use the boto3 backend.","message":"The old boto backend was removed in v3.3.0. Use boto3 instead.","severity":"deprecated","affected_versions":">=3.3.0"},{"fix":"Review the storage URL format in documentation.","message":"If you are upgrading from v2.x to v3.x, the default storage URL format changed. You may need to update your settings.","severity":"gotcha","affected_versions":">=3.0.0 <=3.2.1"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Install the package: pip install openedx-django-pyfs","cause":"Wrong import path or library not installed.","error":"ModuleNotFoundError: No module named 'django_pyfs'"},{"fix":"Ensure you have set PYFS_URL or django-pyfs specific settings in your Django settings file.","cause":"Missing required configuration in Django settings.","error":"django.core.exceptions.ImproperlyConfigured: ... PyfsConfiguredStorage requires a 'url' setting"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}