sc-oa 0.7.0.13__tar.gz → 0.7.0.15__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.

Potentially problematic release.


This version of sc-oa might be problematic. Click here for more details.

Files changed (164) hide show
  1. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/.github/workflows/tests.yml +11 -11
  2. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/PKG-INFO +6 -3
  3. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/pyproject.toml +1 -1
  4. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sc_oa.egg-info/PKG-INFO +6 -3
  5. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sc_oa.egg-info/SOURCES.txt +0 -1
  6. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sc_oa.egg-info/not-zip-safe +1 -1
  7. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sc_oa.egg-info/requires.txt +2 -1
  8. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/setup.cfg +4 -3
  9. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/__init__.py +0 -2
  10. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/__init__.py +4 -4
  11. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/openapi30.py +3 -2
  12. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/renderers/_model.py +26 -22
  13. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/test_model.py +43 -0
  14. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/test_openapi.py +75 -0
  15. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tox.ini +14 -0
  16. sc-oa-0.7.0.13/sc_oa.egg-info/namespace_packages.txt +0 -1
  17. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/.github/workflows/pypi.yml +0 -0
  18. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/.gitignore +0 -0
  19. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/.gitmodules +0 -0
  20. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/.mailmap +0 -0
  21. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/.pre-commit-config.yaml +0 -0
  22. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/CHANGES +0 -0
  23. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/LICENSE +0 -0
  24. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/MANIFEST.in +0 -0
  25. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/README.rst +0 -0
  26. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/docs/conf.py +0 -0
  27. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/docs/index.rst +0 -0
  28. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/docs/specs/openapi.yml +0 -0
  29. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sc_oa.egg-info/dependency_links.txt +0 -0
  30. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sc_oa.egg-info/top_level.txt +0 -0
  31. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/setup.py +0 -0
  32. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/__main__.py +0 -0
  33. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/_lib2to3.py +0 -0
  34. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/directive.py +0 -0
  35. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/locale/es_ES/LC_MESSAGES/openapi.mo +0 -0
  36. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/locale/es_ES/LC_MESSAGES/openapi.po +0 -0
  37. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/locale/fr_FR/LC_MESSAGES/openapi.mo +0 -0
  38. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/locale/fr_FR/LC_MESSAGES/openapi.po +0 -0
  39. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/locale/openapi.pot +0 -0
  40. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/openapi20.py +0 -0
  41. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/renderers/__init__.py +0 -0
  42. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/renderers/_description.py +0 -0
  43. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/renderers/_httpdomain.py +0 -0
  44. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/renderers/_httpdomain_old.py +0 -0
  45. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/renderers/_toc.py +0 -0
  46. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/renderers/abc.py +0 -0
  47. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/schema_utils.py +0 -0
  48. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/sphinxcontrib/openapi/utils.py +0 -0
  49. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/.git +0 -0
  50. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/.gitignore +0 -0
  51. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/.travis.yml +0 -0
  52. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/CONTRIBUTORS.md +0 -0
  53. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/DEVELOPMENT.md +0 -0
  54. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/GOVERNANCE.md +0 -0
  55. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/IMPLEMENTATIONS.md +0 -0
  56. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/LICENSE +0 -0
  57. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/MAINTAINERS.md +0 -0
  58. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/README.md +0 -0
  59. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/json/api-with-examples.json +0 -0
  60. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/json/petstore-expanded.json +0 -0
  61. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/json/petstore-minimal.json +0 -0
  62. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/json/petstore-separate/common/Error.json +0 -0
  63. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/json/petstore-separate/spec/NewPet.json +0 -0
  64. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/json/petstore-separate/spec/Pet.json +0 -0
  65. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/json/petstore-separate/spec/parameters.json +0 -0
  66. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/json/petstore-separate/spec/swagger.json +0 -0
  67. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/json/petstore-simple.json +0 -0
  68. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/json/petstore-with-external-docs.json +0 -0
  69. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/json/petstore.json +0 -0
  70. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/json/uber.json +0 -0
  71. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/yaml/api-with-examples.yaml +0 -0
  72. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/yaml/petstore-expanded.yaml +0 -0
  73. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/yaml/petstore-minimal.yaml +0 -0
  74. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/yaml/petstore-separate/common/Error.yaml +0 -0
  75. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/yaml/petstore-separate/spec/NewPet.yaml +0 -0
  76. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/yaml/petstore-separate/spec/Pet.yaml +0 -0
  77. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/yaml/petstore-separate/spec/parameters.yaml +0 -0
  78. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/yaml/petstore-separate/spec/swagger.yaml +0 -0
  79. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/yaml/petstore-simple.yaml +0 -0
  80. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/yaml/petstore-with-external-docs.yaml +0 -0
  81. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/yaml/petstore.yaml +0 -0
  82. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v2.0/yaml/uber.yaml +0 -0
  83. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v3.0/api-with-examples.yaml +0 -0
  84. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v3.0/callback-example.yaml +0 -0
  85. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v3.0/link-example.yaml +0 -0
  86. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v3.0/petstore-expanded.yaml +0 -0
  87. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v3.0/petstore.yaml +0 -0
  88. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/examples/v3.0/uspto.yaml +0 -0
  89. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/guidelines/EXTENSIONS.md +0 -0
  90. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/guidelines/v2.0/EXTENSIONS.md +0 -0
  91. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/guidelines/v2.0/README.md +0 -0
  92. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/guidelines/v2.0/REUSE.md +0 -0
  93. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/package.json +0 -0
  94. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/schemas/v1.2/README.md +0 -0
  95. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/schemas/v1.2/apiDeclaration.json +0 -0
  96. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/schemas/v1.2/authorizationObject.json +0 -0
  97. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/schemas/v1.2/dataType.json +0 -0
  98. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/schemas/v1.2/dataTypeBase.json +0 -0
  99. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/schemas/v1.2/infoObject.json +0 -0
  100. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/schemas/v1.2/modelsObject.json +0 -0
  101. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/schemas/v1.2/oauth2GrantType.json +0 -0
  102. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/schemas/v1.2/operationObject.json +0 -0
  103. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/schemas/v1.2/parameterObject.json +0 -0
  104. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/schemas/v1.2/resourceListing.json +0 -0
  105. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/schemas/v1.2/resourceObject.json +0 -0
  106. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/schemas/v2.0/README.md +0 -0
  107. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/schemas/v2.0/schema.json +0 -0
  108. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/versions/1.2.md +0 -0
  109. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/versions/2.0.md +0 -0
  110. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/versions/3.0.0.md +0 -0
  111. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/versions/3.0.1.md +0 -0
  112. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/OpenAPI-Specification/versions/3.0.2.md +0 -0
  113. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/conftest.py +0 -0
  114. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/doc/conf.py +0 -0
  115. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/doc/index.rst +0 -0
  116. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/doc/petstore.yaml +0 -0
  117. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/lib2to3/conftest.py +0 -0
  118. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/lib2to3/test_convert.py +0 -0
  119. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/lib2to3/test_convert_operation.py +0 -0
  120. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/lib2to3/test_convert_parameter.py +0 -0
  121. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/lib2to3/test_convert_parameters.py +0 -0
  122. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/lib2to3/test_convert_path.py +0 -0
  123. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/lib2to3/test_convert_paths.py +0 -0
  124. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/lib2to3/test_convert_request_body.py +0 -0
  125. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/lib2to3/test_convert_request_body_formdata.py +0 -0
  126. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/lib2to3/test_convert_response.py +0 -0
  127. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/lib2to3/test_convert_responses.py +0 -0
  128. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/conftest.py +0 -0
  129. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/rendered/v2.0/api-with-examples.yaml.rst +0 -0
  130. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/rendered/v2.0/petstore-expanded.yaml.rst +0 -0
  131. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/rendered/v2.0/petstore.yaml.rst +0 -0
  132. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/rendered/v2.0/uber.json.rst +0 -0
  133. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/rendered/v2.0/uber.yaml.rst +0 -0
  134. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/rendered/v3.0/api-with-examples.yaml.rst +0 -0
  135. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/rendered/v3.0/petstore-expanded.yaml.rst +0 -0
  136. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/rendered/v3.0/petstore.yaml.rst +0 -0
  137. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/rendered/v3.0/uspto.yaml.rst +0 -0
  138. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/test_render.py +0 -0
  139. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/test_render_json_schema_description.py +0 -0
  140. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/test_render_operation.py +0 -0
  141. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/test_render_parameter.py +0 -0
  142. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/test_render_parameters.py +0 -0
  143. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/test_render_paths.py +0 -0
  144. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/test_render_request_body.py +0 -0
  145. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/test_render_request_body_example.py +0 -0
  146. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/test_render_response.py +0 -0
  147. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/test_render_response_example.py +0 -0
  148. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/test_render_responses.py +0 -0
  149. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/renderers/httpdomain/test_render_restructuredtext_markup.py +0 -0
  150. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/test_description.py +0 -0
  151. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/test_schema_utils.py +0 -0
  152. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/test_spec_examples.py +0 -0
  153. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/test_toc.py +0 -0
  154. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/testdata/foo.json +0 -0
  155. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/testdata/foo.yaml +0 -0
  156. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/testspecs/v2.0/api-with-examples.yaml +0 -0
  157. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/testspecs/v2.0/petstore-expanded.yaml +0 -0
  158. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/testspecs/v2.0/petstore.yaml +0 -0
  159. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/testspecs/v2.0/uber.json +0 -0
  160. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/testspecs/v2.0/uber.yaml +0 -0
  161. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/testspecs/v3.0/api-with-examples.yaml +0 -0
  162. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/testspecs/v3.0/petstore-expanded.yaml +0 -0
  163. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/testspecs/v3.0/petstore.yaml +0 -0
  164. {sc-oa-0.7.0.13 → sc_oa-0.7.0.15}/tests/testspecs/v3.0/uspto.yaml +0 -0
