- Added get_api() to login using credentials stored in environment variables
- The environment variables
MAGENTO_USERNAME
,MAGENTO_PASSWORD
,MAGENTO_DOMAIN
will be used if thedomain
,username
orpassword
kwargs are missing
- The environment variables
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 environments- By default,
local=False
- By default,
from magento import Client
>>> api = Client("127.0.0.1/path/to/magento", "username", "password", local=True)
...
- Add since() and until() method to SearchQuery classes, which search the
created_at
field- They 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 :attr:`.Client.BASE_URL` to not include
"www."
at the start (see #8) - Added unit tests for url_for()
- Added Jupyter notebook examples