New functionality:
- Get a list of streams (all parameters are optional)
Example: `client.streams(organizations=None, projects=None, created_by=None, keyword=None, is_public=True, is_deleted=False, limit=1000, offset=0)`
- Get audio information list from a specific stream
Example: `client.stream_segments(stream="xxxxxx", start="2020-12-01T00:00:00.000Z", end="2020-12-31T23:59:59.999Z", limit=50, offset=0 )`
- Download audio on specific time range
Example: `client.download_file_segments(dest_path="./audio", stream="xxxxxx", min_date="2020-12-01T00:00:00.000Z", max_date="2020-12-31T23:59:59.999Z", gain=1, file_ext="opus", parallel=True)`
- Get a list of annotations (from a given stream)
Example: `client.annotations(start="2020-12-01T00:00:00.000Z", end="2020-12-31T23:59:59.999Z", classifications=["chainsaw", "gunshot"], stream="xxxxxx", limit=50, offset=0)`
- Get a list of detections
Example: `client.detections(start="2020-12-01T00:00:00.000Z", end="2020-12-31T23:59:59.999Z", classifications=["chainsaw", "gunshot"], stream=["xxxxxx", "yyyyyy"], limit=50, offset=0)`
- Ingest a local audio to RFCx (to a given stream)
Example: `client.ingest_file(stream="xxxxxx", filepath="example.wav", timestamp="2021-03-05T12:00:00.000Z")`
Modified functionality:
- `download_file()`: update parameters to have `dest_path`, `stream_id`, `start_time`, `end_time`, `gain`, and `file_ext`
Deprecated functionality:
- `guardians()`: Get list of guardians from a sites - use `streams()` instead
- `guardianAudio()`: Get audio information list from specific guardian - use `streamSegments()` instead.
- `tags()`: Get tags information from RFCx - use `annotations()` instead.
- `downloadGuardianAudio()`: Download audio - use `downloadStreamSegments()` instead.