amazon-orders 4.9.2__tar.gz → 4.9.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/CHANGELOG.md +7 -1
- {amazon_orders-4.9.2/amazon_orders.egg-info → amazon_orders-4.9.3}/PKG-INFO +4 -1
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/README.md +3 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3/amazon_orders.egg-info}/PKG-INFO +4 -1
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/__init__.py +1 -1
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/cli.py +2 -1
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/orders.py +4 -2
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/selectors.py +1 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/session.py +3 -5
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/LICENSE +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/MANIFEST.in +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazon_orders.egg-info/SOURCES.txt +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazon_orders.egg-info/dependency_links.txt +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazon_orders.egg-info/entry_points.txt +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazon_orders.egg-info/requires.txt +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazon_orders.egg-info/top_level.txt +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/banner.txt +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/conf.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/constants.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/contrib/__init__.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/contrib/browser/__init__.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/contrib/browser/playwright.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/contrib/waf/__init__.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/contrib/waf/anticaptcha.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/contrib/waf/base.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/contrib/waf/capsolver.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/contrib/waf/twocaptcha.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/entity/__init__.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/entity/gift_card_activity.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/entity/item.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/entity/order.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/entity/parsable.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/entity/recipient.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/entity/seller.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/entity/shipment.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/entity/tracking.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/entity/transaction.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/exception.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/forms.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/gift_cards.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/output.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/paging.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/region_data.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/transactions.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/amazonorders/util.py +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/pyproject.toml +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/setup.cfg +0 -0
- {amazon_orders-4.9.2 → amazon_orders-4.9.3}/tests/testcase.py +0 -0
|
@@ -4,7 +4,13 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
-
## [Unreleased](https://github.com/alexdlaird/amazon-orders/compare/4.9.
|
|
7
|
+
## [Unreleased](https://github.com/alexdlaird/amazon-orders/compare/4.9.3...HEAD)
|
|
8
|
+
|
|
9
|
+
## [4.9.3](https://github.com/alexdlaird/amazon-orders/compare/4.9.2...4.9.3) - 2026-10-18
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Bug and stability fixes.
|
|
8
14
|
|
|
9
15
|
## [4.9.2](https://github.com/alexdlaird/amazon-orders/compare/4.9.1...4.9.2) - 2026-10-15
|
|
10
16
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: amazon-orders
|
|
3
|
-
Version: 4.9.
|
|
3
|
+
Version: 4.9.3
|
|
4
4
|
Summary: A Python library (and CLI) for Amazon order history, line items, and transactions
|
|
5
5
|
Author-email: Alex Laird <contact@alexlaird.com>
|
|
6
6
|
Maintainer-email: Alex Laird <contact@alexlaird.com>
|
|
@@ -232,6 +232,9 @@ as shown above. Any MCP client gets the same as tools through
|
|
|
232
232
|
[`amazon-orders-mcp`](https://github.com/alexdlaird/amazon-orders-mcp#readme), a server built on `amazon-orders` — see
|
|
233
233
|
its README for setup.
|
|
234
234
|
|
|
235
|
+
The server signs you in with a browser, so it needs a display. Without one, use the CLI or library with
|
|
236
|
+
[Automating Authentication](#automating-authentication).
|
|
237
|
+
|
|
235
238
|
## Documentation
|
|
236
239
|
|
|
237
240
|
For more advanced usage, `amazon-orders`'s official documentation is available
|
|
@@ -156,6 +156,9 @@ as shown above. Any MCP client gets the same as tools through
|
|
|
156
156
|
[`amazon-orders-mcp`](https://github.com/alexdlaird/amazon-orders-mcp#readme), a server built on `amazon-orders` — see
|
|
157
157
|
its README for setup.
|
|
158
158
|
|
|
159
|
+
The server signs you in with a browser, so it needs a display. Without one, use the CLI or library with
|
|
160
|
+
[Automating Authentication](#automating-authentication).
|
|
161
|
+
|
|
159
162
|
## Documentation
|
|
160
163
|
|
|
161
164
|
For more advanced usage, `amazon-orders`'s official documentation is available
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: amazon-orders
|
|
3
|
-
Version: 4.9.
|
|
3
|
+
Version: 4.9.3
|
|
4
4
|
Summary: A Python library (and CLI) for Amazon order history, line items, and transactions
|
|
5
5
|
Author-email: Alex Laird <contact@alexlaird.com>
|
|
6
6
|
Maintainer-email: Alex Laird <contact@alexlaird.com>
|
|
@@ -232,6 +232,9 @@ as shown above. Any MCP client gets the same as tools through
|
|
|
232
232
|
[`amazon-orders-mcp`](https://github.com/alexdlaird/amazon-orders-mcp#readme), a server built on `amazon-orders` — see
|
|
233
233
|
its README for setup.
|
|
234
234
|
|
|
235
|
+
The server signs you in with a browser, so it needs a display. Without one, use the CLI or library with
|
|
236
|
+
[Automating Authentication](#automating-authentication).
|
|
237
|
+
|
|
235
238
|
## Documentation
|
|
236
239
|
|
|
237
240
|
For more advanced usage, `amazon-orders`'s official documentation is available
|
|
@@ -302,7 +302,8 @@ def amazon_orders_cli(ctx: Context,
|
|
|
302
302
|
help="Get the full details for each Order in the history. "
|
|
303
303
|
"This will execute an additional request per Order.")
|
|
304
304
|
@click.option("--order-filter", "order_filter", default=None,
|
|
305
|
-
help="The order type filter to use."
|
|
305
|
+
help="The order type filter to use, e.g. digital-orders for Kindle and other digital purchases, "
|
|
306
|
+
"which the default history doesn't include.")
|
|
306
307
|
@click.option("-o", "--output", type=click.Choice(OutputFormatter.OUTPUT_FORMATS), default="text",
|
|
307
308
|
help="The output format. Defaults to text.")
|
|
308
309
|
def history(ctx: Context,
|
|
@@ -275,7 +275,8 @@ class AmazonOrders:
|
|
|
275
275
|
:param time_filter: The time filter to use. Supported values are ``"last30"`` (last 30 days),
|
|
276
276
|
``"months-3"`` (past 3 months), or ``"year-YYYY"`` (specific year). If provided, this takes
|
|
277
277
|
precedence over the ``year`` parameter.
|
|
278
|
-
:param order_filter: The order type filter to use.
|
|
278
|
+
:param order_filter: The order type filter to use, e.g. ``"digital-orders"`` for Kindle and other digital
|
|
279
|
+
purchases, which the default history doesn't include. If provided, appended alongside the time filter.
|
|
279
280
|
:param progress: Called after each page of history is fetched, with the number of Orders found so far
|
|
280
281
|
(before their full details are fetched, if ``full_details`` is ``True``).
|
|
281
282
|
:param progress_with_total: Like ``progress``, but also called with the number of Orders expected in total,
|
|
@@ -318,7 +319,8 @@ class AmazonOrders:
|
|
|
318
319
|
request per Order.
|
|
319
320
|
:param time_filter: The time filter to use, as in :func:`get_order_history`. Ignored if ``cursor`` is
|
|
320
321
|
provided.
|
|
321
|
-
:param order_filter: The order type filter to use
|
|
322
|
+
:param order_filter: The order type filter to use, as in :func:`get_order_history`. Ignored if ``cursor`` is
|
|
323
|
+
provided.
|
|
322
324
|
:param limit: Stop fetching history pages once at least this many Orders are collected. Whole pages are
|
|
323
325
|
fetched, so the batch can hold up to a page more than ``limit``. ``None`` fetches every page.
|
|
324
326
|
:param cursor: The :attr:`~amazonorders.paging.PagedResults.cursor` of the previous batch, to fetch the
|
|
@@ -95,6 +95,7 @@ class Selectors:
|
|
|
95
95
|
AWS_WAF_CHALLENGE_SCRIPT_SELECTOR = 'script[src*="awswaf.com"]'
|
|
96
96
|
|
|
97
97
|
SIGN_IN_FORM_SELECTOR = "form[name='signIn']"
|
|
98
|
+
NAV_GREETING_SELECTOR = "#nav-link-accountList-nav-line-1"
|
|
98
99
|
SIGN_IN_EMAIL_INPUT_SELECTOR = "input[name='email']"
|
|
99
100
|
CLAIM_FORM_SELECTOR = "form[name='signIn'].auth-validate-form"
|
|
100
101
|
INTENT_FORM_SELECTOR = "form#intent-confirmation-form"
|
|
@@ -18,7 +18,7 @@ from amazonorders.conf import AmazonOrdersConfig, cookies_file_lock, debug_outpu
|
|
|
18
18
|
from amazonorders.exception import AmazonOrdersAuthError, AmazonOrdersError, AmazonOrdersAuthRedirectError
|
|
19
19
|
from amazonorders.forms import (AuthForm, AcicAuthBlocker, CaptchaForm, JSAuthBlocker, MfaDeviceSelectForm, MfaForm,
|
|
20
20
|
SignInForm, ClaimForm, IntentForm)
|
|
21
|
-
from amazonorders.util import AmazonSessionResponse, load_class
|
|
21
|
+
from amazonorders.util import AmazonSessionResponse, load_class, select_one
|
|
22
22
|
|
|
23
23
|
logger = logging.getLogger(__name__)
|
|
24
24
|
|
|
@@ -313,11 +313,9 @@ class AmazonSession:
|
|
|
313
313
|
form_found = False
|
|
314
314
|
attempts = 0
|
|
315
315
|
while not self.is_authenticated and attempts < self.config.max_auth_attempts:
|
|
316
|
-
|
|
317
|
-
# but we should find a better way to do this
|
|
316
|
+
greeting = select_one(last_response.parsed, self.config.selectors.NAV_GREETING_SELECTOR)
|
|
318
317
|
if self.auth_cookies_stored() or \
|
|
319
|
-
(self.config.constants.SIGNED_OUT_TEXT not in
|
|
320
|
-
"nav-item-signout" in last_response.response.text):
|
|
318
|
+
(greeting is not None and self.config.constants.SIGNED_OUT_TEXT not in greeting.get_text()):
|
|
321
319
|
self.is_authenticated = True
|
|
322
320
|
break
|
|
323
321
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|