All Projects → RESOStandards → RESO-WebAPI-Client-Python

RESOStandards / RESO-WebAPI-Client-Python

Licence: other
RESO Web API Open Source Client written in Python.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to RESO-WebAPI-Client-Python

JWTAuthNETCore3
.NET Core 3.0 (Preview 4) web API authentication demo project with password hashing and JWT Tokens
Stars: ✭ 16 (-58.97%)
Mutual labels:  web-api
EventSource
EventSource in Deno
Stars: ✭ 18 (-53.85%)
Mutual labels:  web-api
RESO-WebAPI-Client-PHP
RESO Web API Open Source Reference Client written in PHP
Stars: ✭ 41 (+5.13%)
Mutual labels:  up-for-adoption
magic-web
Discover all the amazing things your browser can do
Stars: ✭ 39 (+0%)
Mutual labels:  web-api
Minazuki
シンプルな製品アクティベーションシステム「Minazuki」のサーバーサイド実装
Stars: ✭ 16 (-58.97%)
Mutual labels:  web-api
slack-web-api
Simple, convenient, and configurable HTTP client for making requests to Slack’s Web API. Deno port of @slack/web-api
Stars: ✭ 16 (-58.97%)
Mutual labels:  web-api
FastEndpoints
A light-weight REST API development framework for ASP.Net 6 and newer.
Stars: ✭ 2,386 (+6017.95%)
Mutual labels:  web-api
BookCart
An e-commerce application for an online book store.
Stars: ✭ 116 (+197.44%)
Mutual labels:  web-api
peasy-js-samples
Showcases business logic built with peasy-js and consumed by multiple clients
Stars: ✭ 19 (-51.28%)
Mutual labels:  web-api
sc2gears
The COMPLETE (!) source code of the Sc2gears universe (Sc2gears app + Sc2gears Database + web-based parsing engine - bundled in an Eclipse project).
Stars: ✭ 30 (-23.08%)
Mutual labels:  web-api
NClient
💫 NClient is an automatic type-safe .Net HTTP client that allows you to call web service API methods using annotated interfaces or controllers without boilerplate code.
Stars: ✭ 25 (-35.9%)
Mutual labels:  web-api
WebApiStartTemplate
Web API Visual Studio Template.
Stars: ✭ 15 (-61.54%)
Mutual labels:  web-api
Peasy.NET-Samples
Showcases a middle tier built with peasy and consumed by multiple client consumers
Stars: ✭ 33 (-15.38%)
Mutual labels:  web-api
Linker
🔗 A simple URL shortening website that serves as a nice demo application.
Stars: ✭ 21 (-46.15%)
Mutual labels:  web-api
openapiclientgen
Generate C# and TypeScript client codes from Open API / Swagger definitions
Stars: ✭ 31 (-20.51%)
Mutual labels:  web-api
awesome-webhid
Curated list of resources relating to the WebHID (Human Interface Device) API
Stars: ✭ 126 (+223.08%)
Mutual labels:  web-api
CVPZ
No description or website provided.
Stars: ✭ 16 (-58.97%)
Mutual labels:  web-api
Kodkod
https://github.com/alirizaadiyahsi/Nucleus Web API layered architecture startup template with ASP.NET Core 2.1, EF Core 2.1 and Vue Client
Stars: ✭ 45 (+15.38%)
Mutual labels:  web-api
car-rental
CarRental Project
Stars: ✭ 13 (-66.67%)
Mutual labels:  web-api
StoreCleanArchitecture-NET
This is a basic project to demonstrate an introduction about the implementation of Clean Architecture on .NET
Stars: ✭ 19 (-51.28%)
Mutual labels:  web-api

DEPRECATION NOTICE

RESO is no longer maintaining or supporting this codebase.

Developers should be using popular OAuth2 and HTTP libraries specific to their platforms instead.

If you are actively using this library and would like to "adopt" it, please contact [email protected].

This repository will be made private after August 1, 2021.

RESO SDK Python

This is a client library to interface with a RESO certified Web API server. For more information on the Real Estate Standards Organization (RESO) please visit www.reso.org or contact [email protected]. Developers wishing to better understand how to use and contribute to our standards visit RESO Developers FAQ.

Specific questions about this repository should be posted to the 'Issues' section with the Issue Template.

All documentation can be found in -docs folder.

Requirements

Python 3.6 and later.

PIP

Install package via pip:

pip install git+https://github.com/RESOStandards/RESO-WebAPI-Client-Python.git

Dependencies

The following Python extensions are required for all the RESO WebAPI Client Python SDK functions to work properly:

Getting Started

Simple usage looks like:

# Set the variables
reso = RESO(
        client_id='YOUR_CLIENT_ID',
        client_secret='YOUR_CLIENT_SECRET',
        api_auth_url='https://op.api.crmls.org/identity/connect/authorize',
        api_token_url='https://op.api.crmls.org/identity/connect/token',
        api_request_url='https://h.api.crmls.org/RESO/OData/'
    )
# Authorize user
req_obj = OpenIDAuthentication(
        redirect_uri='https://openid.reso.org/',
        scope='ODataApi',
        reso=reso
    )
# Get access token
req_obj.auth_code = req_obj.authorize('USERNAME', 'PASSWORD')
reso.access_token = req_obj.request_access_token()
# Retrieve top 10 properties from the RESO API endpoint
http_request = HttpRequest(reso=reso)
result = http_request.request('Property?$top=10', 'json')

# Display records
print(result);

Example apps

Several usage examples are provided in the examples/ folder:

  • cli-example - provides a sample console application to query RESO API data;

To configure the example app variables / settings - fill config.json file.

Configuring a Logger

The SDK has a built-in logger for debug / testing purposes. Usage:

# Set logging. Logger is enabled by default
reso.disable_logger() # disables logger
reso.enable_logger() # enables logger
reso.set_logging_level('debug') # sets logging level. Possible values: 'debug', 'info', 'warning'

Unit Tests

The SDK code set contains Python unit tests. The tests reside in the tests/ folder and covers core RESO WebAPI Client Python SDK functionality testing.

To run the tests fill the tests/config.json file with the appropriate API variables. Then, execute:

python setup.py test

Contributing

Please read the contributing guidelines if You are interested in contributing to the project.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].