@@ -8,12 +8,12 @@ jobs:
8
8
  pre-commit:
9
9
  runs-on: ubuntu-latest
10
10
  steps:
11
- - uses: actions/checkout@v1
11
+ - uses: actions/checkout@v4
12
12
 
13
- - name: Set up Python 3.8
14
- uses: actions/setup-python@v1
13
+ - name: Set up Python 3.11
14
+ uses: actions/setup-python@v4
15
15
  with:
16
- python-version: 3.8
16
+ python-version: 3.11
17
17
 
18
18
  - name: Run pre-commit
19
19
  run: |
@@ -24,14 +24,14 @@ jobs:
24
24
  strategy:
25
25
  matrix:
26
26
  os: [ubuntu-latest, macos-latest]
27
- python-version: ["3.8", "3.9", "3.10", "3.11"]
27
+ python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
28
28
 
29
29
  runs-on: ${{ matrix.os }}
30
30
  steps:
31
- - uses: actions/checkout@v2
31
+ - uses: actions/checkout@v4
32
32
 
33
33
  - name: Set up Python ${{ matrix.python-version }}
34
- uses: actions/setup-python@v1
34
+ uses: actions/setup-python@v4
35
35
  with:
36
36
  python-version: ${{ matrix.python-version }}
37
37
 
