karrio-usps 2025.5rc1__py3-none-any.whl

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.
Files changed (37) hide show
  1. karrio/mappers/usps/__init__.py +3 -0
  2. karrio/mappers/usps/mapper.py +94 -0
  3. karrio/mappers/usps/proxy.py +155 -0
  4. karrio/mappers/usps/settings.py +26 -0
  5. karrio/plugins/usps/__init__.py +24 -0
  6. karrio/providers/usps/__init__.py +26 -0
  7. karrio/providers/usps/error.py +56 -0
  8. karrio/providers/usps/manifest.py +100 -0
  9. karrio/providers/usps/pickup/__init__.py +4 -0
  10. karrio/providers/usps/pickup/cancel.py +40 -0
  11. karrio/providers/usps/pickup/create.py +102 -0
  12. karrio/providers/usps/pickup/update.py +109 -0
  13. karrio/providers/usps/rate.py +204 -0
  14. karrio/providers/usps/shipment/__init__.py +9 -0
  15. karrio/providers/usps/shipment/cancel.py +53 -0
  16. karrio/providers/usps/shipment/create.py +279 -0
  17. karrio/providers/usps/tracking.py +112 -0
  18. karrio/providers/usps/units.py +303 -0
  19. karrio/providers/usps/utils.py +320 -0
  20. karrio/schemas/usps/__init__.py +0 -0
  21. karrio/schemas/usps/error_response.py +31 -0
  22. karrio/schemas/usps/label_request.py +142 -0
  23. karrio/schemas/usps/label_response.py +84 -0
  24. karrio/schemas/usps/pickup_request.py +49 -0
  25. karrio/schemas/usps/pickup_response.py +58 -0
  26. karrio/schemas/usps/pickup_update_request.py +55 -0
  27. karrio/schemas/usps/pickup_update_response.py +58 -0
  28. karrio/schemas/usps/rate_request.py +38 -0
  29. karrio/schemas/usps/rate_response.py +89 -0
  30. karrio/schemas/usps/scan_form_request.py +36 -0
  31. karrio/schemas/usps/scan_form_response.py +46 -0
  32. karrio/schemas/usps/tracking_response.py +113 -0
  33. karrio_usps-2025.5rc1.dist-info/METADATA +45 -0
  34. karrio_usps-2025.5rc1.dist-info/RECORD +37 -0
  35. karrio_usps-2025.5rc1.dist-info/WHEEL +5 -0
  36. karrio_usps-2025.5rc1.dist-info/entry_points.txt +2 -0
  37. karrio_usps-2025.5rc1.dist-info/top_level.txt +3 -0
