Provides a powerful interface for requesting and storing Google Cloud OAuth2 credentials for any combinations of accounts and scopes.
Handles OAuth2 flow; opening a browser tab to prompt the user to login.
Also provides preset combinations of scopes; making it easier to request all permissions required for a certain task.
JDSCredentials
Handles automatic encryption+upload and download+decryption of securely stored and synchronized files, strings, and arbitrary python objects.
Trivially simple interface; needs only the name of the data, (and, if uploading, the data itself.)
Primarily used for API keys and related secrets.
Takes the OAuth2 credentials created by Authorize/JDSAuthorize and uses them to connect to Google Cloud servers.
Returns appropriate errors if the credentials are invalid in any way.
Note that users are given the smallest set of permissions needed.
Uses JDSKMS for encryption/decryption and JDSStorage for upload/download.
Access management policies set online allow for quick addition and removal of authorized accounts without requiring updating or redistributing any programs.
Allows for simple redistribution of new API keys; just by uploading them.
Which is also restricted to specific authorized users; as defined in the online console.
Secrets are never saved on the device's storage during this process.
Each program requests any required credentials when they start; keeping those credentials in memory.
JDSKMS
Google Cloud KMS Integration
Used to securely encrypt and decrypt credentials and other secrets.
Can handle files, strings, and arbitrary python objects.
JDSStorage
Google Cloud Storage Integration
Enables uploading, downloading, and enumerating data.
Because that data is encrypted (by JDSKMS) before upload, it uniformly handles files, strings, and arbitrary python objects.
Merchant APIs
All of them:
Handle API errors.
Construct efficient API requests; batching as much as possible.
Handle missing data.
Provide optional progress bars and other UI feedback.
Have data classes that:
Have flexible getters.
Are trivial to update with new data.
Have standard tests that can be run to verify they are functioning as expected.
JDSMWSAPI
Integrates with Amazon's MWS API.
Pulls information about Amazon products.
Checks the (formatting) validity of ASINs and UPCs.
Processes and adds results from individual types of API calls.
Only makes the API calls that are necessary to get the required/requested data.
Many different API requests are needed to get all data that this module can handle.
Includes methods that infer extra information about the product based on multiple stored fields or API responses.
Includes methods to output basic preset combinations of data; simplifying other programs.
Downloads information about orders we have received from customers.
Including reports with:
all unshipped orders
all orders in last X days
Reports can be exported to files.
Handles data provided for both shipped and unshipped orders.
Formats addresses.
Uploads information about orders we have received from customers.
Submit reports with required information filled in.