Python client for the Magento 2 API
Project description
PyMagento
PyMagento is a Python client for the Magento 2 API. Its goal is to provide an easy-to-use Pythonic interface to the Magento 2 API, while being lightweight and extendable.
Features:
- Lightweight: entities are returned as plain dictionaries; there is no custom
Order
orProduct
class - Easy to extend: subclass
magento.Magento
and add your own methods - Transparent pagination: functions that make paginated queries return lazy iterables (generators)
- Fully typed: all functions have type hints if necessary
- Production-ready: at Bixoto, we use PyMagento in production since 2020
- Python 3.8+ support
- MIT license
Note: PyMagento is not affiliated to nor endorsed by Adobe or the Magento team.
Install
Pip
python -m pip install pymagento
Poetry
poetry add pymagento
Usage
import magento
client = magento.Magento(base_url="...", token="...", scope="all")
product = client.get_product("SKU123")
print(magento.get_custom_attribute(product, "description"))
# Get orders by status
for order in client.get_orders(status="processing"):
print(order["increment_id"], order["grand_total"])
# Make more complex queries
query = magento.make_search_query([
[("customer_email", "billgates@example.com", "eq")],
[("status", "complete", "eq")],
])
for order in client.get_orders(query=query, limit=10):
print(order["increment_id"], len(order["items"]))
For more information, read the docs.
Note: not all endpoints are implemented with dedicated methods. You can call them with
client.get_json_api("/V1/...")
for GET
endpoints and client.post_json_api("/V1/...", json=...)
.
License
Copyright 2020-2024 Bixoto. See the LICENSE
.
Other projects
- MyMagento: new project started in 2022; MyMagento didn’t exist when we started PyMagento. This is a more high-level API that can be a good fit if you’re not familiar with Magento’s API.
- PyMagento-REST (abandoned)
- bialecki/pymagento: Magento 1.x only (abandoned)
- python-magento: Magento 1.x only (abandoned)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pymagento-1.11.2.tar.gz
(20.8 kB
view hashes)
Built Distribution
pymagento-1.11.2-py3-none-any.whl
(22.2 kB
view hashes)
Close
Hashes for pymagento-1.11.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4c51139ea9c4ed02dd657eebd8a45e15edbb1a03de691a20fe4012747bd8d64 |
|
MD5 | f73dc33ffe12ebe845528d3b6fa6f4ff |
|
BLAKE2b-256 | 686b58a976dc80b9c0e2a24600fd8f44f52872f03d03d65f0a191ec3f26c1bf7 |