openbadgeslib 4.4.1__tar.gz → 4.4.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/Changelog.txt +19 -0
  2. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/PKG-INFO +1 -1
  3. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/util.py +1 -1
  4. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib.egg-info/PKG-INFO +1 -1
  5. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_key_operation.py +2 -0
  6. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/CONTRIBUTING.md +0 -0
  7. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/GOVERNANCE.md +0 -0
  8. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/LICENSE.txt +0 -0
  9. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/MANIFEST.in +0 -0
  10. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/README.md +0 -0
  11. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/SECURITY.md +0 -0
  12. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/docs/README.md +0 -0
  13. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/__init__.py +0 -0
  14. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/_jsonmodel.py +0 -0
  15. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/_jws/__init__.py +0 -0
  16. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/_jws/exceptions.py +0 -0
  17. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/_jws/utils.py +0 -0
  18. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/_ob1_api.py +0 -0
  19. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/badge_model.py +0 -0
  20. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/baking.py +0 -0
  21. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/cli_common.py +0 -0
  22. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/config.ini.example +0 -0
  23. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/confparser.py +0 -0
  24. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/errors.py +0 -0
  25. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/issue.py +0 -0
  26. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/keys.py +0 -0
  27. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/logs.py +0 -0
  28. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/mail.py +0 -0
  29. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob1/__init__.py +0 -0
  30. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob1/badge.py +0 -0
  31. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob1/signer.py +0 -0
  32. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob1/verifier.py +0 -0
  33. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob2/__init__.py +0 -0
  34. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob2/models.py +0 -0
  35. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob2/signer.py +0 -0
  36. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob2/verifier.py +0 -0
  37. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/__init__.py +0 -0
  38. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/contexts/__init__.py +0 -0
  39. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/contexts/credentials-v2.json +0 -0
  40. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/contexts/ob-v3p0-context-3.0.1.json +0 -0
  41. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/contexts/ob-v3p0-context-3.0.2.json +0 -0
  42. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/contexts/ob-v3p0-context-3.0.3.json +0 -0
  43. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/contexts/ob-v3p0-extensions.json +0 -0
  44. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/contexts/security-data-integrity-v2.json +0 -0
  45. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/contexts/security-multikey-v1.json +0 -0
  46. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/credential.py +0 -0
  47. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/did.py +0 -0
  48. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/eudi.py +0 -0
  49. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/ldp.py +0 -0
  50. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/publish.py +0 -0
  51. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/signer.py +0 -0
  52. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/status.py +0 -0
  53. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/status_list.py +0 -0
  54. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/status_registry.py +0 -0
  55. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/ob3/verifier.py +0 -0
  56. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/oid4vci/__init__.py +0 -0
  57. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/oid4vci/codes.py +0 -0
  58. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/oid4vci/errors.py +0 -0
  59. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/oid4vci/formats.py +0 -0
  60. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/oid4vci/handler.py +0 -0
  61. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/oid4vci/memory_store.py +0 -0
  62. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/oid4vci/metadata.py +0 -0
  63. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/oid4vci/nonce.py +0 -0
  64. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/oid4vci/offer.py +0 -0
  65. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/oid4vci/reconcile.py +0 -0
  66. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/oid4vci/sqlite_store.py +0 -0
  67. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/oid4vci/store.py +0 -0
  68. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/openbadges_cli.py +0 -0
  69. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/openbadges_init.py +0 -0
  70. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/openbadges_keygenerator.py +0 -0
  71. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/openbadges_publish.py +0 -0
  72. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/openbadges_signer.py +0 -0
  73. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/openbadges_status.py +0 -0
  74. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/openbadges_verifier.py +0 -0
  75. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/py.typed +0 -0
  76. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib/verify.py +0 -0
  77. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib.egg-info/SOURCES.txt +0 -0
  78. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib.egg-info/dependency_links.txt +0 -0
  79. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib.egg-info/entry_points.txt +0 -0
  80. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib.egg-info/requires.txt +0 -0
  81. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/openbadgeslib.egg-info/top_level.txt +0 -0
  82. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/pyproject.toml +0 -0
  83. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/setup.cfg +0 -0
  84. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/config1.ini +0 -0
  85. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/conformance/Dockerfile.ob3 +0 -0
  86. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/conformance/README.md +0 -0
  87. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/conformance/conftest.py +0 -0
  88. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/conformance/docker-compose.yml +0 -0
  89. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/conformance/test_official_validators.py +0 -0
  90. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/conftest.py +0 -0
  91. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/fixtures/ob_schemas/README.md +0 -0
  92. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/fixtures/ob_schemas/ob_v3p0_achievementcredential_schema.json +0 -0
  93. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/fixtures/ob_schemas/ob_v3p0_profile_schema.json +0 -0
  94. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/fixtures/ob_schemas/refresh.sh +0 -0
  95. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/fixtures/vc_di_eddsa/README.md +0 -0
  96. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/fixtures/vc_di_eddsa/credentials-examples-v2.json +0 -0
  97. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/fixtures/vc_di_eddsa/doc-hash.txt +0 -0
  98. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/fixtures/vc_di_eddsa/key-pair.json +0 -0
  99. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/fixtures/vc_di_eddsa/proof-config-hash.txt +0 -0
  100. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/fixtures/vc_di_eddsa/signed-credential.json +0 -0
  101. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/images/sample1.png +0 -0
  102. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/images/sample1.svg +0 -0
  103. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/images/userimage01.svg +0 -0
  104. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/ldp_helpers.py +0 -0
  105. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/logo Python Espan/314/203a.svg" +0 -0
  106. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/logo Python Espa/303/261a.svg" +0 -0
  107. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_baking.py +0 -0
  108. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_cli_json.py +0 -0
  109. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_cli_smoke.py +0 -0
  110. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_confparser.py +0 -0
  111. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_docs.py +0 -0
  112. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_eddsa.py +0 -0
  113. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_errors.py +0 -0
  114. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_examples.py +0 -0
  115. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_issue.py +0 -0
  116. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_issue_credential.py +0 -0
  117. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_jsonmodel.py +0 -0
  118. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_jws.py +0 -0
  119. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_keys.py +0 -0
  120. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_mail.py +0 -0
  121. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob1_badge_io.py +0 -0
  122. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob1_deprecation.py +0 -0
  123. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob1_signer.py +0 -0
  124. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob1_verifier.py +0 -0
  125. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob2_cli.py +0 -0
  126. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob2_error_branches.py +0 -0
  127. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob2_models.py +0 -0
  128. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob2_signer.py +0 -0
  129. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob2_verifier.py +0 -0
  130. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_conformance_schema.py +0 -0
  131. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_contexts.py +0 -0
  132. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_credential.py +0 -0
  133. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_did.py +0 -0
  134. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_did_doc.py +0 -0
  135. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_endorsement.py +0 -0
  136. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_eudi_oid4vci.py +0 -0
  137. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_eudi_sd_jwt.py +0 -0
  138. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_eudi_type_metadata.py +0 -0
  139. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_eudi_x5c.py +0 -0
  140. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_ldp.py +0 -0
  141. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_ldp_cli.py +0 -0
  142. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_ldp_ecdsa_sd.py +0 -0
  143. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_ldp_errors.py +0 -0
  144. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_ldp_sign.py +0 -0
  145. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_publish_cli.py +0 -0
  146. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_signer.py +0 -0
  147. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_signer_cli_ldp.py +0 -0
  148. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_status.py +0 -0
  149. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_status_list.py +0 -0
  150. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_status_registry.py +0 -0
  151. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_ob3_verifier.py +0 -0
  152. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_oid4vci_config.py +0 -0
  153. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_oid4vci_protocol.py +0 -0
  154. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_oid4vci_reservations.py +0 -0
  155. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_oid4vci_store.py +0 -0
  156. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_openbadges_cli.py +0 -0
  157. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_public_api.py +0 -0
  158. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_sign_ecc.pem +0 -0
  159. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_sign_rsa.pem +0 -0
  160. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_signer_batch.py +0 -0
  161. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_util.py +0 -0
  162. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_verifier_cli_coverage.py +0 -0
  163. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_verify.py +0 -0
  164. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_verify_ecc.pem +0 -0
  165. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/test_verify_rsa.pem +0 -0
  166. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/withoutxmlheader.svg +0 -0
  167. {openbadgeslib-4.4.1 → openbadgeslib-4.4.2}/tests/withxmlheader.svg +0 -0
