Skip to main content

Declares the Airbyte Protocol using Python Dataclasses. Dataclasses in Python have less performance overhead compared to Pydantic models, making them a more efficient choice for scenarios where speed and memory usage are critical

Project description

airbyte-protocol

Declares the Airbyte Protocol.

Key Files

  • airbyte_protocol.yaml - declares the Airbyte Protocol (in JSONSchema)
  • io.airbyte.protocol.models - this package contains various java helpers for working with the protocol.

Pull Requests Titles Must Conform to Conventional Commits Convention

We are leveraging the Release Please Action to manage our version bumping and releasing. This action relies on the use of the conventional commits convention to determine whether to bump major, minor, or patch versions. Since we use squash merging, the only commits we see in our history are the titles of our pull requests. This is why we are following conventional commits for our pull request titling. Your actual commits do not need to follow this convention because they never show up in the git history.

Here is a summary of what Release Please looks for in your pull request title.

The most important prefixes you should have in mind are:

  • fix: which represents bug fixes, and correlates to a SemVer patch.
  • feat: which represents a new feature, and correlates to a SemVer minor.
  • feat!:, or fix!:, refactor!:, etc., which represent a breaking change (indicated by the !) and will result in a SemVer major.

Release Please will create a pull request when it believes there is a potential new version to be released. It compiles a change log based on the commit history sinced last release. It updates this PR appropriately everytime a PR is merged. If you desire to release a new version, you would approve and merge this PR.

The PR looks something like this. example-release-please-pr

Releasing A Protocol Version

To release:

  • Create a PR following the conventions stated in the above section.
  • Merge this PR in.
  • If the conventional commit convention is followed, CI will create a bump version PR with release notes and the new version. The new version follows conventional commit semantics.
  • Double check the new version by looking at the .env file.
  • Merge the bump version PR in.
  • On merge to master, CI will detect the version change and publish a Java JAR, a PyPi package and an NPM package. A Github release is also created.

Release Errors

If there is a publishing error on merge to master, the manual publishing workflow is an escape hatch for manually republishing artifacts for a specific version.

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

airbyte_protocol_models_dataclasses-0.16.0.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file airbyte_protocol_models_dataclasses-0.16.0.tar.gz.

File metadata

File hashes

Hashes for airbyte_protocol_models_dataclasses-0.16.0.tar.gz
Algorithm Hash digest
SHA256 e35db71f364916b290ce3b970eecaa71e9fd3ce7358df2a3f4851f38857d010b
MD5 a89cfd5d0b916cd061758d5b54811efd
BLAKE2b-256 08c87ab39aac59c3f0b69369938c6be7bc787ee2212405f516922ed045b8f728

See more details on using hashes here.

File details

Details for the file airbyte_protocol_models_dataclasses-0.16.0-py3-none-any.whl.

File metadata

File hashes

Hashes for airbyte_protocol_models_dataclasses-0.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 46ee2958b39945530f9c88c97d7e20ef1b4adba6d25017f781e01625feb61542
MD5 d4451bb914dcd49718c58410c07d3ceb
BLAKE2b-256 5e0d7a938360ced064e5f17aa35e3d969aa59d987b6be1a3f88bdefc947f034e

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