Skip to main content

SDK for building Corva DevCenter Python apps.

Project description

corva-sdk

corva-sdk is a framework for building Corva DevCenter Python apps.

Help

See documentation for more details.

Install

Install using pip install corva-sdk.

Contributing

For guidance on setting up a development environment see Development - Contributing.

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[1.8.1] - 2023-01-24

Added

  • id field to rerun data.

[1.8.0] - 2022-11-28

Added

  • insert_data method to Api. See Insert data section in docs.
  • Example usage for followable apps. See Followable apps section in docs.

[1.7.0] - 2022-11-08

Added

  • produce_messages method to Api. See Produce messages section in docs.
  • Documentation on followable apps. See Followable apps section in docs.

[1.6.0] - 2022-10-19

Added

  • cache parameter to app_runner to reuse the cache object.

[1.5.3] - 2022-09-05

Changed

  • Set status as completed for failed scheduled natural time apps.

[1.5.2] - 2022-07-11

Fixed

  • GitHub Pages

[1.5.1] - 2022-07-11

Fixed

  • GitHub Pages

[1.5.0] - 2022-07-11

Added

  • Rerun support. StreamTimeEvent, StreamDepthEvent, ScheduledDataTimeEvent, ScheduledDepthEvent and ScheduledNaturalTimeEvent got new rerun field which stores rerun metadata.

[1.4.0] - 2022-04-25

Added

  • Cache methods:
    • set_many
    • get_many
    • get_all
    • delete_many
    • delete_all

Fixed

  • Wrong log formatting in Dev Center: multiline Python logs (like stack traces) being split into multiple CloudWatch log entries.

Changed

  • Log internal SDK errors using warning level instead of exception.

[1.4.0-rc.1] - 2022-02-15

Added

  • get, set and new signature for delete methods to Cache. See docs for more info.

Deprecated

  • Cache methods:
    • old delete signature
    • store
    • load
    • load_all
    • delete_all
    • ttl
    • pttl
    • exists

Fixed

  • Cache unable to set unique expiry for each key.

[1.3.1] - 2022-04-14

Fixed

  • Wrong log formatting in Dev Center: multiline Python logs (like stack traces) being split into multiple CloudWatch log entries.

[1.3.0] - 2022-02-15

Added

  • Secrets support. See corresponding section in docs.

[1.2.2] - 2021-11-01

Fixed

  • Successful task app failing to update task status.

[1.2.1] - 2021-10-29

Deprecated

  • Returning dict result from task app to get it stored in task payload. Send the request to update the payload explicitly in your app.

[1.2.0] - 2021-08-09

Added

  • Subtypes of scheduled event: ScheduledDataTimeEvent, ScheduledDepthEvent and ScheduledNaturalTimeEvent

Deprecated

  • ScheduledEvent usage

[1.1.0] - 2021-07-19

Added

  • Ability to pass custom logging handlers to app decorators using handler keyword argument.
  • Natural time event (single dict) parsing in scheduled apps.

Fixed

  • Multiple logging of the same exception in stream and scheduled apps.
  • Log message truncation for low LOG_THRESHOLD_MESSAGE_SIZE values.

[1.0.3] - 2021-06-27

[1.0.2] - 2021-06-27

Added

  • Logging of internal errors.

[1.0.1] - 2021-04-30

Fixed

  • AWS Lambda context parsing.

[1.0.0] - 2021-04-29

Added

  • corva.stream, corva.scheduled and corva.task app decorators. See readme for usage examples.
  • ScheduledEvent.company_id field.

Removed

  • corva.Corva class.

[0.0.18] - 2021-04-16

Changed

  • Events are allowed to have extra fields.

[0.0.17] - 2021-04-15

Added

  • corva.Logger object, that should be used for app logging.
  • LOG_THRESHOLD_MESSAGE_SIZE and LOG_THRESHOLD_MESSAGE_COUNT env variables, that should be used to configure logging.

