Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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

Metadata

Release files for car-connector-framework 3.0.2rc268

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for car-connector-framework 3.0.2rc268
File Size Uploaded
car-connector-framework-3.0.2rc268.tar.gz 18.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for car-connector-framework 3.0.2rc268
File Interpreter ABI Platform
car_connector_framework-3.0.2rc268-py3-none-any.whl Python 3 none any Details

Total release size: 40.5 kB

Release files / car-connector-framework-3.0.2rc268.tar.gz

Download URL car-connector-framework-3.0.2rc268.tar.gz
Size 18.1 kB
Tags Source
SHA-256 checksum
How to use checksums
abfd0f400d7b35d8ac602341af1659966cd67124b14e85b23a33716e198a06bf
BLAKE2b-256 checksum
How to use checksums
a66ea439f51039ddd2bb1fa50388fdbb5a293b8dcb44a963f4a9810dd2e0028c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.6

Release files / car_connector_framework-3.0.2rc268-py3-none-any.whl

Download URL car_connector_framework-3.0.2rc268-py3-none-any.whl
Size 22.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
173834b1b15daf73f4dce45f39765aeede23f5e57f510282fa7f8f35e564451b
BLAKE2b-256 checksum
How to use checksums
6521444273a50d5bc4c9ea726e5696f1753b924e4c6b51e9811b71f3b38ef1f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.6

Release history Release notifications | RSS feed

4.0.3

2 release files

4.0.2

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.0.2

2 release files

This release

3.0.2rc268 This release

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.0.10

2 release files

2.0.9

2 release files

2.0.8

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.1

2 release files

0.0.17

2 release files

0.0.16

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.11

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page