Package: melisdk
melisdk (MercadoLibre's Python SDK)This is not the official Python SDK for MercadoLibre's Platform, but works. And you cant install it from PYPI.How do I install it?$ pip3 install melisdkfrom the source$ git clone https://github.com/dany2691/melisdk.git
$ cd melisdk
$ python3 setup.py installHow do I use it?The first thing to do is to instance aMeliclass. You'll need to give aclientIdand aclientSecret. You can obtain both after creating your own application. For more information on this please read:creating an applicationIncluding the LibInclude the lib meli in your projectAttentionDon't forget to set the authentication URL of your country in file lib/config.inifrommelisdkimportMeliStart the development!Create an instance of Meli classSimple like thismeli=Meli(client_id=1234,client_secret="a secret")With this instance you can start working on MercadoLibre's APIs.There are some design considerations worth to mention.This SDK is just a thin layer on top of an http client to handle all the OAuth WebServer flow for you.There is JSON parsing. this SDK will includejsonfor internal usage.If you already have the access_token and the refresh_token you can pass in the constructormeli=Meli(client_id=1234,client_secret="a secret",access_token="Access_Token",refresh_token="Refresh_Token")How do I redirect users to authorize my application?This is a 2 step process.First get the link to redirect the user. This is very easy! Just:redirectUrl=meli.auth_url(redirect_URI="http://somecallbackurl")This will give you the url to redirect the user. You need to specify a callback url which will be the one that the user will redirected after a successfull authrization process.Once the user is redirected to your callback url, you'll receive in the query string, a parameter namedcode. You'll need this for the second part of the process.meli.authorize(code="the received code",redirect_URI="http://somecallbackurl")This will get anaccess_tokenand arefresh_token(is case your application has theoffline_access) for your application and your user.At this stage your are ready to make call to the API on behalf of the user.Making GET callsparams={'access_token':meli.access_token}response=meli.get(path="/users/me",params=params)Making POST callsparams={'access_token':meli.access_token}#this body will be converted into json for youbody={'foo':'bar','bar':'foo'}response=meli.post(path="/items",body=body,params=params)Making PUT callsparams={'access_token':meli.access_token}#this body will be converted into json for youbody={'foo':'bar','bar':'foo'}response=meli.put(path="/items/123",body=body,params=params)Making DELETE callsparams={'access_token':meli.access_token}response=meli.delete(path="/questions/123",params=params)I want to contribute!That is great! Just fork the project in github. Create a topic branch, write some code, and add some tests for your new code.Thanks for helping!Development setupThis project usespipenvfor dependecy resolution. It's a kind of mix between
pip and virtualenv. Follow the next instructions to setup the development enviroment.$gitclonehttps://github.com/dany2691/melisdk.git
$cdmelisdk
$pipenvshell
$pip3install-e.To run the test-suite, inside the melisdk directory:$python-munittest-vvtests/test_meli.pyMetaDaniel Omar Vergara Pérez –@dan1_net–daniel.omar.vergara@gmail.comhttps://github.com/dany2691ContributingFork it (https://gitlab.com/hexagondata_projects/melisdk)Create your feature branch (git checkout -b feature/fooBar)Commit your changes (git commit -am 'Add some fooBar')Push to the branch (git push origin feature/fooBar)Create a new Pull Request