معرفی شرکت ها


aiohttp-json-api-0.9.3


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

JSON API driven by aiohttp
ویژگی مقدار
سیستم عامل -
نام فایل aiohttp-json-api-0.9.3
نام aiohttp-json-api
نسخه کتابخانه 0.9.3
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Vladimir Bolshakov
ایمیل نویسنده vovanbo@gmail.com
آدرس صفحه اصلی https://github.com/vovanbo/aiohttp_json_api
آدرس اینترنتی https://pypi.org/project/aiohttp-json-api/
مجوز MIT license
======================================= `JSON API`_ implementation for aiohttp_ ======================================= .. image:: https://img.shields.io/pypi/v/aiohttp_json_api.svg :target: https://pypi.python.org/pypi/aiohttp_json_api .. image:: https://img.shields.io/travis/vovanbo/aiohttp_json_api.svg :target: https://travis-ci.org/vovanbo/aiohttp_json_api .. image:: https://readthedocs.org/projects/aiohttp-json-api/badge/?version=latest :target: https://aiohttp-json-api.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status .. image:: https://pyup.io/repos/github/vovanbo/aiohttp_json_api/shield.svg :target: https://pyup.io/repos/github/vovanbo/aiohttp_json_api/ :alt: Updates Introduction ------------ This project heavily inspired by py-jsonapi_ (author is `Benedikt Schmitt`_). Some parts of this project is improved and refactored dev-schema_ branch of **py-jsonapi**. At beginning of aiohttp-json-api_ this branch was a great, but not finished implementation of JSON API with *schema controllers*. Also, py-jsonapi_ is not asynchronous and use inside self-implemented Request/Response classes. Some of base entities of py-jsonapi_ was replaced with aiohttp_ server's objects, some of it was divided into new separate entities (e.g. `JSONAPIContext` or `Registry`). * Free software: MIT license * Documentation: https://aiohttp-json-api.readthedocs.io Requirements ------------ * **Python 3.6** or newer * aiohttp_ * inflection_ * multidict_ * jsonpointer_ * dateutil_ * trafaret_ * python-mimeparse_ Todo ---- * Tutorials * Improve documentation * Tests * Features description * Customizable payload keys inflection (default is `dasherize` <-> `underscore`) * Support for JSON API extensions (bulk creation etc.) * Polymorphic relationships Credits ------- This package was created with Cookiecutter_ and the `cookiecutter-pypackage`_ project template. .. _aiohttp-json-api: https://github.com/vovanbo/aiohttp_json_api .. _Cookiecutter: https://github.com/audreyr/cookiecutter .. _cookiecutter-pypackage: https://github.com/audreyr/cookiecutter-pypackage .. _JSON API: http://jsonapi.org .. _aiohttp: http://aiohttp.readthedocs.io/en/stable/ .. _py-jsonapi: https://github.com/benediktschmitt/py-jsonapi .. _dev-schema: https://github.com/benediktschmitt/py-jsonapi/tree/dev-schema .. _`Benedikt Schmitt`: https://github.com/benediktschmitt .. _inflection: https://inflection.readthedocs.io/en/latest/ .. _jsonpointer: https://python-json-pointer.readthedocs.io/en/latest/index.html .. _dateutil: https://dateutil.readthedocs.io/en/stable/ .. _trafaret: http://trafaret.readthedocs.io/en/latest/ .. _multidict: http://multidict.readthedocs.io/en/stable/ .. _python-mimeparse: https://pypi.python.org/pypi/python-mimeparse ======= History ======= 0.37.0 (2018-03-03) ------------------- * Drop Python 3.5 support * Update documentation 0.36.1 (2018-03-03) ------------------- * Fix bug with content negotiation * Add cherry-picked and improved helpers from python-mimeparse_ 0.36.0 (2018-03-02) ------------------- * Improve content negotiation (fix #185) with python-mimeparse * Update requirements 0.35.2 (2017-12-13) ------------------- * Fix bug with wrong query parameters of links in compound documents 0.35.1 (2017-12-12) ------------------- * Fix ``trafaret`` requirement to 1.0.2 (included ``rfc3339.Date``) 0.35.0 (2017-12-11) ------------------- **BREAKING CHANGES!** * Schema is separated into Schema (marshaller) and Controller * Request context instantiated in handlers and was renamed to ``JSONAPIContext`` * Change signature of setup JSON API method in application (now we should pass a mapping between schemas and controllers) * New abstract base class for Controller * Schema and Controller must be initialized with only one parameter — ``JSONAPIContext`` * Passing a context to almost each method of Schema no more required (context is accessible from Schema or Controller instance directly) * Remove decorator for JSON API handlers (content negotiation moved to middleware) * Refactored fields and schema modules * Improved fetching of compound documents * Examples are updated to conform with all changes in this release 0.33.1 (2017-12-06) ------------------- * Fix bug with no Accept header in request 0.33.0 (2017-12-06) ------------------- * Improve content type negotiation * Improve documentation * Add field for Date * Add example based on `fantasy database <https://github.com/endpoints/fantasy-database>`_ * Introduce JSON API integration test suite (not done yet!) * Improve collections helpers * No more links normalization by default * Move meta object at top level of result document 0.32.0 (2017-11-21) ------------------- * Constants, enums and structs refactoring *(backward incompatible)* * Add useful typings * Documentation fixes * Extend development requirements 0.31.0 (2017-11-14) ------------------- * Improve performance of URL resolving again. At this time with usage of standard Python urllib * Upgrade requirements 0.30.0 (2017-11-13) ------------------- * Improve performance of URL resolving in Link field (with `cachetools`_) * Upgrade requirements 0.29.2 (2017-11-02) ------------------- * Documentation improvements 0.29.1 (2017-11-02) ------------------- * Update README * Upgrade requirements 0.29.0 (2017-11-02) ------------------- * Simple example of usage is added * Fix bug in handler of relationship query 0.28.3 (2017-11-02) ------------------- * Fix bug with wrong read-only field error * Don’t require setup ID field in Schema to update a resource 0.28.2 (2017-11-01) ------------------- * Add multidict_ to requirements and to README 0.28.1 (2017-10-31) ------------------- * Fix small bug with wrong empty sorting in RequestContext 0.28.0 (2017-10-31) ------------------- * Add support for customizable inflection of fields from query string. * Convert static methods of RequestContext to class methods * Update docs of RequestContext methods 0.27.1 (2017-10-31) ------------------- * Fix packaging of ABCs and compats 0.27.0 (2017-10-31) ------------------- * Abstract base classes refactoring (separate Field and Schema ABCs) * Fix bug with compound documents in case models has no property “resource_id” * Remove buggy helper to check subclass of any instance * Decompose setup application method to increase readability * Properly error raised in jsonapi_handler decorator * Use one field instead of two to check what type of relation have the field 0.26.0 (2017-10-30) ------------------- * Properly use abstract base classes. Inherit SchemaABC from ABC. * Rename resource validation methods *(backward incompatible)* 0.25.0 (2017-10-18) ------------------- * Add Tuple field * Fix bug with List field items enumeration * Fix wrong conversion of Decimal field to string on deserialization * Add yarl_ (>=0.13) to requirements 0.24.1 (2017-10-12) ------------------- * Add support for length range specifying for List field 0.24.0 (2017-10-04) ------------------- * Convert document render utility to async coroutine *(backward incompatible)* * Rename Error class property "json" to "as_dict" to clarify 0.23.0 (2017-10-03) ------------------- * Use MultiDict for request context filters and FilterRule tuple *(backward incompatible)* * Debug info on request context creation 0.22.2 (2017-09-27) ------------------- * Add support for nullable List field 0.22.1 (2017-09-25) ------------------- * Fix bug with wrong exit from compound documents fetch utility ("return" instead of "break") 0.22.0 (2017-09-22) ------------------- * Remove recursive fetching of compound documents. Replace it with simple loop. 0.21.2 (2017-09-22) ------------------- * Fix bug with fetching compound documents when query parameter "include" contains the same relation twice and more. 0.21.1 (2017-09-19) ------------------- * Fix bug with non-underscored relation name in relationship handlers 0.21.0 (2017-09-19) ------------------- * Add support for field names conversion passed to "include" request context * Update development requirements 0.20.2 (2017-08-30) ------------------- * Avoid assertion in Registry ensure identifier method * Make Schema getter of object id static * Avoid to filter out empty fields of rendered documents (less memory and faster) * Get id field of schema more safely in URI resource ID validator 0.20.1 (2017-08-15) ------------------- * Add support for load only fields (like a Marshmallow) 0.20.0 (2017-08-14) ------------------- * Asynchronous validators support * Routes namespace can be customized * Relative links support 0.19.1 (2017-08-10) ------------------- * Improve serialization result default keys creation 0.19.0 (2017-08-10) ------------------- * Refactor schema serializer to fix bug with no resource link in result * Clean-up validation of expected ID in pre-validaiton of resource * Use status property of ErrorList in error middleware to return HTTP status * Remove default getter from Link field, because it doesn't used anymore 0.18.1 (2017-08-09) ------------------- * Migrate to trafaret >= 0.11.0 * Fix requirement of trafaret to version greater than 0.11.0 0.18.0 (2017-08-09) ------------------- * Properly handle missing values in deserialization and validation 0.17.1 (2017-07-31) ------------------- * Add support for validation of Relationships ID field 0.17.0 (2017-07-28) ------------------- * Normalize resource_id parameter usage in all mutation methods. * Add fetch_resource schema coroutine to receive resource instance by ID. * Add separate method for mapping deserialized data to schema. * Context is required parameter for deserialization schema method. * Move docs to ABC schema. * Properly handle allow_none parameter for UUID field 0.16.2 (2017-07-24) ------------------- * Fix arguments passed to validators 0.16.1 (2017-07-24) ------------------- * Pass context to value setter in update methods 0.16.0 (2017-07-22) ------------------- * Strict member names and type checking to conform JSON API requirements (routes and schema level). See also: http://jsonapi.org/format/#document-member-names * Strict check for overrides of handlers * Improve debug logging 0.15.2 (2017-07-21) ------------------- * Initialize default relationships links in meta-class, to avoid bug with empty names of relationships fields 0.15.1 (2017-07-19) ------------------- * Rename resource ID parameter of query_resource schema' method. 0.15.0 (2017-07-18) ------------------- * Pagination is initialized from request by default. Remove separate class method of BasePagination to initialize pagination instance * Improve value validation error for absent fields * Improve validation error of string field with choices 0.14.0 (2017-07-13) ------------------- * Customisable JSON API handlers support * DRY in handlers * Move context builder from middleware to jsonapi_handler decorator * Request context receive optional resource_type now 0.13.0 (2017-07-12) ------------------- * Revert back to asynchronous setters, because it's used in update relationships and it might want to query DB, for example 0.12.0 (2017-07-12) ------------------- * Base Registry class from UserDict, so Registry is a dict with ensure_identifier method. * More strict typing checks on setup. 0.11.1 (2017-07-11) ------------------- * Fix bug with mutation not cloned resource in method for delete relationship * Require JSON API content type on delete relationships 0.11.0 (2017-07-11) ------------------- * Method for update return original and updated resource as result. Updated resource is created via deepcopy. It will be useful to determine returned HTTP status * Fix bug with enumeration (choices) in String field * Fix bug with context event setup for OPTIONS, HEAD and another request methods not used in JSON API 0.10.0 (2017-07-10) ------------------- * Mass refactoring of schema, fields, validation and decorators * Generic approach to setup Schema decorators is used (inspired by Marshmallow) * Fields are used only for encode/decode now (with pre/post validation). Additional validators for fields must be created on schema level * Custom JSON encoder with support JSONPointer serialization * Remove boltons from requirements * No more remap input data dictionary with key names to underscores conversion. * Add helpers "first" and "make_sentinel" (cherry-picked from boltons) * Fix enumeration (choices) support in String field 0.9.3 (2017-07-06) ------------------ * Setup content-type validation on mutation API methods (application/vnd.api+json is required) * Properly get and encode relationships fields * Update docs and typing for ensure_identifier Registry's method 0.9.2 (2017-07-06) ------------------ * Fix bugs related to Python 3.5 * Generation of documentation on RTD is fixed 0.9.1 (2017-07-06) ------------------ * Python 3.5 compatibility changes 0.9.0 (2017-07-06) ------------------ * Handle aiohttp-json-api exceptions and errors in middleware. If exceptions is not related to JSON API errors, then exception is reraised * Huge refactoring of RequestContext * No more use of boltons cachedproperties, instead use parsing static methods related to each request context' entity * Update docs for RequestContext methods * Add typings to RequestContext 0.8.2 (2017-07-05) ------------------ * Properly handle error with wrong relation name (raise HTTP 400) 0.8.1 (2017-07-05) ------------------ * Fix bdist_wheel python tag to support Python 3.5 0.8.0 (2017-07-05) ------------------ * Python 3.5 support (avoid usage of Python 3.6 format strings) * Registry is plain object now * Custom Registry support (`registry_class` parameter in ``aiohttp_json_api.setup_jsonapi`` method) * Log debugging information at start about registered resources, methods and routes * Use OrderedDict inside SchemaMeta 0.7.2 (2017-07-04) ------------------ * Fix bug with JSONPointer when part passed via __truediv__ is integer * Validate relationship object before adding relationship in ToMany field 0.7.1 (2017-07-04) ------------------ * Fix bugs with validation of resource identifier in relationships fields * Add typings for base fields 0.7.0 (2017-07-03) ------------------ * Setup of JSON API must be imported from package directly * Fix bugs with decode fields and allow None values 0.6.2 (2017-06-29) ------------------ * Update HISTORY 0.6.1 (2017-06-29) ------------------ * Fix bug with Enum choices of String field 0.6.0 (2017-06-29) ------------------ * Return resource in update method of Schema class. This will be helpful in inherit classes of Schemas. 0.5.5 (2017-06-15) ------------------ * Setup auto-deploy to PyPI in Travis CI 0.5.4 (2017-06-15) ------------------ * Initial release on PyPI 0.5.3 (2017-06-14) ------------------ * Improve documentation 0.5.0 (2017-06-14) ------------------ * Don't use attrs_ package anymore * Refactor requirements (move it into `setup.py`) 0.4.0 (2017-06-13) ------------------ * Schema imports refactoring (e.g. don't use ``aiohttp_json_api.schema.schema.Schema`` anymore) 0.3.0 (2017-06-13) ------------------ * Upgrade requirements 0.2.0 (2017-05-26) ------------------ * Fix setup.py * Add test for Decimal trafaret field 0.1.1 (2017-05-26) ------------------ * Dirty initial version .. _attrs: http://www.attrs.org/en/stable/ .. _yarl: https://yarl.readthedocs.io .. _multidict: http://multidict.readthedocs.io/en/stable/ .. _cachetools: https://github.com/tkem/cachetools .. _python-mimeparse: https://pypi.python.org/pypi/python-mimeparse


نیازمندی

مقدار نام
>=2.0.0 aiohttp
>=0.3.1 inflection
>=3.3.0 multidict
>=1.10 jsonpointer
>=2.6.0 python-dateutil
>=1.6.0 python-mimeparse
>=1.0.2 trafaret
>=0.13.0 yarl


نحوه نصب


نصب پکیج whl aiohttp-json-api-0.9.3:

    pip install aiohttp-json-api-0.9.3.whl


نصب پکیج tar.gz aiohttp-json-api-0.9.3:

    pip install aiohttp-json-api-0.9.3.tar.gz