All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
- Stability improvements.
3.2.1 - 2024-11-08
- Issues with parsing Items and Shipments using the new
data-component
, selectors made more precise. - Transactions use
util
selector methods, so consistent use of trying a list of selectors is maintained.
3.2.0 - 2024-11-07
- Support for Transactions.
- Improvements for currency parsing.
- Renamed
AmazonOrderError
toAmazonOrdersError
.
3.1.0 - 2024-11-04
python-dateutil
as a dependency is now used to parse dates, increasing the types of dates supported and eliminating manually splittings strings apart to find the date.parse_date
tosimple_parse
.- Cleanup for parsing payment method.
- Cleanup for parsing currency totals.
- Stability improvements.
- Replaced
simple_parse
'slink
arg with a more genericattr_name
(pass "href" or "src" as the value for the same behavior). Order.payment_method_last_4
parses to anint
, and now usessafe_simple_parse
.
3.0.0 - 2024-11-03
- Retry support to CLI when stale session fails to authenticate the first time.
- Improvements to exception messages on auth failures.
- Documentation improvements.
- Several parsing issues with the implementation of Amazon's new
data-component
tag.
Order.order_shipped_date
, this cannot be consistently parsed from Amazon.Order.refund_completed_date
, this cannot be consistently parsed from Amazon.
2.0.3 - 2024-11-01
- Further support for Amazon's new
data-component
tag on order price, seller, and return eligibility, and fixing an issue withShipment
parsing. Parsable.to_date()
attempts multiple date formats.
- An issue with
Shipment
s parsing with Amazon's newdata-component
.
2.0.2 - 2024-10-30
item_class
to the config file, which allows for overriding theItem
class.- Support for Amazon's new
data-component
tag on order subtotals. - Build and stability improvements.
- The return value of
Order._parse_recipient()
is now optional, so parsing doesn't break digital goods without a shipping address. - Redundant order ID logic to parse from the URI, simplified to consistently fetch from page.
- Support for order details selector on Amazon's legacy digital orders page.
2.0.1 - 2024-10-27
Build and stability improvements.
2.0.0 - 2024-10-26
- Support for Amazon's new
data-component
tags. order_class
to the config file, which allows for overriding theOrder
class.shipment_class
to the config file, which allows for overriding theShipment
class.- Simplified integration tests to more quickly catch regressions.
- Bug fixes and stability improvements.
- Removed global constants in
amazonorders.constants
. Nowamazonorders.constants.Constants
andamazonorders.selectors.Selectors
classes are used, can be overridden withconstants_class
andselectors_class
in the config file.
session.AUTH_FORMS
. Passauth_forms
when instantiatingAmazonSession
instead.
1.1.4 - 2024-06-07
- Improvements to helper functions for simple parsing support (
prefix_split
, parsing improvements, and more). - Bug fixes and stability improvements.
1.1.3 - 2024-06-05
- Config is now managed through a YAML file, with support for CLI overrides.
- Documentation improvements.
- Parsing issues due to change in Amazon.com DOM.
- Other minor bug fixes.
1.1.2 - 2024-05-18
- Build improvements.
- Documentation improvements.
- Test improvements (Amazon no longer provides the
condition
field in many cases).
- Raise
AmazonOrdersNotFoundError
when Order is not found. - Prices with thousands separator now parse properly.
- AmazonOrder.debug defaults to the value of AmazonSession.debug if an override is not passed.
1.1.1 - 2024-04-09
- Build improvements.
- Test improvements.
- Renamed
kwarg
passed toIODefault.prompt()
fromcaptcha_img_url
toimg_url
. - Renamed
kwarg
passed toIODefault.prompt()
frommfa_device_select_choices
tochoices
.
1.0.16 - 2024-03-24
constants.BASE_URL
will look for the environment variableAMAZON_BASE_URL
before defaulting to "https://www.amazon.com".- Build and stability improvements.
1.0.15 - 2024-03-05
- Build and style improvements.
- Documentation improvements.
pytest
to streamline running unit and integration tests.
conf.VERSION
, moved all version information toamazonorders/__init__.py
. Get package version withfrom amazonorders import __version__
instead.
1.0.14 - 2024-02-26
- Build improvements.
- Renamed
make check-style
tomake check
.
1.0.13 - 2024-02-20
login
command to CLI.- If
--username
or--password
are not given and no stored session, CLI will prompt. - Build improvements.
- Issue where
Parsable
objects could not be pickled due to BeautifulSoupTag
objects.
1.0.12 - 2024-02-11
- Relative dependency pinning in
pyproject.toml
. - Style and stability improvements (check
flake8
withmake check-style
).
requirements.txt
files to streamline in topyproject.toml
.
1.0.11 - 2024-02-09
version
command now includes Python version and doesn't printer banner, for easy parsing.
1.0.10 - 2024-02-08
- Migrated to
pyproject.toml
.
1.0.9 - 2024-02-07
- AuthForm's now
passes
captcha_img_url
to itsprompt()
fallback for Captcha, useful for overriding IODefault. - MfaDeviceSelectForm
now passes
mfa_device_select_choices
toprompt()
, useful for overrides IODefault. - Documentation improvements.
1.0.8 - 2024-01-30
- Stability improvements.
1.0.7 - 2024-01-29
- AuthForm abstract class, and migrated all auth flow items to subclasses of this class.
- Parsable.simple_parse(), which can handle most basic fields when parised with CSS selectors.
- Stability improvements.
- Test improvements.
- Moved all constant variables (URLs, CSS selectors, etc.) to
constants.py
. - Migrated entities to use CSS selector constants.
constants.SIGN_IN_URL
is now the landing page for login, the old value has been moved toconstants.SIGN_IN_REDIRECT_URL
.
1.0.6 - 2024-01-25
- Support for when local session data is stale (Amazon prompts us to login again).
- Documentation improvements.
- Regression in the Captcha flow introduced in
1.0.5
.
1.0.5 - 2024-01-25
- Item.image_link.
- Item.quantity.
version
command to CLI.- Test improvements.
- Migrated to using CSS selectors
in
AmazonSession
- Migrated to using CSS selectors
in
AmazonOrders
1.0.4 - 2024-01-24
- A new OTP auth flow from Amazon that can occur after Captcha.
- Parameters
--max-auth-attempts
and--output-dir
to CLI. DEFAULT_OUTPUT_DIR
, which defaults toos.getcwd()
, but allows users to change where output files are written.Troubleshooting
section to the docs.- Test improvements, including the ability to run dynamic tests using private order data from JSON files.
- Improved string representations of entities,
including
Order
, moved string representation of all fields back tocli.py
out of the__str__
method. - Moved
DEFAULT_COOKIE_JAR_PATH
toconf.py
.
1.0.3 - 2024-01-18
- CLI improvements.
- Documentation improvements.
1.0.2 - 2024-01-18
IODefault
for I/O operations, which can be extended to use something other thanprint()
andinput()
.- Documentation improvements.
- Test improvements.
Orders.print_output
variable,cli.py
now handles output.
1.0.1 - 2024-01-17
- Auth flow now also checks session cookies in addition to parsing the page for signs of login.
- All fields to string representation
of
Order
, so they are not output on the CLI. logout
command to CLI.- Documentation improvements.
- Test improvements.
- Improvements to CLI, including error message cleanup on auth exceptions.
Order.order_details_link
is now properly populated even on the details page..gitattributes
to HTML files are now ignore by Linguist.
1.0.0 - 2024-01-16
- First stable release of
amazon-orders
.