- Add optional timeout param for OAuth2Client
- Add Snowflake client
- Update config helper to allow loading config files without PLAINTEXT/ENCRYPTED structure
- Update structured log helper to include name of the logger by default
- Add merge_contextvars to default structlog configuration
- Add capability to upload arbitrary file type to S3
- Add optional JSON structured logging
- Use fastavro for avro encoding/decoding
- Add capability to return PostgreSQL cursor description
- Update pyproject.toml to reflect CL changes (since omitted in last release)
- Add capability to pull cloudLibrary events by the millisecond
- Add record_num capability to patron_data_helper
- Accidental duplicate of v1.6.0
- Added patron_data_helper functions
- Use executemany instead of execute when appropriate in PostgreSQLClient
- Add capability to retry connecting to a database to the MySQL, PostgreSQL, and Redshift clients
- Automatically close database connection upon error in the MySQL, PostgreSQL, and Redshift clients
- Delete old PostgreSQLPoolClient, which was not production ready
- Added cloudLibrary client
- Added SFTP client
- Replaced info statements with debug for security purposes
- Replaced log statement in Avro client with debug
- Added SecretsManager client
- Add retry for fetching Avro schemas
- Generalized Avro functions and separated encoding/decoding behavior
- Add put functionality to Oauth2 Client
- Update pyproject version
- Use executemany instead of execute when appropriate in RedshiftClient.execute_transaction
- Fix bug with oauth2 requests after token refresh
- Finalize retry logic in Oauth2 Client
- Update config_helper to accept list environment variables
- Add retries for empty responses in Oauth2 Client. This was added to address a known quirk in the Sierra API where this response is returned:
> GET / HTTP/1.1
> Host: ilsstaff.nypl.org
> User-Agent: curl/7.64.1
> Accept: */*
>
- Due to an accidental deployment, v1.1.0 and v1.1.1 were both released but are identical
- Enforce Kinesis stream 1000 records/second write limit
- Add research_catalog_identifier_helper function
- Identical to v1.0.1 -- this was mistakenly deployed to QA without any changes
- Add transaction support to RedshiftClient
- Improve Oauth2ApiClient token refresh and method responses
- Create separate PostgreSQLClient and PostgreSQLPoolClient classes
- Update PostgreSQL and MySQL clients to accept write queries implicitly
- Update RedshiftClient to ensure SSL is being used
- Separate dependencies to slim down package installation
- Added Oauth2ApiClient for oauth2 authenticated calls to our Platform API and Sierra
- Set PostgreSQL connection pool to have a default pool size minimum of 0
- Support write queries to PostgreSQL and MySQL databases
- Support different return formats when querying PostgreSQL, MySQL, and Redshift databases
- In PostgreSQLClient, allow reconnecting after
close_connectionhas been called - Updated README with deployment information
- Added GitHub Actions workflow for deploying to production
- Switched PostgreSQLClient to use connection pooling
- Added CODEOWNERS
- Added GitHub Actions workflows for running tests and deploying to QA
- Added tests for helper functions
- Updated Avro encoder to avoid dependency on pandas
Initial version. Includes the avro_encoder, kinesis_client, mysql_client, postgresql_client, redshift_client, and s3_client classes as well as the config_helper, kms_helper, log_helper, and obfuscation_helper functions.