Skip to main content

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.

PyPI version

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.

  1. This SDK is just a thin layer on top of an http client to handle all the OAuth WebServer flow for you.

  2. There is JSON parsing. this SDK will include json for internal usage.

  3. 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

https://github.com/dany2691

Contributing

  1. Fork it (https://gitlab.com/hexagondata_projects/melisdk)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. 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)

Source distribution for melisdk 0.1.3
File Size Uploaded
melisdk-0.1.3.tar.gz 5.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for melisdk 0.1.3
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page