@@ -4,8 +4,27 @@ OpenBadgesLib - Changelog
4
4
  Newest first. Dates are ISO 8601 (YYYY-MM-DD).
5
5
 
6
6
 
7
+ * v4.4.2 - 2026-08-13
8
+
9
+ - fix(cli): key generation no longer crashes on Windows, where
10
+ `os.fchmod` does not exist. `_write_pem_file` now guards the fchmod
11
+ call with `hasattr` and skips the permission dance on platforms
12
+ without it — there the POSIX mode bits are not the access control
13
+ (NTFS ACLs are), so skipping is the honest behaviour rather than a
14
+ best-effort `os.chmod` that would only toggle the read-only bit.
15
+ Regression introduced in v4.3.1 by #289; caught by the Windows CI leg.
16
+ - fix(tests): the v4.4.1 regression test for the above itself raised on
17
+ Windows (`monkeypatch.delattr` on an attribute the platform does not
18
+ have); it now skips where `os.fchmod` is already absent.
19
+
20
+
7
21
  * v4.4.1 - 2026-08-13
8
22
 
23
+ Superseded the same day: its own regression test failed on Windows
24
+ (`monkeypatch.delattr` on an attribute the platform does not have), so
25
+ the release went out with the Windows CI leg still red. The library fix
26
+ below is correct and is carried forward unchanged; use v4.4.2.
27
+
9
28
  - fix(cli): key generation no longer crashes on Windows, where