[0.0.16] - 2021-04-02

Added

  • app_runner fixture for testing apps.

Changed

  • StreamEvent was split into StreamTimeEvent and StreamDepthEvent, which have corresponding StreamTimeRecord and StreamDepthRecord records.
  • Deleted all unsued fields from ScheduledEvent, TaskEvent, StreamTimeEvent and StreamDepthEvent.

Removed

  • filter_mode parameter from Corva.stream. Filtering is now automatic.

[0.0.15] - 2021-03-23

Added

  • Corva.task decorator for task apps.

[0.0.14] - 2021-03-12

Added

  • Testing section to README.md.
  • Api.get_dataset method.

Changed

  • ScheduledEvent.schedule_end field is now optional.
  • ScheduledEvent.schedule_end and ScheduledEvent.schedule_start field types from datetime to int.

[0.0.13] - 2021-03-04

Added

  • Tools for testing apps.

[0.0.12] - 2021-02-11

Fixed

  • TaskEvent queue event parsing.

###Changed

  • StreamEvent must have at least one record.
  • StreamEvent and ScheduledEvent:
    • Added descriptions to fields.
    • Simplified event structures.

[0.0.11] - 2021-02-10

Fixed

  • ScheduledEvent queue event parsing.

[0.0.10] - 2021-02-05

Changed

  • Api class:
    • Deleted retries.
    • Responses do not use raise_for_status anymore.
    • Lowered default_timeout to 30 seconds.
    • Fixed url build exceptions on Windows.

[0.0.9] - 2021-02-05

Removed

  • Obsolete StreamEvent fields: app_version.
  • Obsolete ScheduledEvent fields: app_version.

[0.0.8] - 2021-02-05

Fixed

  • api_key extraction from context.

[0.0.7] - 2021-02-04

Fixed

  • StreamEvent queue event parsing.

[0.0.5] - 2021-02-04

Added

  • Required context parameter to Corva.
  • Documentation in README.md.

[0.0.4] - 2021-01-20

Added

  • Corva class, which contains stream and scheduled decorators for stream and scheduled apps.

Removed

  • StreamApp and ScheduledApp classes.

[0.0.3] - 2020-12-15

Fixed

  • Deployment to PyPI.

[0.0.2] - 2020-12-15

###Added

  • StreamApp to build stream apps.
  • ScheduledApp to build scheduled apps.
  • TaskApp to build task apps.
  • Api class to access Platform and Data Corva APIs.
  • Cache class to share data between app invokes.
  • Event classes: StreamEvent, ScheduledEvent and TaskEvent.

