click_and_drop_api 2.0.0__tar.gz → 3.0.2__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.
- {click_and_drop_api-2.0.0/click_and_drop_api.egg-info → click_and_drop_api-3.0.2}/PKG-INFO +2 -3
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/examples/__init__.py +1 -0
- click_and_drop_api-3.0.2/click_and_drop_api/examples/__main__.py +27 -0
- click_and_drop_api-3.0.2/click_and_drop_api/examples/view_order.py +46 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/api.py +32 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/base.py +8 -1
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/db.py +5 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/package_shipping_option.py +9 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2/click_and_drop_api.egg-info}/PKG-INFO +2 -3
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api.egg-info/SOURCES.txt +2 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/pyproject.toml +2 -3
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_mock_api.py +34 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_shipping_options.py +22 -18
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/LICENSE +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/MANIFEST.in +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/README.md +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/__init__.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/api/__init__.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/api/labels_api.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/api/manifests_api.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/api/orders_api.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/api/version_api.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/api_client.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/api_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/configuration.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/examples/check_oba.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/examples/create_order.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/examples/generate_label.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/examples/package_size_and_cost.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/examples/shipping_countries.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/examples/view_specific_orders.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/examples/view_version.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/exceptions.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/__init__.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/address_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/billing_details_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/create_order_error_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/create_order_label_error_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/create_order_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/create_order_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/create_orders_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/create_orders_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/create_packages_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/delete_orders_resource.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/deleted_order_info.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/dimensions_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/error_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/failed_order_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/get_order_details_resource.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/get_order_info_resource.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/get_order_line_result.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/get_orders_details_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/get_orders_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/get_postal_details_result.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/get_shipping_details_result.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/get_tag_details_result.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/get_version_resource.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/importer.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/label_generation_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/manifest_details_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/manifest_eligible_orders_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/manifest_errors_error_details_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/manifest_errors_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/manifest_orders_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/order_error_info.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/order_error_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/order_field_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/order_update_error.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/postage_details_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/product_item_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/recipient_details_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/sender_details_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/shipment_package_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/tag_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/update_order_status_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/update_order_status_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/update_orders_status_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/updated_order_info.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/py.typed +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/rest.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/__init__.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/addresses.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/errors.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/mock.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/__init__.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/documents.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/format_dimensions.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/large_letter.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/large_parcel.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/letter.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/medium_parcel.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/non-oba codes/large_letter-DE.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/non-oba codes/large_letter-GB.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/non-oba codes/large_parcel-DE.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/non-oba codes/large_parcel-GB.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/non-oba codes/letter-DE.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/non-oba codes/letter-GB.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/non-oba codes/medium_parcel-DE.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/non-oba codes/medium_parcel-GB.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/non-oba codes/small_parcel-DE.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/non-oba codes/small_parcel-GB.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/oba-codes/documents-DE.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/oba-codes/large_letter-DE.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/oba-codes/large_letter-GB.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/oba-codes/letter-DE.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/oba-codes/letter-GB.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/oba-codes/parcel-DE.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/oba-codes/parcel-GB.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/oba_parser.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/parcel.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/parser.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/small_parcel.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping_test_result.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/types.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api.egg-info/dependency_links.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api.egg-info/requires.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api.egg-info/top_level.txt +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/setup.cfg +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/setup.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_address_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_billing_details_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_choose_size_by_weight.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_create_order_error_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_create_order_label_error_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_create_order_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_create_order_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_create_orders_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_create_orders_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_create_packages_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_delete_orders_resource.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_deleted_order_info.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_dimensions_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_error_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_failed_order_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_get_order_details_resource.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_get_order_info_resource.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_get_order_line_result.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_get_orders_details_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_get_orders_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_get_postal_details_result.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_get_shipping_details_result.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_get_tag_details_result.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_get_version_resource.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_importer.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_label_generation_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_labels_api.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_manifest_details_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_manifest_eligible_orders_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_manifest_errors_error_details_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_manifest_errors_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_manifest_orders_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_manifests_api.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_oba_parser.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_order_error_info.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_order_error_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_order_field_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_order_update_error.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_orders_api.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_parcel_constraints.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_parcel_weights.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_postage_details_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_product_item_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_recipient_details_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_sender_details_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_shipment_package_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_shipping_option_model.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_simple_create_api.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_tag_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_update_order_status_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_update_order_status_response.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_update_orders_status_request.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_updated_order_info.py +0 -0
- {click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_version_api.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: click_and_drop_api
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.2
|
|
4
4
|
Summary: ChannelShipper & Royal Mail Public API
|
|
5
5
|
Home-page:
|
|
6
6
|
Author: OpenAPI Generator community
|
|
@@ -14,7 +14,6 @@ Classifier: Intended Audience :: Developers
|
|
|
14
14
|
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
|
|
15
15
|
Classifier: Operating System :: OS Independent
|
|
16
16
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.10
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.11
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -23,7 +22,7 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
23
22
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
24
23
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
25
24
|
Classifier: Typing :: Typed
|
|
26
|
-
Requires-Python: >=3.
|
|
25
|
+
Requires-Python: >=3.10
|
|
27
26
|
Description-Content-Type: text/markdown
|
|
28
27
|
License-File: LICENSE
|
|
29
28
|
Requires-Dist: urllib3<3.0.0,>=2.1.0
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/examples/__init__.py
RENAMED
|
@@ -7,6 +7,7 @@ Each module can be executed directly::
|
|
|
7
7
|
python -m click_and_drop_api.examples.shipping_countries
|
|
8
8
|
python -m click_and_drop_api.examples.create_order
|
|
9
9
|
python -m click_and_drop_api.examples.view_specific_orders
|
|
10
|
+
python -m click_and_drop_api.examples.view_order
|
|
10
11
|
python -m click_and_drop_api.examples.package_size_and_cost
|
|
11
12
|
python -m click_and_drop_api.examples.generate_label
|
|
12
13
|
"""
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""List all available examples with their descriptions."""
|
|
2
|
+
|
|
3
|
+
import ast
|
|
4
|
+
import textwrap
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
|
|
7
|
+
_BASE = "click_and_drop_api.examples"
|
|
8
|
+
_DIR = Path(__file__).parent
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def _docstring(name: str) -> str:
|
|
12
|
+
source = (_DIR / f"{name}.py").read_text()
|
|
13
|
+
tree = ast.parse(source)
|
|
14
|
+
return ast.get_docstring(tree) or ""
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
_examples = sorted(p.stem for p in _DIR.glob("*.py") if not p.stem.startswith("_"))
|
|
18
|
+
|
|
19
|
+
for name in _examples:
|
|
20
|
+
doc = _docstring(name).strip()
|
|
21
|
+
first_line, _, rest = doc.partition("\n")
|
|
22
|
+
detail = textwrap.indent(rest.strip(), " ") if rest.strip() else ""
|
|
23
|
+
print(f"python -m {_BASE}.{name}")
|
|
24
|
+
print(f" {first_line}")
|
|
25
|
+
if detail:
|
|
26
|
+
print(detail)
|
|
27
|
+
print()
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
"""Print details of a single order by order number or reference.
|
|
3
|
+
|
|
4
|
+
Usage::
|
|
5
|
+
|
|
6
|
+
python -m click_and_drop_api.examples.view_order <order_id_or_reference>
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
import os
|
|
10
|
+
import sys
|
|
11
|
+
|
|
12
|
+
from click_and_drop_api.simple import ClickAndDrop
|
|
13
|
+
|
|
14
|
+
API_KEY = os.environ["API_KEY"]
|
|
15
|
+
|
|
16
|
+
if len(sys.argv) != 2:
|
|
17
|
+
print(
|
|
18
|
+
"Usage: python -m click_and_drop_api.examples.view_order <order_id_or_reference>"
|
|
19
|
+
)
|
|
20
|
+
sys.exit(1)
|
|
21
|
+
|
|
22
|
+
identifier = sys.argv[1]
|
|
23
|
+
# treat numeric strings as integer order IDs
|
|
24
|
+
if identifier.isdigit():
|
|
25
|
+
identifier = int(identifier)
|
|
26
|
+
|
|
27
|
+
api = ClickAndDrop(API_KEY)
|
|
28
|
+
order = api.get_order(identifier)
|
|
29
|
+
|
|
30
|
+
if order is None:
|
|
31
|
+
print(f"Order not found: {identifier!r}")
|
|
32
|
+
sys.exit(1)
|
|
33
|
+
|
|
34
|
+
print(f"Order identifier : {order.order_identifier}")
|
|
35
|
+
print(f"Order reference : {order.order_reference}")
|
|
36
|
+
print(f"Created on : {order.created_on}")
|
|
37
|
+
print(f"Order date : {order.order_date}")
|
|
38
|
+
print(f"Printed on : {order.printed_on}")
|
|
39
|
+
print(f"Manifested on : {order.manifested_on}")
|
|
40
|
+
print(f"Shipped on : {order.shipped_on}")
|
|
41
|
+
print(f"Tracking number : {order.tracking_number}")
|
|
42
|
+
|
|
43
|
+
if order.packages:
|
|
44
|
+
print(f"Packages ({len(order.packages)}):")
|
|
45
|
+
for pkg in order.packages:
|
|
46
|
+
print(f" #{pkg.package_number} tracking: {pkg.tracking_number}")
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"""The simple API interface."""
|
|
2
2
|
|
|
3
|
+
from dataclasses import dataclass
|
|
3
4
|
from typing import Literal, Optional, Union
|
|
4
5
|
from .base import AbstractClickAndDrop
|
|
5
6
|
from .types import CreateOrder
|
|
@@ -26,6 +27,17 @@ def order_identifiers_to_string(
|
|
|
26
27
|
return ";".join(map(order_identifier_to_string, order_identifiers))
|
|
27
28
|
|
|
28
29
|
|
|
30
|
+
@dataclass
|
|
31
|
+
class AccountCacheEntry:
|
|
32
|
+
"""A cache entry per API key."""
|
|
33
|
+
|
|
34
|
+
api_key: str
|
|
35
|
+
is_oba: Optional[bool] = None
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
ACCOUNT_CACHE: dict[str, AccountCacheEntry] = {}
|
|
39
|
+
|
|
40
|
+
|
|
29
41
|
class ClickAndDrop(AbstractClickAndDrop):
|
|
30
42
|
"""The Click & Drop API simplified."""
|
|
31
43
|
|
|
@@ -64,6 +76,26 @@ class ClickAndDrop(AbstractClickAndDrop):
|
|
|
64
76
|
"""
|
|
65
77
|
return self._version_api.get_version_async()
|
|
66
78
|
|
|
79
|
+
@property
|
|
80
|
+
def _account_cache(self) -> AccountCacheEntry:
|
|
81
|
+
"""Cached account information for speed."""
|
|
82
|
+
result = ACCOUNT_CACHE.get(self._key)
|
|
83
|
+
if result is None:
|
|
84
|
+
result = AccountCacheEntry(self._key)
|
|
85
|
+
ACCOUNT_CACHE[self._key] = result
|
|
86
|
+
return result
|
|
87
|
+
|
|
88
|
+
def is_oba(self) -> bool:
|
|
89
|
+
"""Wether this is an OBA account.
|
|
90
|
+
|
|
91
|
+
Check wether this is an OBA account by trying to create an order service code.
|
|
92
|
+
"""
|
|
93
|
+
if self._account_cache.is_oba is not None:
|
|
94
|
+
return self._account_cache.is_oba
|
|
95
|
+
result = super().is_oba()
|
|
96
|
+
self._account_cache.is_oba = result
|
|
97
|
+
return result
|
|
98
|
+
|
|
67
99
|
@property
|
|
68
100
|
def key(self) -> str:
|
|
69
101
|
"""The API key in use."""
|
|
@@ -12,6 +12,7 @@ from datetime import datetime, timezone
|
|
|
12
12
|
|
|
13
13
|
from click_and_drop_api.exceptions import ApiException
|
|
14
14
|
from click_and_drop_api.models.create_order_response import CreateOrderResponse
|
|
15
|
+
from click_and_drop_api.models.order_field_response import OrderFieldResponse
|
|
15
16
|
from click_and_drop_api.simple import (
|
|
16
17
|
Address,
|
|
17
18
|
CreateOrder,
|
|
@@ -173,7 +174,9 @@ class AbstractClickAndDrop(ABC):
|
|
|
173
174
|
failed_addresses.append(get_order_address(fo.order))
|
|
174
175
|
failed_messages.append(
|
|
175
176
|
";".join(
|
|
176
|
-
f"Error {e.error_code} in
|
|
177
|
+
f"Error {e.error_code} in "
|
|
178
|
+
f"{self.format_fields_for_error_message(e.fields)}: "
|
|
179
|
+
f"{e.error_message}"
|
|
177
180
|
for e in fo.errors
|
|
178
181
|
)
|
|
179
182
|
)
|
|
@@ -183,6 +186,10 @@ class AbstractClickAndDrop(ABC):
|
|
|
183
186
|
successful_addresses, failed_addresses, failed_messages
|
|
184
187
|
)
|
|
185
188
|
|
|
189
|
+
def format_fields_for_error_message(self, fields: list[OrderFieldResponse]) -> str:
|
|
190
|
+
"""Return a comma-separated list of error message fields."""
|
|
191
|
+
return ", ".join(f"{f.field_name}={f.value}" for f in fields)
|
|
192
|
+
|
|
186
193
|
def get_order_test_name(self, country_code: str) -> str:
|
|
187
194
|
"""Return a name for a test order for a specific country."""
|
|
188
195
|
return f"test-{country_code}-{uuid.uuid4().hex[:16]}"
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/db.py
RENAMED
|
@@ -127,6 +127,11 @@ class ShippingDB:
|
|
|
127
127
|
"""
|
|
128
128
|
return self._options[0]
|
|
129
129
|
|
|
130
|
+
@property
|
|
131
|
+
def any_or_none(self) -> Optional[PackageShippingOption]:
|
|
132
|
+
"""Any option in the DB, or ``None`` if the DB is empty."""
|
|
133
|
+
return self._options[0] if self._options else None
|
|
134
|
+
|
|
130
135
|
def __getitem__(self, key: int):
|
|
131
136
|
return self._options[key]
|
|
132
137
|
|
|
@@ -20,6 +20,10 @@ class PackageShippingOption:
|
|
|
20
20
|
Merges all physical package constraints (dimensions, weight) with the
|
|
21
21
|
full Royal Mail service details (code, enhancements, pricing) into one
|
|
22
22
|
object so callers never have to juggle two separate instances.
|
|
23
|
+
|
|
24
|
+
Note:
|
|
25
|
+
OBA shipping options do not have a price.
|
|
26
|
+
https://clickanddrop.uservoice.com/forums/399930-general/suggestions/45005089-show-the-service-price-cost
|
|
23
27
|
"""
|
|
24
28
|
|
|
25
29
|
# ── Package format ──────────────────────────────────────────────────────
|
|
@@ -67,6 +71,11 @@ class PackageShippingOption:
|
|
|
67
71
|
return min(self.package_max_weight_g, self.service_max_weight_g)
|
|
68
72
|
return self.package_max_weight_g
|
|
69
73
|
|
|
74
|
+
@property
|
|
75
|
+
def max_weight_kg(self) -> float:
|
|
76
|
+
"""Effective weight limit in kilograms."""
|
|
77
|
+
return self.max_weight_g / 1000
|
|
78
|
+
|
|
70
79
|
# ── Convenience ─────────────────────────────────────────────────────────
|
|
71
80
|
|
|
72
81
|
@property
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: click_and_drop_api
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.2
|
|
4
4
|
Summary: ChannelShipper & Royal Mail Public API
|
|
5
5
|
Home-page:
|
|
6
6
|
Author: OpenAPI Generator community
|
|
@@ -14,7 +14,6 @@ Classifier: Intended Audience :: Developers
|
|
|
14
14
|
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
|
|
15
15
|
Classifier: Operating System :: OS Independent
|
|
16
16
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.10
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.11
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -23,7 +22,7 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
23
22
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
24
23
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
25
24
|
Classifier: Typing :: Typed
|
|
26
|
-
Requires-Python: >=3.
|
|
25
|
+
Requires-Python: >=3.10
|
|
27
26
|
Description-Content-Type: text/markdown
|
|
28
27
|
License-File: LICENSE
|
|
29
28
|
Requires-Dist: urllib3<3.0.0,>=2.1.0
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api.egg-info/SOURCES.txt
RENAMED
|
@@ -22,11 +22,13 @@ click_and_drop_api/api/manifests_api.py
|
|
|
22
22
|
click_and_drop_api/api/orders_api.py
|
|
23
23
|
click_and_drop_api/api/version_api.py
|
|
24
24
|
click_and_drop_api/examples/__init__.py
|
|
25
|
+
click_and_drop_api/examples/__main__.py
|
|
25
26
|
click_and_drop_api/examples/check_oba.py
|
|
26
27
|
click_and_drop_api/examples/create_order.py
|
|
27
28
|
click_and_drop_api/examples/generate_label.py
|
|
28
29
|
click_and_drop_api/examples/package_size_and_cost.py
|
|
29
30
|
click_and_drop_api/examples/shipping_countries.py
|
|
31
|
+
click_and_drop_api/examples/view_order.py
|
|
30
32
|
click_and_drop_api/examples/view_specific_orders.py
|
|
31
33
|
click_and_drop_api/examples/view_version.py
|
|
32
34
|
click_and_drop_api/models/__init__.py
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "click_and_drop_api"
|
|
3
|
-
version = "
|
|
3
|
+
version = "3.0.2"
|
|
4
4
|
description = "ChannelShipper & Royal Mail Public API"
|
|
5
5
|
authors = [
|
|
6
6
|
{name = "Nicco Kunzmann", email = "niccokunzmann@rambler.ru"},
|
|
@@ -8,7 +8,7 @@ authors = [
|
|
|
8
8
|
]
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
keywords = ["OpenAPI", "OpenAPI-Generator", "ChannelShipper & Royal Mail Public API"]
|
|
11
|
-
requires-python = ">=3.
|
|
11
|
+
requires-python = ">=3.10"
|
|
12
12
|
|
|
13
13
|
classifiers = [
|
|
14
14
|
# https://pypi.org/classifiers/
|
|
@@ -18,7 +18,6 @@ classifiers = [
|
|
|
18
18
|
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
|
|
19
19
|
"Operating System :: OS Independent",
|
|
20
20
|
"Programming Language :: Python :: 3 :: Only",
|
|
21
|
-
"Programming Language :: Python :: 3.9",
|
|
22
21
|
"Programming Language :: Python :: 3.10",
|
|
23
22
|
"Programming Language :: Python :: 3.11",
|
|
24
23
|
"Programming Language :: Python :: 3.12",
|
|
@@ -4,6 +4,7 @@ from datetime import datetime, timezone
|
|
|
4
4
|
|
|
5
5
|
import pytest
|
|
6
6
|
|
|
7
|
+
from click_and_drop_api.models.order_field_response import OrderFieldResponse
|
|
7
8
|
from click_and_drop_api.simple.shipping_test_result import ShippingTestResult
|
|
8
9
|
from click_and_drop_api.simple.mock import MockClickAndDrop
|
|
9
10
|
from click_and_drop_api.simple.types import (
|
|
@@ -277,3 +278,36 @@ def test_test_shipping_multiple_calls_stay_clean():
|
|
|
277
278
|
result = api.test_shipping("smallParcel", service_code)
|
|
278
279
|
assert result.is_success is True
|
|
279
280
|
assert len(api._orders) == 0
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
_api = MockClickAndDrop()
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
def _field(name: str, value: str | None) -> OrderFieldResponse:
|
|
287
|
+
return OrderFieldResponse(fieldName=name, value=value)
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
def test_format_fields_empty():
|
|
291
|
+
assert _api.format_fields_for_error_message([]) == ""
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
def test_format_fields_single():
|
|
295
|
+
assert (
|
|
296
|
+
_api.format_fields_for_error_message([_field("postcode", "INVALID")])
|
|
297
|
+
== "postcode=INVALID"
|
|
298
|
+
)
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
def test_format_fields_multiple():
|
|
302
|
+
fields = [_field("postcode", "INVALID"), _field("countryCode", "XX")]
|
|
303
|
+
assert (
|
|
304
|
+
_api.format_fields_for_error_message(fields)
|
|
305
|
+
== "postcode=INVALID, countryCode=XX"
|
|
306
|
+
)
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
def test_format_fields_none_value():
|
|
310
|
+
assert (
|
|
311
|
+
_api.format_fields_for_error_message([_field("postcode", None)])
|
|
312
|
+
== "postcode=None"
|
|
313
|
+
)
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import pytest
|
|
2
2
|
from click_and_drop_api.simple import check_service_codes, db
|
|
3
|
+
from click_and_drop_api.simple.shipping.db import ShippingDB
|
|
4
|
+
from click_and_drop_api.simple.shipping.package_shipping_option import (
|
|
5
|
+
PackageShippingOption,
|
|
6
|
+
)
|
|
7
|
+
from decimal import Decimal as D
|
|
3
8
|
|
|
4
9
|
|
|
5
10
|
def test_list_all_shipping_options():
|
|
@@ -107,11 +112,6 @@ def test_ship_with_low_weight():
|
|
|
107
112
|
],
|
|
108
113
|
)
|
|
109
114
|
def test_dimensions_order_themselves(dims, fits):
|
|
110
|
-
from click_and_drop_api.simple.shipping.package_shipping_option import (
|
|
111
|
-
PackageShippingOption,
|
|
112
|
-
)
|
|
113
|
-
from decimal import Decimal as D
|
|
114
|
-
|
|
115
115
|
p = PackageShippingOption(
|
|
116
116
|
package_size_code="letter",
|
|
117
117
|
package_name="Letter",
|
|
@@ -130,11 +130,6 @@ def test_dimensions_order_themselves(dims, fits):
|
|
|
130
130
|
|
|
131
131
|
|
|
132
132
|
def test_dimensions():
|
|
133
|
-
from click_and_drop_api.simple.shipping.package_shipping_option import (
|
|
134
|
-
PackageShippingOption,
|
|
135
|
-
)
|
|
136
|
-
from decimal import Decimal as D
|
|
137
|
-
|
|
138
133
|
p = PackageShippingOption(
|
|
139
134
|
package_size_code="letter",
|
|
140
135
|
package_name="Letter",
|
|
@@ -153,11 +148,6 @@ def test_dimensions():
|
|
|
153
148
|
|
|
154
149
|
|
|
155
150
|
def test_negative_values_not_ok():
|
|
156
|
-
from click_and_drop_api.simple.shipping.package_shipping_option import (
|
|
157
|
-
PackageShippingOption,
|
|
158
|
-
)
|
|
159
|
-
from decimal import Decimal as D
|
|
160
|
-
|
|
161
151
|
p = PackageShippingOption(
|
|
162
152
|
package_size_code="letter",
|
|
163
153
|
package_name="Letter",
|
|
@@ -183,8 +173,6 @@ def test_db_len():
|
|
|
183
173
|
|
|
184
174
|
def test_db_bool():
|
|
185
175
|
assert db
|
|
186
|
-
from click_and_drop_api.simple.shipping.db import ShippingDB
|
|
187
|
-
|
|
188
176
|
assert not ShippingDB([])
|
|
189
177
|
|
|
190
178
|
|
|
@@ -197,7 +185,23 @@ def test_db_iter():
|
|
|
197
185
|
def test_db_getitem():
|
|
198
186
|
first = db[0]
|
|
199
187
|
assert hasattr(first, "service_code")
|
|
200
|
-
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
def test_db_any():
|
|
191
|
+
assert db.any is db[0]
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
def test_db_any_raises_on_empty():
|
|
195
|
+
with pytest.raises(IndexError):
|
|
196
|
+
ShippingDB([]).any
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
def test_db_any_or_none_non_empty():
|
|
200
|
+
assert db.any_or_none is db[0]
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
def test_db_any_or_none_empty():
|
|
204
|
+
assert ShippingDB([]).any_or_none is None
|
|
201
205
|
|
|
202
206
|
|
|
203
207
|
def test_db_str():
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/api/manifests_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/examples/check_oba.py
RENAMED
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/examples/create_order.py
RENAMED
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/examples/generate_label.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/examples/view_version.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/address_request.py
RENAMED
|
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
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/error_response.py
RENAMED
|
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
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/order_error_info.py
RENAMED
|
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
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/models/tag_request.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/addresses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/letter.py
RENAMED
|
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
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/parcel.py
RENAMED
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api/simple/shipping/parser.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api.egg-info/requires.txt
RENAMED
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/click_and_drop_api.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_create_order_error_response.py
RENAMED
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_create_order_label_error_response.py
RENAMED
|
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
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_get_order_details_resource.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_get_orders_details_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_get_postal_details_result.py
RENAMED
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_get_shipping_details_result.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_manifest_details_response.py
RENAMED
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_manifest_eligible_orders_request.py
RENAMED
|
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
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_recipient_details_request.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_update_order_status_request.py
RENAMED
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_update_order_status_response.py
RENAMED
|
File without changes
|
{click_and_drop_api-2.0.0 → click_and_drop_api-3.0.2}/test/test_update_orders_status_request.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|