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 melisdk
from the source
$ git clone https://github.com/dany2691/melisdk.git
$ cd melisdk
$ python3 setup.py install
How do I use it?
The first thing to do is to instance a Meli class. You'll need to give a clientId and a clientSecret. You can obtain both after creating your own application. For more information on this please read: creating an application
Including the Lib
Include the lib meli in your project
Attention
Don't forget to set the authentication URL of your country in file lib/config.ini
from melisdk import Meli
Start the development!
Create an instance of Meli class
Simple like this
meli = 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 include json for internal usage.
-
If you already have the access_token and the refresh_token you can pass in the constructor
meli = 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 named code. You'll need this for the second part of the process.
meli.authorize(code="the received code", redirect_URI="http://somecallbackurl")
This will get an access_token and a refresh_token (is case your application has the offline_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 calls
params = {'access_token' : meli.access_token}
response = meli.get(path="/users/me", params=params)
Making POST calls
params = {'access_token' : meli.access_token}
#this body will be converted into json for you
body = {'foo' : 'bar', 'bar' : 'foo'}
response = meli.post(path="/items", body=body, params=params)
Making PUT calls
params = {'access_token' : meli.access_token}
#this body will be converted into json for you
body = {'foo' : 'bar', 'bar' : 'foo'}
response = meli.put(path="/items/123", body=body, params=params)
Making DELETE calls
params = {'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 setup
This project uses pipenv for dependecy resolution. It's a kind of mix between pip and virtualenv. Follow the next instructions to setup the development enviroment.
$ git clone https://github.com/dany2691/melisdk.git
$ cd melisdk
$ pipenv shell
$ pip3 install -e .
To run the test-suite, inside the melisdk directory:
$ python -m unittest -vv tests/test_meli.py
Meta
Daniel Omar Vergara Pérez – @dan1_net – daniel.omar.vergara@gmail.com
Contributing
- Fork 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
Metadata
Release files for melisdk 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| melisdk-0.1.3.tar.gz | 5.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| melisdk-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.5 kB
Release files / melisdk-0.1.3.tar.gz
| Download URL | melisdk-0.1.3.tar.gz |
|---|---|
| Size | 5.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a2adb5a9d846df436482a3029adcfbdfb8fa1381e25fa46d177428cb07935a0c
|
|
BLAKE2b-256 checksum How to use checksums |
e8eece7ee2b9ef44f52cd5583436021a7f97911c75aaac44e21a78343383dba7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3
|
Release files / melisdk-0.1.3-py3-none-any.whl
| Download URL | melisdk-0.1.3-py3-none-any.whl |
|---|---|
| Size | 6.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eaa9cfc6abad3e9d80c766b6f60cb175edc97c8cf8f17257fe4a12f9eba4b0a9
|
|
BLAKE2b-256 checksum How to use checksums |
3216f6ed8c3e976f76afb30a2db02ab68417658ca0f8f839193fe253e0970536
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3
|