[Unreleased] https://github.com/corva-ai/python-sdk/compare/v1.8.1...master [1.8.1] https://github.com/corva-ai/python-sdk/compare/v1.8.0...v1.8.1 [1.8.0] https://github.com/corva-ai/python-sdk/compare/v1.7.0...v1.8.0 [1.7.0] https://github.com/corva-ai/python-sdk/compare/v1.6.0...v1.7.0 [1.6.0] https://github.com/corva-ai/python-sdk/compare/v1.5.3...v1.6.0 [1.5.3] https://github.com/corva-ai/python-sdk/compare/v1.5.2...v1.5.3 [1.5.2] https://github.com/corva-ai/python-sdk/compare/v1.5.1...v1.5.2 [1.5.1] https://github.com/corva-ai/python-sdk/compare/v1.5.0...v1.5.1 [1.5.0] https://github.com/corva-ai/python-sdk/compare/v1.4.0...v1.5.0 [1.4.0] https://github.com/corva-ai/python-sdk/compare/v1.4.0-rc.1...v1.4.0 [1.4.0-rc.1] https://github.com/corva-ai/python-sdk/compare/v1.3.1...v1.4.0-rc.1 [1.3.1] https://github.com/corva-ai/python-sdk/compare/v1.3.0...v1.3.1 [1.3.0] https://github.com/corva-ai/python-sdk/compare/v1.2.2...v1.3.0 [1.2.2] https://github.com/corva-ai/python-sdk/compare/v1.2.1...v1.2.2 [1.2.1] https://github.com/corva-ai/python-sdk/compare/v1.2.0...v1.2.1 [1.2.0] https://github.com/corva-ai/python-sdk/compare/v1.1.0...v1.2.0 [1.1.0] https://github.com/corva-ai/python-sdk/compare/v1.0.3...v1.1.0 [1.0.3] https://github.com/corva-ai/python-sdk/compare/v1.0.2...v1.0.3 [1.0.2] https://github.com/corva-ai/python-sdk/compare/v1.0.1...v1.0.2 [1.0.1]: https://github.com/corva-ai/python-sdk/compare/v1.0.0...v1.0.1 [1.0.0]: https://github.com/corva-ai/python-sdk/compare/v0.0.18...v1.0.0 [0.0.18]: https://github.com/corva-ai/python-sdk/compare/v0.0.17...v0.0.18 [0.0.17]: https://github.com/corva-ai/python-sdk/compare/v0.0.16...v0.0.17 [0.0.16]: https://github.com/corva-ai/python-sdk/compare/v0.0.15...v0.0.16 [0.0.15]: https://github.com/corva-ai/python-sdk/compare/v0.0.14...v0.0.15 [0.0.14]: https://github.com/corva-ai/python-sdk/compare/v0.0.13...v0.0.14 [0.0.13]: https://github.com/corva-ai/python-sdk/compare/v0.0.12...v0.0.13 [0.0.12]: https://github.com/corva-ai/python-sdk/compare/v0.0.11...v0.0.12 [0.0.11]: https://github.com/corva-ai/python-sdk/compare/v0.0.10...v0.0.11 [0.0.10]: https://github.com/corva-ai/python-sdk/compare/v0.0.9...v0.0.10 [0.0.9]: https://github.com/corva-ai/python-sdk/compare/v0.0.8...v0.0.9 [0.0.8]: https://github.com/corva-ai/python-sdk/compare/v0.0.7...v0.0.8 [0.0.7]: https://github.com/corva-ai/python-sdk/compare/v0.0.5...v0.0.7 [0.0.5]: https://github.com/corva-ai/python-sdk/compare/v0.0.4...v0.0.5 [0.0.4]: https://github.com/corva-ai/python-sdk/compare/v0.0.3...v0.0.4 [0.0.3]: https://github.com/corva-ai/python-sdk/compare/v0.0.2...v0.0.3 [0.0.2]: https://github.com/corva-ai/python-sdk/releases/tag/v0.0.2

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

corva-sdk-1.8.1.tar.gz (25.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

corva_sdk-1.8.1-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

Details for the file corva-sdk-1.8.1.tar.gz.

File metadata

  • Download URL: corva-sdk-1.8.1.tar.gz
  • Upload date:
  • Size: 25.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for corva-sdk-1.8.1.tar.gz
Algorithm Hash digest
SHA256 2cbf0ba6fdcf6c28592794070b75c50aeb66ca2da8d0730b316c8a9bcf5895d1
MD5 c974ae7bf243f163153180672b17024a
BLAKE2b-256 c7c0edd70948d846276ec6f86420a384a372a7985176ef3268b9ec2f055783f8

See more details on using hashes here.

File details

Details for the file corva_sdk-1.8.1-py3-none-any.whl.

File metadata

  • Download URL: corva_sdk-1.8.1-py3-none-any.whl
  • Upload date:
  • Size: 29.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for corva_sdk-1.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0c4adf327da3293066f6b14e4a780168453a63f04922149a2b21b9b86ea9212e
MD5 31f5e1672a9b3d728964ac392797959a
BLAKE2b-256 8d9dc9b1b7bb1530493a1151bfa161037919c7186d1e3ea4393f54e11fff97d5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page