@@ -0,0 +1,55 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class PackageType:
8
+ packageType: typing.Optional[str] = None
9
+ packageCount: typing.Optional[int] = None
10
+
11
+
12
+ @attr.s(auto_attribs=True)
13
+ class AddressType:
14
+ streetAddress: typing.Optional[str] = None
15
+ secondaryAddress: typing.Optional[str] = None
16
+ city: typing.Optional[str] = None
17
+ state: typing.Optional[str] = None
18
+ ZIPCode: typing.Optional[str] = None
19
+ ZIPPlus4: typing.Optional[str] = None
20
+ urbanization: typing.Optional[str] = None
21
+
22
+
23
+ @attr.s(auto_attribs=True)
24
+ class ContactType:
25
+ email: typing.Optional[str] = None
26
+
27
+
28
+ @attr.s(auto_attribs=True)
29
+ class PickupAddressType:
30
+ firstName: typing.Optional[str] = None
31
+ lastName: typing.Optional[str] = None
32
+ firm: typing.Optional[str] = None
33
+ address: typing.Optional[AddressType] = jstruct.JStruct[AddressType]
34
+ contact: typing.Optional[typing.List[ContactType]] = jstruct.JList[ContactType]
35
+
36
+
37
+ @attr.s(auto_attribs=True)
38
+ class PickupLocationType:
39
+ packageLocation: typing.Optional[str] = None
40
+ specialInstructions: typing.Optional[str] = None
41
+
42
+
43
+ @attr.s(auto_attribs=True)
44
+ class CarrierPickupRequestType:
45
+ pickupDate: typing.Optional[str] = None
46
+ pickupAddress: typing.Optional[PickupAddressType] = jstruct.JStruct[PickupAddressType]
47
+ packages: typing.Optional[typing.List[PackageType]] = jstruct.JList[PackageType]
48
+ estimatedWeight: typing.Optional[int] = None
49
+ pickupLocation: typing.Optional[PickupLocationType] = jstruct.JStruct[PickupLocationType]
50
+
51
+
52
+ @attr.s(auto_attribs=True)
53
+ class PickupUpdateRequestType:
54
+ pickupDate: typing.Optional[str] = None
55
+ carrierPickupRequest: typing.Optional[CarrierPickupRequestType] = jstruct.JStruct[CarrierPickupRequestType]
@@ -0,0 +1,58 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class PackageType:
8
+ packageType: typing.Optional[str] = None
9
+ packageCount: typing.Optional[int] = None
10
+
11
+
12
+ @attr.s(auto_attribs=True)
13
+ class AddressType:
14
+ streetAddress: typing.Optional[str] = None
15
+ streetAddressAbbreviation: typing.Optional[str] = None
16
+ secondaryAddress: typing.Optional[str] = None
17
+ cityAbbreviation: typing.Optional[str] = None
18
+ city: typing.Optional[str] = None
19
+ state: typing.Optional[str] = None
20
+ ZIPCode: typing.Optional[str] = None
21
+ ZIPPlus4: typing.Optional[str] = None
22
+ urbanization: typing.Optional[str] = None
23
+
24
+
25
+ @attr.s(auto_attribs=True)
26
+ class ContactType:
27
+ email: typing.Optional[str] = None
28
+
29
+
30
+ @attr.s(auto_attribs=True)
31
+ class PickupAddressType:
32
+ firstName: typing.Optional[str] = None
33
+ lastName: typing.Optional[str] = None
34
+ firm: typing.Optional[str] = None
35
+ address: typing.Optional[AddressType] = jstruct.JStruct[AddressType]
36
+ contact: typing.Optional[typing.List[ContactType]] = jstruct.JList[ContactType]
37
+
38
+
39
+ @attr.s(auto_attribs=True)
40
+ class PickupLocationType:
41
+ packageLocation: typing.Optional[str] = None
42
+ specialInstructions: typing.Optional[str] = None
43
+
44
+
45
+ @attr.s(auto_attribs=True)
46
+ class CarrierPickupRequestType:
47
+ pickupDate: typing.Optional[str] = None
48
+ pickupAddress: typing.Optional[PickupAddressType] = jstruct.JStruct[PickupAddressType]
49
+ packages: typing.Optional[typing.List[PackageType]] = jstruct.JList[PackageType]
50
+ estimatedWeight: typing.Optional[int] = None
51
+ pickupLocation: typing.Optional[PickupLocationType] = jstruct.JStruct[PickupLocationType]
52
+
53
+
54
+ @attr.s(auto_attribs=True)
55
+ class PickupUpdateResponseType:
56
+ confirmationNumber: typing.Optional[str] = None
57
+ pickupDate: typing.Optional[str] = None
58
+ carrierPickupRequest: typing.Optional[CarrierPickupRequestType] = jstruct.JStruct[CarrierPickupRequestType]
@@ -0,0 +1,38 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class PackageDescriptionType:
8
+ weight: typing.Optional[float] = None
9
+ length: typing.Optional[int] = None
10
+ height: typing.Optional[int] = None
11
+ width: typing.Optional[int] = None
12
+ girth: typing.Optional[float] = None
13
+ mailClass: typing.Optional[str] = None
14
+ extraServices: typing.Optional[typing.List[int]] = None
15
+ packageValue: typing.Optional[float] = None
16
+ mailingDate: typing.Optional[str] = None
17
+
18
+
19
+ @attr.s(auto_attribs=True)
20
+ class PaymentAccountType:
21
+ accountType: typing.Optional[str] = None
22
+ accountNumber: typing.Optional[int] = None
23
+
24
+
25
+ @attr.s(auto_attribs=True)
26
+ class PricingOptionType:
27
+ priceType: typing.Optional[str] = None
28
+ paymentAccount: typing.Optional[PaymentAccountType] = jstruct.JStruct[PaymentAccountType]
29
+
30
+
31
+ @attr.s(auto_attribs=True)
32
+ class RateRequestType:
33
+ pricingOptions: typing.Optional[typing.List[PricingOptionType]] = jstruct.JList[PricingOptionType]
34
+ originZIPCode: typing.Optional[int] = None
35
+ destinationZIPCode: typing.Optional[int] = None
36
+ destinationEntryFacilityType: typing.Optional[str] = None
37
+ packageDescription: typing.Optional[PackageDescriptionType] = jstruct.JStruct[PackageDescriptionType]
38
+ shippingFilter: typing.Optional[str] = None
@@ -0,0 +1,89 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class PaymentAccountType:
8
+ accountType: typing.Optional[str] = None
9
+ accountNumber: typing.Optional[str] = None
10
+
11
+
12
+ @attr.s(auto_attribs=True)
13
+ class CommitmentType:
14
+ name: typing.Optional[str] = None
15
+ scheduleDeliveryDate: typing.Optional[str] = None
16
+ guaranteedDelivery: typing.Optional[bool] = None
17
+
18
+
19
+ @attr.s(auto_attribs=True)
20
+ class WarningType:
21
+ warningCode: typing.Optional[str] = None
22
+ warningDescription: typing.Optional[str] = None
23
+
24
+
25
+ @attr.s(auto_attribs=True)
26
+ class ExtraServiceType:
27
+ name: typing.Optional[str] = None
28
+ price: typing.Optional[float] = None
29
+ extraService: typing.Optional[int] = None
30
+ priceType: typing.Optional[str] = None
31
+ warnings: typing.Optional[typing.List[WarningType]] = jstruct.JList[WarningType]
32
+ SKU: typing.Optional[str] = None
33
+
34
+
35
+ @attr.s(auto_attribs=True)
36
+ class FeeType:
37
+ name: typing.Optional[str] = None
38
+ price: typing.Optional[int] = None
39
+ SKU: typing.Optional[str] = None
40
+
41
+
42
+ @attr.s(auto_attribs=True)
43
+ class RateType:
44
+ description: typing.Optional[str] = None
45
+ startDate: typing.Optional[str] = None
46
+ endDate: typing.Optional[str] = None
47
+ price: typing.Optional[float] = None
48
+ zone: typing.Optional[str] = None
49
+ weight: typing.Optional[int] = None
50
+ dimensionalWeight: typing.Optional[int] = None
51
+ dimWeight: typing.Optional[int] = None
52
+ fees: typing.Optional[typing.List[FeeType]] = jstruct.JList[FeeType]
53
+ priceType: typing.Optional[str] = None
54
+ mailClass: typing.Optional[str] = None
55
+ productName: typing.Optional[str] = None
56
+ productDefinition: typing.Optional[str] = None
57
+ processingCategory: typing.Optional[str] = None
58
+ rateIndicator: typing.Optional[str] = None
59
+ destinationEntryFacilityType: typing.Optional[str] = None
60
+ SKU: typing.Optional[str] = None
61
+
62
+
63
+ @attr.s(auto_attribs=True)
64
+ class RateOptionType:
65
+ commitment: typing.Optional[CommitmentType] = jstruct.JStruct[CommitmentType]
66
+ totalPrice: typing.Optional[float] = None
67
+ totalBasePrice: typing.Optional[float] = None
68
+ rates: typing.Optional[typing.List[RateType]] = jstruct.JList[RateType]
69
+ extraServices: typing.Optional[typing.List[ExtraServiceType]] = jstruct.JList[ExtraServiceType]
70
+
71
+
72
+ @attr.s(auto_attribs=True)
73
+ class ShippingOptionType:
74
+ mailClass: typing.Optional[str] = None
75
+ rateOptions: typing.Optional[typing.List[RateOptionType]] = jstruct.JList[RateOptionType]
76
+
77
+
78
+ @attr.s(auto_attribs=True)
79
+ class PricingOptionType:
80
+ shippingOptions: typing.Optional[typing.List[ShippingOptionType]] = jstruct.JList[ShippingOptionType]
81
+ priceType: typing.Optional[str] = None
82
+ paymentAccount: typing.Optional[PaymentAccountType] = jstruct.JStruct[PaymentAccountType]
83
+
84
+
85
+ @attr.s(auto_attribs=True)
86
+ class RateResponseType:
87
+ originZIPCode: typing.Optional[int] = None
88
+ destinationZIPCode: typing.Optional[int] = None
89
+ pricingOptions: typing.Optional[typing.List[PricingOptionType]] = jstruct.JList[PricingOptionType]
@@ -0,0 +1,36 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class FromAddressType:
8
+ ignoreBadAddress: typing.Optional[bool] = None
9
+ streetAddress: typing.Optional[str] = None
10
+ secondaryAddress: typing.Optional[str] = None
11
+ city: typing.Optional[str] = None
12
+ state: typing.Optional[str] = None
13
+ ZIPCode: typing.Optional[str] = None
14
+ ZIPPlus4: typing.Optional[str] = None
15
+ urbanization: typing.Optional[str] = None
16
+ firstName: typing.Optional[str] = None
17
+ lastName: typing.Optional[str] = None
18
+ firm: typing.Optional[str] = None
19
+
20
+
21
+ @attr.s(auto_attribs=True)
22
+ class ShipmentType:
23
+ trackingNumbers: typing.Optional[typing.List[str]] = None
24
+
25
+
26
+ @attr.s(auto_attribs=True)
27
+ class ScanFormRequestType:
28
+ form: typing.Optional[int] = None
29
+ imageType: typing.Optional[str] = None
30
+ labelType: typing.Optional[str] = None
31
+ mailingDate: typing.Optional[str] = None
32
+ overwriteMailingDate: typing.Optional[bool] = None
33
+ entryFacilityZIPCode: typing.Optional[int] = None
34
+ destinationEntryFacilityType: typing.Optional[str] = None
35
+ shipment: typing.Optional[ShipmentType] = jstruct.JStruct[ShipmentType]
36
+ fromAddress: typing.Optional[FromAddressType] = jstruct.JStruct[FromAddressType]
@@ -0,0 +1,46 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class FromAddressType:
8
+ ignoreBadAddress: typing.Optional[bool] = None
9
+ streetAddress: typing.Optional[str] = None
10
+ streetAddressAbbreviation: typing.Optional[str] = None
11
+ secondaryAddress: typing.Optional[str] = None
12
+ cityAbbreviation: typing.Optional[str] = None
13
+ city: typing.Optional[str] = None
14
+ state: typing.Optional[str] = None
15
+ ZIPCode: typing.Optional[str] = None
16
+ ZIPPlus4: typing.Optional[str] = None
17
+ urbanization: typing.Optional[str] = None
18
+ firstName: typing.Optional[str] = None
19
+ lastName: typing.Optional[str] = None
20
+ firm: typing.Optional[str] = None
21
+
22
+
23
+ @attr.s(auto_attribs=True)
24
+ class ShipmentType:
25
+ pass
26
+
27
+
28
+ @attr.s(auto_attribs=True)
29
+ class SCANFormMetadataType:
30
+ form: typing.Optional[int] = None
31
+ imageType: typing.Optional[str] = None
32
+ labelType: typing.Optional[str] = None
33
+ mailingDate: typing.Optional[str] = None
34
+ overwriteMailingDate: typing.Optional[bool] = None
35
+ entryFacilityZIPCode: typing.Optional[int] = None
36
+ destinationEntryFacilityType: typing.Optional[str] = None
37
+ shipment: typing.Optional[ShipmentType] = jstruct.JStruct[ShipmentType]
38
+ manifestNumber: typing.Optional[str] = None
39
+ trackingNumbers: typing.Optional[typing.List[str]] = None
40
+ fromAddress: typing.Optional[FromAddressType] = jstruct.JStruct[FromAddressType]
41
+
42
+
43
+ @attr.s(auto_attribs=True)
44
+ class ScanFormResponseType:
45
+ SCANFormMetadata: typing.Optional[SCANFormMetadataType] = jstruct.JStruct[SCANFormMetadataType]
46
+ SCANFormImage: typing.Optional[str] = None
@@ -0,0 +1,113 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class EMailType:
8
+ futureDelivery: typing.Optional[bool] = None
9
+ alertDelivery: typing.Optional[bool] = None
10
+ todayDelivery: typing.Optional[bool] = None
11
+ UP: typing.Optional[bool] = None
12
+ DND: typing.Optional[bool] = None
13
+ firstDisplayable: typing.Optional[bool] = None
14
+ otherActivity: typing.Optional[bool] = None
15
+
16
+
17
+ @attr.s(auto_attribs=True)
18
+ class SMSType:
19
+ futureDelivery: typing.Optional[bool] = None
20
+ alertDelivery: typing.Optional[bool] = None
21
+ todayDelivery: typing.Optional[bool] = None
22
+ UP: typing.Optional[bool] = None
23
+ DND: typing.Optional[bool] = None
24
+
25
+
26
+ @attr.s(auto_attribs=True)
27
+ class EnabledNotificationRequestsType:
28
+ SMS: typing.Optional[SMSType] = jstruct.JStruct[SMSType]
29
+ EMail: typing.Optional[EMailType] = jstruct.JStruct[EMailType]
30
+
31
+
32
+ @attr.s(auto_attribs=True)
33
+ class ExtendRetentionExtraServiceCodeOptionType:
34
+ pass
35
+
36
+
37
+ @attr.s(auto_attribs=True)
38
+ class TrackingEventType:
39
+ eventType: typing.Optional[str] = None
40
+ eventTimestamp: typing.Optional[str] = None
41
+ GMTTimestamp: typing.Optional[str] = None
42
+ GMTOffset: typing.Optional[str] = None
43
+ eventCountry: typing.Optional[str] = None
44
+ eventCity: typing.Optional[str] = None
45
+ eventState: typing.Optional[str] = None
46
+ eventZIP: typing.Optional[str] = None
47
+ firm: typing.Optional[str] = None
48
+ name: typing.Optional[str] = None
49
+ authorizedAgent: typing.Optional[bool] = None
50
+ eventCode: typing.Optional[str] = None
51
+ additionalProp: typing.Any = None
52
+ actionCode: typing.Optional[str] = None
53
+ reasonCode: typing.Optional[str] = None
54
+
55
+
56
+ @attr.s(auto_attribs=True)
57
+ class TrackingResponseType:
58
+ destinationCity: typing.Optional[str] = None
59
+ destinationState: typing.Optional[str] = None
60
+ destinationZIP: typing.Optional[str] = None
61
+ emailEnabled: typing.Optional[bool] = None
62
+ kahalaIndicator: typing.Optional[bool] = None
63
+ mailClass: typing.Optional[str] = None
64
+ mailType: typing.Optional[str] = None
65
+ originCity: typing.Optional[str] = None
66
+ originState: typing.Optional[str] = None
67
+ originZIP: typing.Optional[str] = None
68
+ proofOfDeliveryEnabled: typing.Optional[bool] = None
69
+ restoreEnabled: typing.Optional[bool] = None
70
+ RRAMEnabled: typing.Optional[bool] = None
71
+ RREEnabled: typing.Optional[bool] = None
72
+ services: typing.Optional[typing.List[str]] = None
73
+ serviceTypeCode: typing.Optional[str] = None
74
+ status: typing.Optional[str] = None
75
+ statusCategory: typing.Optional[str] = None
76
+ statusSummary: typing.Optional[str] = None
77
+ tableCode: typing.Optional[str] = None
78
+ uniqueMailPieceID: typing.Optional[int] = None
79
+ mailPieceIntakeDate: typing.Optional[str] = None
80
+ trackingEvents: typing.Optional[typing.List[TrackingEventType]] = jstruct.JList[TrackingEventType]
81
+ trackingNumber: typing.Optional[str] = None
82
+ additionalInfo: typing.Optional[str] = None
83
+ ADPScripting: typing.Optional[str] = None
84
+ archiveRestoreInfo: typing.Optional[str] = None
85
+ associatedLabel: typing.Optional[str] = None
86
+ carrierRelease: typing.Optional[bool] = None
87
+ destinationCountryCode: typing.Optional[str] = None
88
+ editedLabelId: typing.Optional[str] = None
89
+ endOfDay: typing.Optional[str] = None
90
+ eSOFEligible: typing.Optional[bool] = None
91
+ expectedDeliveryTimeStamp: typing.Optional[str] = None
92
+ expectedDeliveryType: typing.Optional[str] = None
93
+ guaranteedDeliveryTimeStamp: typing.Optional[str] = None
94
+ guaranteedDetails: typing.Optional[str] = None
95
+ itemShape: typing.Optional[str] = None
96
+ approximateIntakeDate: typing.Optional[str] = None
97
+ uniqueTrackingId: typing.Optional[str] = None
98
+ uniqueMailPieceId: typing.Optional[str] = None
99
+ onTime: typing.Optional[bool] = None
100
+ originCountry: typing.Optional[str] = None
101
+ predictedDeliveryTimeStamp: typing.Optional[str] = None
102
+ predictedDeliveryDate: typing.Optional[str] = None
103
+ predictedDeliveryWindowStartTime: typing.Optional[str] = None
104
+ predictedDeliveryWindowEndTime: typing.Optional[str] = None
105
+ relatedReturnReceiptID: typing.Optional[str] = None
106
+ redeliveryEnabled: typing.Optional[bool] = None
107
+ enabledNotificationRequests: typing.Optional[EnabledNotificationRequestsType] = jstruct.JStruct[EnabledNotificationRequestsType]
108
+ returnDateNotice: typing.Optional[str] = None
109
+ RRAMenabled: typing.Optional[bool] = None
110
+ trackingProofOfDeliveryEnabled: typing.Optional[bool] = None
111
+ valueofArticle: typing.Optional[str] = None
112
+ extendRetentionPurchasedCode: typing.Optional[str] = None
113
+ extendRetentionExtraServiceCodeOptions: typing.Optional[typing.List[ExtendRetentionExtraServiceCodeOptionType]] = jstruct.JList[ExtendRetentionExtraServiceCodeOptionType]
@@ -0,0 +1,45 @@
1
+ Metadata-Version: 2.4
2
+ Name: karrio_usps
3
+ Version: 2025.5rc1
4
+ Summary: Karrio - USPS Shipping Extension
5
+ Author-email: karrio <hello@karrio.io>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://github.com/karrioapi/karrio
8
+ Classifier: Intended Audience :: Developers
9
+ Classifier: Operating System :: OS Independent
10
+ Classifier: Programming Language :: Python :: 3
11
+ Requires-Python: >=3.11
12
+ Description-Content-Type: text/markdown
13
+ Requires-Dist: karrio
14
+
15
+
16
+ # karrio.usps
17
+
18
+ This package is a USPS extension of the [karrio](https://pypi.org/project/karrio) multi carrier shipping SDK.
19
+
20
+ ## Requirements
21
+
22
+ `Python 3.11+`
23
+
24
+ ## Installation
25
+
26
+ ```bash
27
+ pip install karrio.usps
28
+ ```
29
+
30
+ ## Usage
31
+
32
+ ```python
33
+ import karrio.sdk as karrio
34
+ from karrio.mappers.usps.settings import Settings
35
+
36
+
37
+ # Initialize a carrier gateway
38
+ usps = karrio.gateway["usps"].create(
39
+ Settings(
40
+ ...
41
+ )
42
+ )
43
+ ```
44
+
45
+ Check the [Karrio Mutli-carrier SDK docs](https://docs.karrio.io) for Shipping API requests
@@ -0,0 +1,37 @@
1
+ karrio/mappers/usps/__init__.py,sha256=aQwArktdGrGkpwr1iIfu2Rh9GaDsUAVLkYieQoqW42o,139
2
+ karrio/mappers/usps/mapper.py,sha256=oMtKE3IoUh52OAIB1lKck3fj_3QCFaJ-bjyxevzM-XU,3691
3
+ karrio/mappers/usps/proxy.py,sha256=984mRjoJdWjs7MXsQ2uNZ4LhnVWNVVUp2O5H4g_AUAc,5825
4
+ karrio/mappers/usps/settings.py,sha256=VhB7GhMeFVvHe5kNm3iNscTV-LtzsFfUTHOX95R6Nus,663
5
+ karrio/plugins/usps/__init__.py,sha256=5g3c7K9Wr5HQzkh6PxfxBdoZTSTEmzj8KHu1Xcw5UOU,847
6
+ karrio/providers/usps/__init__.py,sha256=IiKMPA5kZY-TKqVMHfZSxHxCS1BtegSi1F2PLIIdc8A,732
7
+ karrio/providers/usps/error.py,sha256=OUkv5Kl11DM3bof-n-or8hd8iyIMqXQ8fDKUUsNudb0,1680
8
+ karrio/providers/usps/manifest.py,sha256=11Xt1vXr7_xQK2vxUmW-5F-8HV8uY_CWAJl5bmOUiGM,3570
9
+ karrio/providers/usps/rate.py,sha256=cEiCy3sgIOiGq8C2OuuNnBg--ratHSVNgCtCWLXpSiY,7577
10
+ karrio/providers/usps/tracking.py,sha256=1nD-BsPDSqLE5qLAeuMgrZt0aT-gnSTGG7ddcTtgJEk,3834
11
+ karrio/providers/usps/units.py,sha256=mlRFSaDaPU5ySbHMenv2AF7jzJnNQexRK-Ejj1-eqvo,12761
12
+ karrio/providers/usps/utils.py,sha256=Rc2xyqpBdGtBTcnMmd0DUFepxAK-aFoVVAMnOJBCwgo,10403
13
+ karrio/providers/usps/pickup/__init__.py,sha256=e90NAi_2-Hw_qTAAi1BRePIVK_qADFi32WuCgd1VAd0,287
14
+ karrio/providers/usps/pickup/cancel.py,sha256=vIvBDtcvxIbhwtEJkkb62lHR9aWufT5AagpxTg-cxVE,1211
15
+ karrio/providers/usps/pickup/create.py,sha256=dCwi1g_d7zhQsdgDPO81bgqy13RnKqOrFPiX2Yn7uzk,3240
16
+ karrio/providers/usps/pickup/update.py,sha256=hz1_SkPpNFwFltSMbXTjFPc6GIhmNw8bvBkJ23ddjN0,3631
17
+ karrio/providers/usps/shipment/__init__.py,sha256=sSutGrRHGopPaMKmuI9Dk12aDKm2Wy7LNocG8RQq48k,225
18
+ karrio/providers/usps/shipment/cancel.py,sha256=qWhUteWivDuA7Wdv24MrgJjfz-f5VVGGrMF-tKgtu9s,1571
19
+ karrio/providers/usps/shipment/create.py,sha256=ymgIX84sporHbJRFtBpG7Jo1aVlzl4mcGjuo-wl6ZRY,11414
20
+ karrio/schemas/usps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
+ karrio/schemas/usps/error_response.py,sha256=V8gA2DR8b2vdXYwMeg5gujkzEwYjhB6Uyvvbg4HbSvY,874
22
+ karrio/schemas/usps/label_request.py,sha256=_MsFMh0MGu24hPldHI1ZUn8pIctrgsvPL1m1GQC__Tg,5727
23
+ karrio/schemas/usps/label_response.py,sha256=OOrxnkPBFf3sybuaVvQN7A1MWPdthMu6JSm9EUrdXk0,3122
24
+ karrio/schemas/usps/pickup_request.py,sha256=o12y6yncPXIaJ2eysJJk0T7danKjtjJlZRpiAMxkCUc,1526
25
+ karrio/schemas/usps/pickup_response.py,sha256=xKsBE9NREyOIYhSflsxJ9CAfMpQA8lmlBBDPoTaYrHI,1905
26
+ karrio/schemas/usps/pickup_update_request.py,sha256=5JMX0-9aW7lNn_2UV-69Se5yvrkdm3BAitRyxpdqOQQ,1749
27
+ karrio/schemas/usps/pickup_update_response.py,sha256=qMTLS_iRZcCAx54BucxW3RoU9yXi1IznuSdwL-Y5nX0,1911
28
+ karrio/schemas/usps/rate_request.py,sha256=mObuje6yZa3Bu-LnGBZDAuGX3IBz1qwB8EW-YlyvqPI,1306
29
+ karrio/schemas/usps/rate_response.py,sha256=OZjBBnzjU4LkEv-XGAmPu6G_T3bNm-SrVkXfGSaItaU,3019
30
+ karrio/schemas/usps/scan_form_request.py,sha256=5csoYwIb6vXlhdfjcP2XFOPfRmVRlZQbcd_-zqRm4Ic,1238
31
+ karrio/schemas/usps/scan_form_response.py,sha256=qImZOaHz3wOQXflDGxkrZ4l7C6HdUaHAGZP2FaMtPlU,1609
32
+ karrio/schemas/usps/tracking_response.py,sha256=WNkL9Q97JW1IbdWgSq_98kPpm32k_ikx3870VNdU-Ws,4789
33
+ karrio_usps-2025.5rc1.dist-info/METADATA,sha256=RIlNqAZaSQpuTYBywuWFIJzXsqaYxMhazFzy4idUiwU,970
34
+ karrio_usps-2025.5rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
35
+ karrio_usps-2025.5rc1.dist-info/entry_points.txt,sha256=E3WhkBLMzhABJCDuu8pXdDmbHx5qTHh8C_UEcfNjDsY,53
36
+ karrio_usps-2025.5rc1.dist-info/top_level.txt,sha256=FZCY8Nwft8oEGHdl--xku8P3TrnOxu5dETEU_fWpRSM,20
37
+ karrio_usps-2025.5rc1.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [karrio.plugins]
2
+ usps = karrio.plugins.usps:METADATA
@@ -0,0 +1,3 @@
1
+ dist
2
+ karrio
3
+ schemas