10
29
  `os.fchmod` does not exist. `_write_pem_file` now guards the fchmod
11
30
  call with `hasattr` and skips the permission dance on platforms
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openbadgeslib
3
- Version: 4.4.1
3
+ Version: 4.4.2
4
4
  Summary: Production-ready Python library & CLI for Open Badges 3.0 (W3C Verifiable Credentials): issue, verify, and revoke JWT-VC credentials with Bitstring Status Lists and did:web — plus strict OB 2.0 and legacy OB 1.0.
5
5
  Author-email: Luis González Fernández <luisgf@luisgf.es>, Jesús Cea Avión <jcea@jcea.es>
6
6
  License: LGPLv3
@@ -21,7 +21,7 @@
21
21
  License along with this library.
22
22
  """
23
23
 
24
- __version__ = '4.4.1'
24
+ __version__ = '4.4.2'
25
25
 
26
26
  import contextlib
27
27
  import hashlib
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openbadgeslib
3
- Version: 4.4.1
3
+ Version: 4.4.2
4
4
  Summary: Production-ready Python library & CLI for Open Badges 3.0 (W3C Verifiable Credentials): issue, verify, and revoke JWT-VC credentials with Bitstring Status Lists and did:web — plus strict OB 2.0 and legacy OB 1.0.
5
5
  Author-email: Luis González Fernández <luisgf@luisgf.es>, Jesús Cea Avión <jcea@jcea.es>
6
6
  License: LGPLv3
@@ -257,6 +257,8 @@ class TestKeyGeneratorFileWrites:
257
257
  with pytest.raises(OSError):
258
258
  _write_pem_file(str(path), b'private-key', 0o600)
259
259
 
260
+ @pytest.mark.skipif(not hasattr(os, 'fchmod'),
261
+ reason='already the platform under simulation')
260
262
  def test_write_pem_file_survives_a_platform_without_fchmod(
261
263
  self, tmp_path, monkeypatch):
262
264
  # Windows has no os.fchmod (its chmod toggles only the read-only bit),
File without changes
File without changes
File without changes
File without changes
File without changes