@@ -47,12 +47,12 @@ jobs:
47
47
  docs:
48
48
  runs-on: ubuntu-latest
49
49
  steps:
50
- - uses: actions/checkout@v2
50
+ - uses: actions/checkout@v4
51
51
 
52
- - name: Set up Python 3.8
53
- uses: actions/setup-python@v1
52
+ - name: Set up Python 3.11
53
+ uses: actions/setup-python@v4
54
54
  with:
55
- python-version: 3.8
55
+ python-version: 3.11
56
56
 
57
57
  - name: Run sphinx
58
58
  run: |
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: sc-oa
3
- Version: 0.7.0.13
3
+ Version: 0.7.0.15
4
4
  Summary: Fork of the OpenAPI (fka Swagger) spec renderer for Sphinx
5
5
  Home-page: https://github.com/olivier-heurtier/sphinxcontrib-openapi/tree/mymaster
6
6
  Author: Ihor Kalnytskyi
@@ -20,15 +20,18 @@ Classifier: Programming Language :: Python :: 3.8
20
20
  Classifier: Programming Language :: Python :: 3.9
21
21
  Classifier: Programming Language :: Python :: 3.10
22
22
  Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
23
24
  Classifier: Programming Language :: Python :: Implementation :: CPython
24
25
  Classifier: Framework :: Sphinx
