core-api / python-openapi-codec

An OpenAPI codec for Core API.
Other
33 stars 35 forks source link

Add coreschema to requirements.txt #32

Closed sheaC42 closed 7 years ago

sheaC42 commented 7 years ago

Since going to version 1.3.0 you began using coreschema. However it's not in the requirements file of this project so users will see

ImportError: No module named coreschema

if they don't add this to their own requirements.txt file.

I first noticed this issue when using django-rest-swagger since it gets the latest version of openapi-codec.

Here is a stack trace from my project.

Traceback (most recent call last):
  File "/code/app/tests/test_delete_intents.py", line 20, in setUp
    self.url = reverse('delete_intent')
  File "/usr/local/lib/python2.7/site-packages/django/urls/base.py", line 91, in reverse
    return force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)))
  File "/usr/local/lib/python2.7/site-packages/django/urls/resolvers.py", line 344, in _reverse_with_prefix
    self._populate()
  File "/usr/local/lib/python2.7/site-packages/django/urls/resolvers.py", line 196, in _populate
    for pattern in reversed(self.url_patterns):
  File "/usr/local/lib/python2.7/site-packages/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/local/lib/python2.7/site-packages/django/urls/resolvers.py", line 313, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/usr/local/lib/python2.7/site-packages/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/local/lib/python2.7/site-packages/django/urls/resolvers.py", line 306, in urlconf_module
    return import_module(self.urlconf_name)
  File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/code/app/urls.py", line 12, in <module>
    from app.doc_views.schema_view import schema_view
  File "/code/app/doc_views/schema_view.py", line 6, in <module>
    from rest_framework_swagger.renderers import OpenAPIRenderer, SwaggerUIRenderer
  File "/usr/local/lib/python2.7/site-packages/rest_framework_swagger/renderers.py", line 4, in <module>
    from openapi_codec import OpenAPICodec
  File "/usr/local/lib/python2.7/site-packages/openapi_codec/__init__.py", line 7, in <module>
    from openapi_codec.encode import generate_swagger_object
  File "/usr/local/lib/python2.7/site-packages/openapi_codec/encode.py", line 1, in <module>
    import coreschema
ImportError: No module named coreschema
sheaC42 commented 7 years ago

I realized the issue is that in the requirements.txt of my project I had

coreapi==2.0.8

so coreschema wasn't getting installed as part of coreapi when it should be.