Release/0.1.13
Contents
New features
- Support
setup.py
andrequirements-dev.txt
in Cloud Run Dockerfile - Retrieve credentials from Google Cloud Secret Manager and inject into environment in
Runner.run
- Add ability to retrieve and update cloud files via the
Datafile.download
orDatafile.open
methods - Allow cloud file attributes to be updated via
Datafile.to_cloud
method - Allow instantiation of
TagSet
s from JSON-encoded lists
Breaking changes
- Raise error if the datasets of the input manifest passed to
Service.ask
aren't all cloud-based
Fixes
- Fix
Dataset
construction from serialised form inManifest
- Fix
Datafile
construction from serialised form inDataset
- Fix
Datafile.deserialise
- Adjust usages of
tempfile.NamedTemporaryFile
to also work on Windows - Add timeout and retry to
Service.answer
- Add retry to
Service.wait_for_answer
- Add 60 second timeout for answering question in Cloud Run deployment
- Use correct environment variable for service ID in Cloud Run Dockerfile
- Set
_last_modified
,size_bytes
, and_hash_value
to null values if aDatafile
representing a cloud file is instantiated for a hypothetical cloud location (i.e. not synced to a cloud file at that point in time) - Allow
Dataset.get_file_sequence
use with no filter
Dependencies
- Use new
twined
version that supports validation ofcredentials
strand - Use newest version of
gcp-storage-emulator
Minor improvements
- Make
path
a positional argument ofDatafile
- Move
gunicorn
requirement intooctue
requirements - Raise warning instead of error if Google Cloud credentials environment variable is not found and return
None
as credentials - Move cloud code into new
cloud
subpackage - Raise
TimeoutError
inService.wait_for_answer
if no response is received by end of retries - Only look for
deployment_configuration.json
file in docker container/app
directory - Ensure
deployment_configuration.json
file is always loaded correctly in docker container - Pass credentials strand into
Runner
instance in Cloud Run deployment - Add
name
attribute toIdentifiable
mixin - Add Google Cloud metadata to
Datafile
serialisation - Add
deserialise
method toDatafile
- Add ability to add metadata to a
Datafile
instantiated from a regular cloud file - Use CRC32C hash value from Google Cloud when instantiating a
Datafile
from the cloud - Add ability to name
Datafile
s - Add ability to check whether a
Datafile
, allDatafile
s in aDataset
, or allDataset
s in aManifest
are located in Google Cloud - Use
Datafile.deserialise
when instantiating aDataset
from a dictionary - Add representation to
GCPPubSubBackend
- Load credentials strand JSON in
Runner
initialisation - Add location searched to message of error raised when
app
module can't be found inRunner.run
- Ignore
E203
flake8 warning
Testing
- Remove subjective
Service
testtest_serve_with_timeout
- Use temporary file rather than temporary directory for tests where possible
- Test
Dataset.deserialise
Quality Checklist
- New features are fully tested (No matter how much Coverage Karma you have)
Coverage Karma
- If your PR decreases test coverage, do you feel you have built enough
Coverage Karma
* to justify it?