25
26
  Classifier: Framework :: Sphinx :: Extension
26
27
  Requires-Python: >=3.8
27
28
  License-File: LICENSE
28
- Requires-Dist: sphinx<7.0
29
+ Requires-Dist: sphinx
29
30
  Requires-Dist: sphinxcontrib-httpdomain
30
31
  Requires-Dist: PyYAML
31
32
  Requires-Dist: jsonschema
32
33
  Requires-Dist: m2r2
33
34
  Requires-Dist: picobox
34
35
  Requires-Dist: deepmerge
36
+ Requires-Dist: setuptools
37
+ Dynamic: license-file
@@ -1,5 +1,5 @@
1
1
  [build-system]
2
- requires = ["setuptools>=45", "wheel", "setuptools_scm>=6.2"]
2
+ requires = ["setuptools", "wheel", "setuptools_scm"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [tool.setuptools_scm]
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: sc-oa
3
- Version: 0.7.0.13
3
+ Version: 0.7.0.15
4
4
  Summary: Fork of the OpenAPI (fka Swagger) spec renderer for Sphinx
5
5
  Home-page: https://github.com/olivier-heurtier/sphinxcontrib-openapi/tree/mymaster
6
6
  Author: Ihor Kalnytskyi
@@ -20,15 +20,18 @@ Classifier: Programming Language :: Python :: 3.8
20
20
  Classifier: Programming Language :: Python :: 3.9
21
21
  Classifier: Programming Language :: Python :: 3.10
22
22
  Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
23
24
  Classifier: Programming Language :: Python :: Implementation :: CPython
24
25
  Classifier: Framework :: Sphinx
25
26
  Classifier: Framework :: Sphinx :: Extension
26
27
  Requires-Python: >=3.8
27
28
  License-File: LICENSE
28
- Requires-Dist: sphinx<7.0
29
+ Requires-Dist: sphinx
29
30
  Requires-Dist: sphinxcontrib-httpdomain
30
31
  Requires-Dist: PyYAML
31
32
  Requires-Dist: jsonschema
32
33
  Requires-Dist: m2r2
33
34
  Requires-Dist: picobox
34
35
  Requires-Dist: deepmerge
36
+ Requires-Dist: setuptools
37
+ Dynamic: license-file
@@ -18,7 +18,6 @@ docs/specs/openapi.yml
18
18
  sc_oa.egg-info/PKG-INFO
19
19
  sc_oa.egg-info/SOURCES.txt
20
20
  sc_oa.egg-info/dependency_links.txt
21
- sc_oa.egg-info/namespace_packages.txt
22
21
  sc_oa.egg-info/not-zip-safe
23
22
  sc_oa.egg-info/requires.txt
24
23
  sc_oa.egg-info/top_level.txt
@@ -1,7 +1,8 @@
1
- sphinx<7.0
1
+ sphinx
2
2
  sphinxcontrib-httpdomain
3
3
  PyYAML
4
4
  jsonschema
5
5
  m2r2
6
6
  picobox
7
7
  deepmerge
8
+ setuptools
@@ -20,6 +20,7 @@ classifiers =
20
20
  Programming Language :: Python :: 3.9
21
21
  Programming Language :: Python :: 3.10
22
22
  Programming Language :: Python :: 3.11
23
+ Programming Language :: Python :: 3.12
23
24
  Programming Language :: Python :: Implementation :: CPython
24
25
  Framework :: Sphinx
25
26
  Framework :: Sphinx :: Extension
@@ -30,18 +31,18 @@ build-dir = build/docs
30
31
  all_files = 1
31
32
 
32
33
  [options]
33
- packages = find:
34
+ packages = sphinxcontrib
34
35
  include_package_data = True
35
36
  zip_safe = False
36
37
  install_requires =
37
- sphinx < 7.0
38
+ sphinx
38
39
  sphinxcontrib-httpdomain
39
40
  PyYAML
40
41
  jsonschema
41
42
  m2r2
42
43
  picobox
43
44
  deepmerge
44
- namespace_packages = sphinxcontrib
45
+ setuptools
45
46
  python_requires = >=3.8
46
47
 
47
48
  [egg_info]
@@ -8,5 +8,3 @@
8
8
  :copyright: (c) 2016 by Igor Kalnitsky.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
-
12
- __import__("pkg_resources").declare_namespace(__name__)
@@ -1,4 +1,4 @@
1
- """
1
+ """get_distribution
2
2
  sphinxcontrib.openapi
3
3
  ---------------------
4
4
 
@@ -10,15 +10,15 @@
10
10
  """
11
11
 
12
12
  import os
13
- from pkg_resources import get_distribution, DistributionNotFound
13
+ from importlib.metadata import distribution, PackageNotFoundError
14
14
  from sphinxcontrib.openapi import renderers, directive
15
15
  from sphinx.domains import Domain
16
16
  import yaml
17
17
  from docutils import nodes
18
18
 
19
19
  try:
20
- __version__ = get_distribution(__name__).version
21
- except DistributionNotFound:
20
+ __version__ = distribution(__name__).version
21
+ except PackageNotFoundError:
22
22
  # package is not installed
23
23
  __version__ = None
24
24
 
@@ -144,7 +144,8 @@ def _parse_schema(schema, method):
144
144
  del example[k]
145
145
  ret = collections.OrderedDict(example)
146
146
  # XXX should be True to be compliant with OpenAPI
147
- if schema.get('additionalProperties', False) and '...' not in example:
147
+ if (schema.get('additionalProperties', False) or 'type' not in schema) and \
148
+ '...' not in example:
148
149
  # materialize in the example the fact that additional properties can be added
149
150
  ret['...'] = '...'
150
151
  return ret
@@ -160,7 +161,7 @@ def _parse_schema(schema, method):
160
161
  results.append((name, result))
161
162
 
162
163
  # XXX should be True to be compliant with OpenAPI
163
- if schema.get('additionalProperties', False):
164
+ if schema.get('additionalProperties', False) or 'type' not in schema:
164
165
  # materialize in the example the fact that additional properties can be added
165
166
  results.append(("...", "..."))
166
167
 
@@ -245,9 +245,7 @@ def _process_one(prefix, schema, mandatory, entities, convert):
245
245
 
246
246
 
247
247
  def _build(name, schema, entities, convert, options):
248
- if 'type' not in schema:
249
- schema['type'] = 'object'
250
- if schema.get('type', '') not in ['object', 'array']:
248
+ if 'type' in schema and schema['type'] not in ['object', 'array']:
251
249
  return ''
252
250
 
253
251
  yield ''
@@ -257,27 +255,32 @@ def _build(name, schema, entities, convert, options):
257
255
  yield options['header'] * len(name)
258
256
  yield ''
259
257
  D = _get_description(schema, convert)
258
+ if 'type' not in schema and not (set(['oneOf', 'allOf', 'anyOf']) & schema.keys()):
259
+ D += '\n' + _('Any type of content is accepted (number, string or object).')
260
260
  if D:
261
261
  yield D
262
262
  yield ''
263
- yield '.. list-table:: ' + name
264
- yield ' :header-rows: 1'
265
- yield ' :widths: 25 25 45 15'
266
- yield ' :class: longtable'
267
- yield ''
268
- yield ' * - ' + _('Attribute')
269
- yield ' - ' + _('Type')
270
- yield ' - ' + _('Description')
271
- yield ' - ' + _('Required')
272
-
273
- for item in _process_one([], schema, False, entities, convert):
274
- if str(item[0]):
275
- yield ' * - ``' + str(item[0]) + '``'
276
- else:
277
- yield ' * - ' + _('N/A')
278
- yield ' - ' + textwrap.indent(str(item[1]), ' ').lstrip()
279
- yield ' - ' + textwrap.indent(str(item[2]), ' ').lstrip()
280
- yield ' - ' + _('Yes') if item[3] else ' -'
263
+ if 'type' not in schema and not (set(['oneOf', 'allOf', 'anyOf']) & schema.keys()):
264
+ pass
265
+ else:
266
+ yield '.. list-table:: ' + name
267
+ yield ' :header-rows: 1'
268
+ yield ' :widths: 25 25 45 15'
269
+ yield ' :class: longtable'
270
+ yield ''
271
+ yield ' * - ' + _('Attribute')
272
+ yield ' - ' + _('Type')
273
+ yield ' - ' + _('Description')
274
+ yield ' - ' + _('Required')
275
+
276
+ for item in _process_one([], schema, False, entities, convert):
277
+ if str(item[0]):
278
+ yield ' * - ``' + str(item[0]) + '``'
279
+ else:
280
+ yield ' * - ' + _('N/A')
281
+ yield ' - ' + textwrap.indent(str(item[1]), ' ').lstrip()
282
+ yield ' - ' + textwrap.indent(str(item[2]), ' ').lstrip()
283
+ yield ' - ' + _('Yes') if item[3] else ' -'
281
284
 
282
285
  if 'example' in schema or 'examples' in schema:
283
286
  N = 1
@@ -289,7 +292,8 @@ def _build(name, schema, entities, convert, options):
289
292
  N += 1
290
293
  # validate the example against this schema
291
294
  try:
292
- validate(instance=ex, schema=schema)
295
+ if 'type' in schema:
296
+ validate(instance=ex, schema=schema)
293
297
  yield ''
294
298
  yield '.. code-block:: json'
295
299
  yield ''
@@ -251,6 +251,46 @@ class TestOpenApi3Model(object):
251
251
  -
252
252
  """)
