Swagger/OpenAPI 2.0 Parser
Swagger/OpenAPI 2.0 Parser for Python
Prances provices parsers for Swagger/OpenAPI 2.0 API specifications in Python. It uses swagger_spec_validator to validate specifications, but additionally resolves JSON references in accordance with the Swagger spec.
Mostly the latter involves handling non-URI references; Swagger is fine with providing relative file paths, whereas JSON references require URIs at this point in time.
Most likely you have spec file and want to parse it:
from prance import ResolvingParser parser = ResolvingParser('path/to/my/swagger.yaml') parser.specification # contains fully resolved specs as a dict
Prance also includes a non-resolving parser that does not follow JSON references, in case you prefer that.
from prance import BaseParser parser = BaseParser('path/to/my/swagger.yaml') parser.specification # contains specs as a dict still containing JSON references
Largely, that’s it. There is a whole slew of utility code that you may or may not find useful, too. Look at the full documentation for details.
Use virtualenv to create a virtual environment and change to it or not, as you see fit.
Then install the requirements:
$ pip install -r requirements.txt
Run the whole test suite:
$ python setup.py test
Run a single test scenario:
$ pytest tests/test_resolving_parser.py::test_basics
Run tests on multiple Python versions:
Run tests on Python 2.7:
$ tox -e py27
A simple test coverage report is automatically generated.
Licensed under MITNFA (MIT +no-false-attribs) License. See the LICENSE.txt file for details.
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|prance-0.1.2-py2.py3-none-any.whl (14.9 kB) Copy SHA256 hash SHA256||Wheel||py2.py3|
|prance-0.1.2.tar.gz (16.3 kB) Copy SHA256 hash SHA256||Source||None|