Skip to content
Permalink
Branch: master
Commits on Jul 10, 2018
  1. Python2 support

    Dorthu committed Jul 10, 2018
    Backported to Python2 (turned out to be really easy) and added "Schema"
    to parameter type (instead of placeholder `dict`)
Commits on Jun 25, 2018
  1. Updated .gitignore for generated directories

    Dorthu committed Jun 25, 2018
  2. Fixed README

    Dorthu committed Jun 25, 2018
Commits on Jun 22, 2018
  1. Support JSON too

    Dorthu committed Jun 22, 2018
  2. Validate defaults correctly (more correctly)

    Dorthu committed Jun 22, 2018
  3. Fixed build

    Dorthu committed Jun 22, 2018
  4. Added validation mode

    Dorthu committed Jun 22, 2018
Commits on May 24, 2018
  1. Added support for request models

    Dorthu committed May 24, 2018
    Right now these can only be generated off of them request schema object,
    and don't support nested schemas.  Example::
    
       s = o.paths['/linode/instances/{linodeId}'].put.requestBody.content['application/json'].schema
       r = s.request_model(label='changed-again')
       l = o.call_updateLinodeInstance(parameters={"linodeId":l.id}, data=r)
    
    This does some basic validation to ensure that the request is well
    formed, but it could be better.  This still only supports
    application/json.
Commits on May 23, 2018
  1. Added travis badge to README

    Dorthu committed May 23, 2018
  2. 3.3 didn't work for some reason, took it out for now

    Dorthu committed May 23, 2018
  3. Added dependency to travis.yml

    Dorthu committed May 23, 2018
  4. Added pylint, travis config to run it

    Dorthu committed May 23, 2018
  5. Added support for nested models, fixed various bugs

    Dorthu committed May 23, 2018
    This is now at a baseline level of functionality as an OpenAPI 3 client.
    Requests can be sent and models retrieved, and parameters and data are
    accepted.  I'm sure this could be cleaned up and made nicer to use, and
    many parts of the spec remain unimplemented, but as a minimum viable
    product this appears to work.
Commits on May 22, 2018
  1. Tentatively finished reference resolution

    Dorthu committed May 22, 2018
    After parsing the entire spec, OpenAPI calls a cascading reference
    resolution function to ensure that all references are valid, and that
    all values are present and usable
Commits on May 21, 2018
Commits on May 20, 2018
  1. Added README

    Dorthu committed May 20, 2018
  2. Added response parsing/handling

    Dorthu committed May 20, 2018
    Operations now take the result of their requests and inspect their
    responses object to see what the response should have been and return
    that schema's model.
  3. Added ability to authenticate with parsed spec

    Dorthu committed May 20, 2018
    OpenAPI.authenticate now accepts a security scheme name and
    authentication value, which is passed along to all called operations.
Commits on May 19, 2018
  1. Operations can now be called from the spec by operationId

    Dorthu committed May 19, 2018
    Intended usage is this::
    
       spec = OpenAPI(spec_yaml)
       result = spec.call_getLinodeInstances(security={"personalAccessToken": token})
    
    This uses a custom __getattribute__ to convert all attributes started
    with call_ to an OperationCallable configured with the (first) base_url
    it finds such that it is immediately called with the given arguments.
Commits on May 18, 2018
  1. Added dynamic Model creation

    Dorthu committed May 18, 2018
    This is a step toward calling operations generating Models for the
    responses - Schemas can now create Models which will represent them, and
    Models have some base logic to make them useful.  All Models from a
    single Schema will have the same Type.
Commits on May 15, 2018
Commits on May 14, 2018
  1. Added the ability to send requests to Operations

    Dorthu committed May 14, 2018
    This is still pretty rough, but Operations now have a request method
    that sends the appropriate request to the appropriate endpoint.  Right
    now only the 'http bearer' security scheme is supported.
  2. Added components

    Dorthu committed May 14, 2018
Commits on May 11, 2018
Commits on May 8, 2018
  1. Worked on paths until I found Schema

    Dorthu committed May 8, 2018
    Also abstracted out Maps and used them
Commits on May 7, 2018
  1. Finished support for one of many types, more on paths

    Dorthu committed May 7, 2018
    can_parse is now implemented to return if a given class can parse an
    arbitrary dict, allowing _get and parse_list to handle when more than
    one type of Object is accepted.
Commits on May 6, 2018
Commits on May 5, 2018
Commits on May 4, 2018
You can’t perform that action at this time.