diff --git a/pyproject.toml b/pyproject.toml index 05771907bb0b..2984e989c5ea 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -144,10 +144,6 @@ dependencies = [ "openedx-authz", # Authorization Framework for the Open edX Ecosystem ] -[project.optional-dependencies] -openstack = [ - "django-storage-swift==1.2.19", -] [dependency-groups] coverage = [ "coverage", # Code coverage testing for Python diff --git a/uv.lock b/uv.lock index 73699a7bf942..71758f3202ec 100644 --- a/uv.lock +++ b/uv.lock @@ -995,18 +995,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/61/7c/38d1aec205833096eddefcbb3492fbb2c886e74174c72bc160da9522b2f0/ddt-1.7.2-py2.py3-none-any.whl", hash = "sha256:6adcfaf9785f0a36f9e73a89b91e412de9ef8649e289b750e3683bc79d5e2354", size = 7065, upload-time = "2024-02-26T01:36:32.45Z" }, ] -[[package]] -name = "debtcollector" -version = "3.0.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "wrapt" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/31/e2/a45b5a620145937529c840df5e499c267997e85de40df27d54424a158d3c/debtcollector-3.0.0.tar.gz", hash = "sha256:2a8917d25b0e1f1d0d365d3c1c6ecfc7a522b1e9716e8a1a4a915126f7ccea6f", size = 31322, upload-time = "2024-02-22T15:39:20.674Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9c/ca/863ed8fa66d6f986de6ad7feccc5df96e37400845b1eeb29889a70feea99/debtcollector-3.0.0-py3-none-any.whl", hash = "sha256:46f9dacbe8ce49c47ebf2bf2ec878d50c9443dfae97cc7b8054be684e54c3e91", size = 23035, upload-time = "2024-02-22T15:39:18.99Z" }, -] - [[package]] name = "deepmerge" version = "2.1.0" @@ -1500,21 +1488,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9b/f6/0d4e3f5397545e5e80801bdfa03a05f47a1e86de836e096ef9cfa9822fe0/django_statici18n-2.7.1-py2.py3-none-any.whl", hash = "sha256:6e35ceca642563a449cf542f13535f986211352563af05979e1bec1b8e34db11", size = 9372, upload-time = "2026-03-15T12:23:22.828Z" }, ] -[[package]] -name = "django-storage-swift" -version = "1.2.19" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "python-keystoneclient" }, - { name = "python-magic" }, - { name = "python-swiftclient" }, - { name = "six" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/c1/bf/a4d0062ca84cc2627f350e6048ee0dc0f17de6f229d74e9f47f801037c82/django-storage-swift-1.2.19.tar.gz", hash = "sha256:db3e2c231d927d17e1c25a4c2c3dda9aa82d001eaf6364d2b7447306cfc03e01", size = 9865, upload-time = "2018-03-26T09:00:22.022Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0e/9c/bd2502dabd9d02652c908294096ae3cd16cea32f49f088d3ef6a4529bd29/django_storage_swift-1.2.19-py2.py3-none-any.whl", hash = "sha256:4dbe5f211b0cdd34020bcf83c09332826e6cf0374c566b826a4459fe6f48ac10", size = 14164, upload-time = "2018-03-26T09:00:20.356Z" }, -] - [[package]] name = "django-storages" version = "1.14.6" @@ -3129,15 +3102,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c2/f8/49697181b1651d8347d24c095ce46c7346c37335ddc7d255833e7cde674d/ipaddress-1.0.23-py2.py3-none-any.whl", hash = "sha256:6e0f4a39e66cb5bb9a137b00276a2eff74f93b71dcbdad6f10ff7df9d3557fcc", size = 18159, upload-time = "2019-10-18T01:30:27.002Z" }, ] -[[package]] -name = "iso8601" -version = "2.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b9/f3/ef59cee614d5e0accf6fd0cbba025b93b272e626ca89fb70a3e9187c5d15/iso8601-2.1.0.tar.gz", hash = "sha256:6b1d3829ee8921c4301998c909f7829fa9ed3cbdac0d3b16af2d743aed1ba8df", size = 6522, upload-time = "2023-10-03T00:25:39.317Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6c/0c/f37b6a241f0759b7653ffa7213889d89ad49a2b76eb2ddf3b57b2738c347/iso8601-2.1.0-py3-none-any.whl", hash = "sha256:aac4145c4dcb66ad8b648a02830f5e2ff6c24af20f4f482689be402db2429242", size = 7545, upload-time = "2023-10-03T00:25:32.304Z" }, -] - [[package]] name = "isodate" version = "0.7.2" @@ -3251,23 +3215,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/6e/7c/f87c5db042c4f7b4476346fc0d22f1025a777fee08eebde3720d3b9c4eb5/jwcrypto-1.5.8-py3-none-any.whl", hash = "sha256:85aeb475f808d56bbc2f2ed1f6f73e6a317c4011a4321505f02f0aed695a3742", size = 96133, upload-time = "2026-06-24T19:36:49.519Z" }, ] -[[package]] -name = "keystoneauth1" -version = "5.14.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "iso8601" }, - { name = "os-service-types" }, - { name = "pbr" }, - { name = "requests" }, - { name = "stevedore" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/02/d9/a01a3898657626cbcca9fa0e8fa58facb4632e172bdac622d47950f7e12a/keystoneauth1-5.14.0.tar.gz", hash = "sha256:7b942084d3db27dd285c13253cdfee10b05be0436db1c01e15dc744902197a7f", size = 288739, upload-time = "2026-05-13T09:09:26.125Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/72/eb/698dc17e4beb315f83a47d47be128b8a63303dc8b7e7c31110410e10a68b/keystoneauth1-5.14.0-py3-none-any.whl", hash = "sha256:f8c503a95fdd83b5b72736657e4ffbb53d4b28b01763f23013f0294ed8a0e4b9", size = 343268, upload-time = "2026-05-13T09:09:24.573Z" }, -] - [[package]] name = "kombu" version = "5.6.2" @@ -3925,15 +3872,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/66/e5/037d55623be9f681236e04abe12e1290847c06bd48270c3f19ac33493cbf/mysqlclient-2.2.8-cp314-cp314t-win_amd64.whl", hash = "sha256:260cce0e81446c83bf0a389e0fae38d68547d9f8fc0833bc733014e10ce28a99", size = 213067, upload-time = "2026-02-10T10:58:43.389Z" }, ] -[[package]] -name = "netaddr" -version = "1.3.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/54/90/188b2a69654f27b221fba92fda7217778208532c962509e959a9cee5229d/netaddr-1.3.0.tar.gz", hash = "sha256:5c3c3d9895b551b763779ba7db7a03487dc1f8e3b385af819af341ae9ef6e48a", size = 2260504, upload-time = "2024-05-28T21:30:37.743Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/12/cc/f4fe2c7ce68b92cbf5b2d379ca366e1edae38cccaad00f69f529b460c3ef/netaddr-1.3.0-py3-none-any.whl", hash = "sha256:c2c6a8ebe5554ce33b7d5b3a306b71bbb373e000bbbf2350dd5213cc56e3dbbe", size = 2262023, upload-time = "2024-05-28T21:30:34.191Z" }, -] - [[package]] name = "nh3" version = "0.3.6" @@ -4349,11 +4287,6 @@ dependencies = [ { name = "xss-utils" }, ] -[package.optional-dependencies] -openstack = [ - { name = "django-storage-swift" }, -] - [package.dev-dependencies] assets = [ { name = "click" }, @@ -4654,7 +4587,6 @@ requires-dist = [ { name = "django-sekizai" }, { name = "django-simple-history" }, { name = "django-statici18n" }, - { name = "django-storage-swift", marker = "extra == 'openstack'", specifier = "==1.2.19" }, { name = "django-storages" }, { name = "django-user-tasks" }, { name = "django-waffle" }, @@ -4760,7 +4692,6 @@ requires-dist = [ { name = "xblock", extras = ["django"] }, { name = "xss-utils" }, ] -provides-extras = ["openstack"] [package.metadata.requires-dev] assets = [ @@ -5080,80 +5011,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c3/ff/cfca173ac95fe136216af2b829616b8428f455c5b2ad11092de24bd362bc/ora2-7.1.0-py3-none-any.whl", hash = "sha256:8d3211c4ecd845b1b0f4e4e8ab74320e248436f07c3ffa42c2e8651e61343cd5", size = 2601377, upload-time = "2026-06-23T17:11:45.418Z" }, ] -[[package]] -name = "os-service-types" -version = "1.8.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pbr" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/51/62/31e39aa8f2ac5bff0b061ce053f0610c9fe659e12aeca20bfb26d1665024/os_service_types-1.8.2.tar.gz", hash = "sha256:ab7648d7232849943196e1bb00a30e2e25e600fa3b57bb241d15b7f521b5b575", size = 27476, upload-time = "2025-11-21T13:55:47.726Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/29/26/0937af7b4383f1eba5bca789b8d191c0e09e59bb64962b18f4a14534ce41/os_service_types-1.8.2-py3-none-any.whl", hash = "sha256:f78890d71814deffabf0ed4358288ec2ced579bc4d0bb87a79ae806cbb4deb6e", size = 24876, upload-time = "2025-11-21T13:55:46.093Z" }, -] - -[[package]] -name = "oslo-config" -version = "10.5.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "netaddr" }, - { name = "oslo-i18n" }, - { name = "pyyaml" }, - { name = "requests" }, - { name = "rfc3986" }, - { name = "stevedore" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/5d/12/7aa270611a106994d79610157c348216971d6e5a91300acdc1cae9a64081/oslo_config-10.5.0.tar.gz", hash = "sha256:8eea3356c93828c2d61bea1eb19b8cd7860a3edaff4ad2678d774dd353730dfa", size = 169305, upload-time = "2026-06-11T13:24:40.245Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fa/b3/720b781b80f9a4bf962ac3ff7608ef97cafd021bb073aa29e21221e918ad/oslo_config-10.5.0-py3-none-any.whl", hash = "sha256:f21b985d28e607e22dd9d12b615cb93bf6fdb890d8ff165a9dde0521464d672f", size = 137580, upload-time = "2026-06-11T13:24:39.082Z" }, -] - -[[package]] -name = "oslo-i18n" -version = "6.8.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pbr" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/5f/26/85800d24c3aa7650bbd5fa0398aca78a84e8a8693f9c6a852148a196ddac/oslo_i18n-6.8.0.tar.gz", hash = "sha256:a0b4c64c1396869d7144dca60ad97c7eb028f78f61f91c7007531238051997df", size = 50114, upload-time = "2026-05-18T09:16:54.09Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/33/78/35f3022c3e80605c96a9caad2c850d0904e37c9a74b57982f79002f09f66/oslo_i18n-6.8.0-py3-none-any.whl", hash = "sha256:77a6729535ec5a49f72bc64d7795b673a88c1b9c753e0fca45d4e6b14e892bb9", size = 47809, upload-time = "2026-05-18T09:16:52.437Z" }, -] - -[[package]] -name = "oslo-serialization" -version = "5.10.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "msgpack" }, - { name = "oslo-utils" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/9d/e3/dc90d134ace403337f37d52e7468f53755e6a0bcc7f1d60c131b195df2ed/oslo_serialization-5.10.0.tar.gz", hash = "sha256:79a71cde2651afd5dc7f065a56e4a100a4d4127ef1b17f798a6d09cea24976b6", size = 37183, upload-time = "2026-05-18T09:18:52.429Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/88/389d9833c83eefb3a2eebf5e1b86daa7d31d47b42a27f8a95f0cef9db183/oslo_serialization-5.10.0-py3-none-any.whl", hash = "sha256:197b94cc76a11362e9d53a8d5cfc168c4eabbdd071e2a8a5753b6419130451b5", size = 27623, upload-time = "2026-05-18T09:18:51.339Z" }, -] - -[[package]] -name = "oslo-utils" -version = "10.1.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "iso8601" }, - { name = "netaddr" }, - { name = "oslo-i18n" }, - { name = "packaging" }, - { name = "pbr" }, - { name = "psutil" }, - { name = "pyparsing" }, - { name = "pyyaml" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/61/16/8cb5305abd34606bd9a5ee1c6fbe5db97981d323c8454f1d872c1781dcc8/oslo_utils-10.1.1.tar.gz", hash = "sha256:c8ac3ee295303cc5776c4d8e1d4ef10078ece60ede4931177e4f07aca58f81ab", size = 159381, upload-time = "2026-06-09T13:13:27.666Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/25/b3/c7afc60b9392b335ce0ad121977f91df9706f47f2c518b27e4b3007e9afb/oslo_utils-10.1.1-py3-none-any.whl", hash = "sha256:dcc7aa6668aa84fc14a18a4064b389b2992e1ee793ba38dadac327dfba69dadd", size = 154564, upload-time = "2026-06-09T13:13:26.365Z" }, -] - [[package]] name = "packaging" version = "26.2" @@ -5241,18 +5098,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl", hash = "sha256:a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189", size = 57328, upload-time = "2026-04-27T01:46:07.06Z" }, ] -[[package]] -name = "pbr" -version = "7.0.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "setuptools" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/5e/ab/1de9a4f730edde1bdbbc2b8d19f8fa326f036b4f18b2f72cfbea7dc53c26/pbr-7.0.3.tar.gz", hash = "sha256:b46004ec30a5324672683ec848aed9e8fc500b0d261d40a3229c2d2bbfcedc29", size = 135625, upload-time = "2025-11-03T17:04:56.274Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c0/db/61efa0d08a99f897ef98256b03e563092d36cc38dc4ebe4a85020fe40b31/pbr-7.0.3-py2.py3-none-any.whl", hash = "sha256:ff223894eb1cd271a98076b13d3badff3bb36c424074d26334cd25aebeecea6b", size = 131898, upload-time = "2025-11-03T17:04:54.875Z" }, -] - [[package]] name = "pgpy" version = "0.6.0" @@ -6183,36 +6028,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/08/bd/ccd7416fdb30f104ddf6cfd8ee9f699441c7d9880a26f9b3089438adee05/python_ipware-3.0.0-py3-none-any.whl", hash = "sha256:fc936e6e7ec9fcc107f9315df40658f468ac72f739482a707181742882e36b60", size = 10761, upload-time = "2024-04-19T20:00:57.171Z" }, ] -[[package]] -name = "python-keystoneclient" -version = "5.8.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "debtcollector" }, - { name = "keystoneauth1" }, - { name = "oslo-config" }, - { name = "oslo-i18n" }, - { name = "oslo-serialization" }, - { name = "oslo-utils" }, - { name = "packaging" }, - { name = "pbr" }, - { name = "requests" }, - { name = "stevedore" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/97/ef/c8c68219a2bf9f296ad18cb0b9804c45adfdceee72d51684225488746262/python_keystoneclient-5.8.0.tar.gz", hash = "sha256:3ca87c67c404298ce862310b569f545a58acf75cd5685094c82f35320b3a355d", size = 322844, upload-time = "2026-02-27T15:36:24.33Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/be/35/483db648710bd0aeefd505db288490c229fef0e1fb7b78d8f277e2dc375b/python_keystoneclient-5.8.0-py3-none-any.whl", hash = "sha256:0cc96cc719bbd8b1ca8fda71e38017dba3e87ebe3b479fcc9261a67e30b21b85", size = 397325, upload-time = "2026-02-27T15:36:23.21Z" }, -] - -[[package]] -name = "python-magic" -version = "0.4.27" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/da/db/0b3e28ac047452d079d375ec6798bf76a036a08182dbb39ed38116a49130/python-magic-0.4.27.tar.gz", hash = "sha256:c1ba14b08e4a5f5c31a302b7721239695b2f0f058d125bd5ce1ee36b9d9d3c3b", size = 14677, upload-time = "2022-06-07T20:16:59.508Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6c/73/9f872cb81fc5c3bb48f7227872c28975f998f3e7c2b1c16e95e6432bbb90/python_magic-0.4.27-py2.py3-none-any.whl", hash = "sha256:c212960ad306f700aa0d01e5d7a325d20548ff97eb9920dcd29513174f0294d3", size = 13840, upload-time = "2022-06-07T20:16:57.763Z" }, -] - [[package]] name = "python-slugify" version = "8.0.4" @@ -6495,15 +6310,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/3b/5d/63d4ae3b9daea098d5d6f5da83984853c1bbacd5dc826764b249fe119d24/requests_oauthlib-2.0.0-py2.py3-none-any.whl", hash = "sha256:7dd8a5c40426b779b0868c404bdef9768deccf22749cde15852df527e6269b36", size = 24179, upload-time = "2024-03-22T20:32:28.055Z" }, ] -[[package]] -name = "rfc3986" -version = "2.0.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/85/40/1520d68bfa07ab5a6f065a186815fb6610c86fe957bc065754e47f7b0840/rfc3986-2.0.0.tar.gz", hash = "sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c", size = 49026, upload-time = "2022-01-10T00:52:30.832Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl", hash = "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd", size = 31326, upload-time = "2022-01-10T00:52:29.594Z" }, -] - [[package]] name = "rich" version = "15.0.0"