Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

car-connector-framework

Package Overview
Dependencies
Maintainers
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

car-connector-framework

CAR service connector framework

  • 4.0.2
  • PyPI
  • Socket score

Maintainers
4

Car Connector Framework

Develop a connector

Use connectors/reference_connector from cp4s-car-connectors project as an example of how this framework is to be used.

A CAR connector project will need to extend the framework classes: BaseFullImport, BaseIncrementalImport, BaseApp, BaseAssetServer and BaseDataHandler, and implement abstract methods of those classes.

Things to note:

  • All communications with CAR digestion microservice are managed by the framework. Connector code normally does not need to access CAR digestion microservice directly

  • The framework is trying to make some intelligent choice for whether to run full vs incremental import. Normally, for performance reasons we would always prefer to run incremental import if one is possible. Some examples of when it is not possible are:

    • The model states for generating delta are not available
    • The model on the CAR side is empty
    • The previous incremental import session failed and a new incremental import session can potentially create a gap in the model data
  • Because of the above the the connector code should properly use (throw/raise) one of three following exceptions when detecting failures:

    • RecoverableFailure is to be used when the failure cannot potentially create a data gap and we can attempt an incremental import session when running next time. One example of a recoverable failure is a connectivity problem.
    • UnrecoverableFailure is to be used when the failure can potentially create a data gap and we must run full import session to recover.
    • DatasourceFailure is to be used when there is datasource API issues.

RecoverableFailure and UnrecoverableFailure are mostly handled in the framework. DatasourceFailure is to be used in the connector code with a corresponding error code. Example: return ErrorCode.TRANSMISSION_AUTH_CREDENTIALS.value. If none of the Failure classes is used, the framework will raise a GENERAL_APPLICATION_FAILURE (Unknown error) and print the error stack.

For more information use guides

Test deploy

https://github.com/IBM/cp4s-car-connectors/blob/develop/deployment/README.md

Publish

Use the guide from PUBLISH.md

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc