Changelog
v2.1.0
Added
get_api()
to login using credentials stored in environment variablesThe environment variables
MAGENTO_USERNAME
,MAGENTO_PASSWORD
,MAGENTO_DOMAIN
will be used if thedomain
,username
orpassword
kwargs are missing
import magento
>>> magento.get_api()
2023-02-08 03:34:20 INFO |[ MyMagento | 127_user ]|: Authenticating user on 127.0.0.1/path/to/magento
2023-02-08 03:34:23 INFO |[ MyMagento | 127_user ]|: Logged in to user
<magento.clients.Client object at 0x000001CA83E1A200>
…
Added
local
kwarg toClient
to support locally hosted Magento stores and test environmentsBy default,
local=False
from magento import Client
>>> api = Client("127.0.0.1/path/to/magento", "username", "password", local=True)
…
Add
since()
anduntil()
method toSearchQuery
classes, which search thecreated_at
fieldThey can be chained together and also with
add_criteria()
Example
# Retrieve orders from the first 7 days of 2023
>>> api.orders.since("2023-01-01").until("2023-01-07").execute()
[<Magento Order: #000000012 placed on 2023-01-02 05:19:55>, ]
Example
# Retrieve orders over $50 placed since 2022
>>> api.orders.add_criteria(
... field="grand_total",
... value="50",
... condition="gteq"
... ).since("2022-01-01").execute()
[<Magento Order: #000000003 placed on 2022-12-21 08:09:33>, ...]
…
Changed
add_criteria()
to auto-increment the filter group by default if no group is specified (ie.AND
condition)
# Retrieving products that are over $10 AND in the category with id 15
#
# Before v2.1.0
>>> api.products.add_criteria('category_id','15').add_criteria('price','10','gteq', group=1)
# v2.1.0+
>>> api.products.add_criteria('category_id','15').add_criteria('price','10','gteq')
…
Changed the
Client.BASE_URL
to not include"www."
at the start (see #8)Added unit tests for
url_for()
Added Jupyter notebook examples