253
253
 
254
+ def test_no_type(self):
255
+ renderer = renderers.ModelRenderer(None, {})
256
+ spec = yaml.safe_load(textwrap.dedent("""
257
+ ---
258
+ openapi: 3.0.0
259
+ paths: {}
260
+ components:
261
+ schemas:
262
+ Test1:
263
+ description: This is a description
264
+ examples:
265
+ - field1: "test"
266
+ - "BUFFER"
267
+ """))
268
+ text = '\n'.join(renderer.render_restructuredtext_markup(spec))
269
+ assert text == textwrap.dedent("""
270
+ .. _/components/schemas/Test1:
271
+
272
+ Test1
273
+ '''''
274
+
275
+ This is a description
276
+ Any type of content is accepted (number, string or object).
277
+
278
+
279
+ Example #1:
280
+
281
+ .. code-block:: json
282
+
283
+ {
284
+ "field1": "test"
285
+ }
286
+
287
+ Example #2:
288
+
289
+ .. code-block:: json
290
+
291
+ "BUFFER"
292
+ """)
293
+
254
294
  def test_array(self):
255
295
  renderer = renderers.ModelRenderer(None, {})
256
296
  spec = yaml.safe_load(textwrap.dedent("""
@@ -1069,14 +1109,17 @@ class TestOpenApi3Model(object):
1069
1109
  components:
1070
1110
  schemas:
1071
1111
  A:
1112
+ type: object
1072
1113
  properties:
1073
1114
  a:
1074
1115
  type: string
1075
1116
  B:
1117
+ type: object
1076
1118
  properties:
1077
1119
  b:
1078
1120
  type: string
1079
1121
  AB:
1122
+ type: object
1080
1123
  properties:
1081
1124
  ab:
1082
1125
  type: string
@@ -2226,6 +2226,81 @@ class TestOpenApi3HttpDomain(object):
2226
2226
  Success.
2227
2227
  ''').lstrip()
2228
2228
 
2229
+ def test_entity_no_type(self):
2230
+ renderer = renderers.HttpdomainOldRenderer(None, {'examples': True})
2231
+ spec = yaml.safe_load(textwrap.dedent("""
2232
+ ---
2233
+ openapi: 3.0.0
2234
+ servers:
2235
+ - url: https://test.org/context
2236
+ paths:
2237
+ /resources:
2238
+ post:
2239
+ summary: Summary
2240
+ description: test service
2241
+ requestBody:
2242
+ description: Body
2243
+ content:
2244
+ application/json:
2245
+ schema:
2246
+ $ref: '#/components/schemas/Test1'
2247
+ responses:
2248
+ 200:
2249
+ description: Success
2250
+ content:
2251
+ application/json:
2252
+ schema:
2253
+ $ref: '#/components/schemas/Test2'
2254
+ components:
2255
+ schemas:
2256
+ Test1:
2257
+ description: any type1
2258
+ example:
2259
+ field1: 12
2260
+ Test2:
2261
+ description: any type2
2262
+ """))
2263
+
2264
+ text = '\n'.join(renderer.render_restructuredtext_markup(spec))
2265
+ assert text == textwrap.dedent('''
2266
+ .. http:post:: /resources
2267
+ :synopsis: Summary
2268
+
2269
+ **Summary**
2270
+
2271
+ test service
2272
+
2273
+ :form body: Body.
2274
+ any type1.
2275
+
2276
+ **Example request:**
2277
+
2278
+ .. sourcecode:: http
2279
+
2280
+ POST /resources HTTP/1.1
2281
+ Host: example.com
2282
+ Content-Type: application/json
2283
+
2284
+ {
2285
+ "field1": 12
2286
+ }
2287
+
2288
+ :status 200:
2289
+ Success.
2290
+
2291
+ **Example response:**
2292
+
2293
+ .. sourcecode:: http
2294
+
2295
+ HTTP/1.1 200 OK
2296
+ Content-Type: application/json
2297
+
2298
+ {
2299
+ "...": "..."
2300
+ }
2301
+
2302
+ ''').lstrip()
2303
+
2229
2304
  def test_adv_parameters(self):
2230
2305
  renderer = renderers.HttpdomainOldRenderer(None, {'entities': True})
2231
2306
  spec = yaml.safe_load(textwrap.dedent("""
@@ -7,6 +7,14 @@ deps =
7
7
  pytest
8
8
  responses
9
9
  Jinja2
10
+ sphinx
11
+ sphinxcontrib-httpdomain
12
+ PyYAML
13
+ jsonschema
14
+ m2r2
15
+ picobox
16
+ deepmerge
17
+ setuptools
10
18
  usedevelop = true
11
19
  commands =
12
20
  {envpython} -m pytest tests/ --strict-markers {posargs}
@@ -19,6 +27,12 @@ commands =
19
27
 
20
28
  [testenv:docs]
21
29
  deps = sphinx_rtd_theme
30
+ sphinxcontrib-httpdomain
31
+ PyYAML
32
+ jsonschema
33
+ m2r2
34
+ picobox
35
+ deepmerge
22
36
  commands =
23
37
  sphinx-build -b html -d {envtmpdir}/doctrees docs docs/_build/
24
38
 
@@ -1 +0,0 @@
1
- sphinxcontrib
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes