This repository was archived by the owner on Mar 18, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 57
Version 3 #156
Open
tomchristie
wants to merge
61
commits into
master
Choose a base branch
from
version-3
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Version 3 #156
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@thinkwelltwd Replied on that ticket! :) |
…out to an external lib or snippet if we want.
Just wondering about I'd then do something like
I might do ??? |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Core API started off as an attempt to address hypermedia - how to build free-form documents that contain both data and links. We're able to use it for API schemas, (and representations such as OpenAPI & RAML) because those happen to be documents that only contain links.
Practically I think that having the tooling focus specifically on schema representations is going to be a better way forward. That's where the vast majority of the need actually lies, and I think we can do a better job of pushing forward schema-driven client libs, schema-driven documentation, and other tooling, if we restrict ourselves just to that.
I'd also like to see us build in proper typing support, currently in
coreschema
, so that we can have calls that actually return data types that look like we expect, and be able to eg. instantiate data types in the client, and immediately get client-side validation errors on incorrect values.Going to try to start to work towards that incrementally, perhaps eventually coupled with a REST framework 3.8 release.
Drop deprecated arguments:
transform
on Links and removeinplace
transformations.action
and 'encoding' parameters on the Client, in favor of the general purposeoverrides
credentials
on HTTPTransport in favor ofauth
.request_callback
/response_callback
on HTTPTransport in favor of custom sessions.Remove data from documents:
Drop
Array
.Include
typesys
, and dropcoreschema
package.Include built-in codec for OpenAPI.
TODO:
Document.media_type
. AddDocument.version
.cli
itypes
.client = Client(document)
, notclient.action(document, [...])
Later:
repr
/str
, and droppingDisplayCodec
/PythonCodec
.Initial proposal for Documents, something along these lines:
Document
Section
"[a-zA-Z_][a-zA-Z0-9_]*"
or""
Link
"[a-zA-Z_][a-zA-Z0-9_]*"
Field
"[a-zA-Z_][a-zA-Z0-9_]*"