# th2 gRPC common library (4.2.0)
This library contains common proto messages that are used in all th2 components. See [common.proto](https://github.com/th2-net/th2-grpc-common/blob/master/src/main/proto/th2_grpc_common/common.proto "common.proto") file for details. <br>
Tool generates code from `.proto` files and uploads built packages (`.proto` files and generated code) to specified repositories.
## How to maintain a project
1. Perform the necessary changes.
2. Update the package version of Java in `gradle.properties` file.
3. Update the package version of Python in `package_info.json` file.
4. Commit everything.
### Java
If you wish to manually create and publish a package for Java, run the following command:
```
gradle --no-daemon clean build publish artifactoryPublish \
-Purl=${URL} \
-Puser=${USER} \
-Ppassword=${PASSWORD}
```
`URL`, `USER` and `PASSWORD` are parameters for publishing.
### Python
If you wish to manually create and publish a package for Python:
1. Generate services with `Gradle`:
```
gradle --no-daemon clean generateProto
```
You can find the generated files by following path: `src/gen/main/services/python`
2. Generate code from `.proto` files and publish everything using `twine`:
```
pip install -r requirements.txt
pip install twine
python setup.py generate
python setup.py sdist
twine upload --repository-url ${PYPI_REPOSITORY_URL} --username ${PYPI_USER} --password ${PYPI_PASSWORD} dist/*
```
`PYPI_REPOSITORY_URL`, `PYPI_USER` and `PYPI_PASSWORD` are parameters for publishing.
## Release notes
### 4.2.0
+ Added vulnerability check
+ Updated bom:4.2.0
+ Updated protoc:3.21.7
+ Updated grpc-service-generator:3.3.1
+ Downgraded grpc version from 1.50.2 to 1.48.1 according to bom
### 4.1.1
+ Added script for publishing dev-release for maven artefacts
+ Migrated to bom:4.2.0
### 4.1.0
+ Added event / message batch metadata with the external_user_queue field. This field can be used to send MQ message to direct queue instead of schema routing in some cases.
### 4.0.0
+ Marked deprecated fields as `reserved`
+ Moved `timestamp` from `MessageMetadata`/`RawMessageMetadata` to `MessageID`
+ Moved `start_timestamp` from `Event` to `EventID`
+ Added `book_name` to `MessageID` and `EventID`
+ Added `scope` to `EventID`
+ Added `map<string, SessionAliasToDirectionCheckpoint>` to `Checkpoint`. It describes book to session alias to direction.
+ Added `EventBatchMetadata` and `MessageGroupBatchMetadata` with `external_queue` property
### 3.13.0
+ Update `th2-bom` version from '3.0.0' to '4.1.0'
### 3.12.0
+ Update `grpcio-tools` Python dependency version from `1.38.1` to `1.50.0`
+ Update `grpc` Java dependency version from `1.32.1` to `1.50.2`
### 3.11.1
+ Update `mypy-protobuf` Python dependency version from `2.5` to `3.2`
### 3.11.0
+ Added `session_group` parameter to `ConnectionID`
### 3.10.0
+ Updated grpc-service-generator (added support for gRPC pins filters).
### 3.9.0
+ Added `null_value` in `ValueFilter`. Should be used only with EQUAL and NOT_EQUAL operations.
### 3.8.0
+ Added `time_precision` and `decimal_precision` parameters to `RootComparisonSettings`
+ Added `EQ_TIME_PRECISION` and `EQ_DECIMAL_PRECISION` filter operation, witch filter a field by comparing values(`date/time` in ISO format and `numeric` types) with the precision. The timestamps will be compared with the protobuf duration format. Numbers use string format, for example _0.0001_, _0.125_, _125E-3_
### 3.7.0
+ Added `check_repeating_group_order` parameter to `RootComparisonSettings`
### 3.6.0
+ Added `description` parameter to `RootMessageFilter`.
### 3.5.0
+ Added SimpleList parameter to SimpleFilter.
### 3.4.0
+ Added `IN` and `NOT_IN` filter operation, which filter a field by value from list of `String`.
+ Added `LIKE` and `NOT_LIKE` filter operation, which filter a field by `String` regEx expression.
+ Added `MORE`, `LESS`, `NOT_MORE`, `NOT_LESS` filter operations, which filter a field by comparing values(`numeric` types and `date/time` in ISO format).
+ Added `WILDCARD` and `NOT_WILDCARD` filter operations, which filter a field by `String` specified wildcard expression.
The wildcard matcher uses the characters `?` and `*` to represent a single or multiple (zero or more) wildcard characters.
This is the same as often found on Dos/Unix command lines.
+ "abc-123", "*-123" --> true
+ "abc-123", "*-xyz" --> false
+ "abc-123", "ab*" --> true
+ "abc-123", "*-???" --> true
+ "abc-123", "*-????" --> false
N.B. the sequence `*?` does not work properly at present in match strings.
### 3.3.0
+ Added information about message timestamp into checkpoint message
### 3.2.0
+ Implement stubs creation for Python
Raw data
{
"_id": null,
"home_page": "https://github.com/th2-net/th2-grpc-common",
"name": "th2-grpc-common",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "",
"author": "TH2-devs",
"author_email": "th2-devs@exactprosystems.com",
"download_url": "https://files.pythonhosted.org/packages/05/5b/7dfba2f998a5bb675eb6aa0f826d15791143e58f1a0f222e0a431c48a2d8/th2_grpc_common-4.2.0.tar.gz",
"platform": null,
"description": "# th2 gRPC common library (4.2.0)\n\n\nThis library contains common proto messages that are used in all th2 components. See [common.proto](https://github.com/th2-net/th2-grpc-common/blob/master/src/main/proto/th2_grpc_common/common.proto \"common.proto\") file for details. <br>\nTool generates code from `.proto` files and uploads built packages (`.proto` files and generated code) to specified repositories.\n\n## How to maintain a project\n1. Perform the necessary changes.\n2. Update the package version of Java in `gradle.properties` file.\n3. Update the package version of Python in `package_info.json` file.\n4. Commit everything.\n\n### Java\nIf you wish to manually create and publish a package for Java, run the following command:\n```\ngradle --no-daemon clean build publish artifactoryPublish \\\n -Purl=${URL} \\ \n -Puser=${USER} \\\n -Ppassword=${PASSWORD}\n```\n`URL`, `USER` and `PASSWORD` are parameters for publishing.\n\n### Python\nIf you wish to manually create and publish a package for Python:\n1. Generate services with `Gradle`:\n ```\n gradle --no-daemon clean generateProto\n ```\n You can find the generated files by following path: `src/gen/main/services/python`\n2. Generate code from `.proto` files and publish everything using `twine`:\n ```\n pip install -r requirements.txt\n pip install twine\n python setup.py generate\n python setup.py sdist\n twine upload --repository-url ${PYPI_REPOSITORY_URL} --username ${PYPI_USER} --password ${PYPI_PASSWORD} dist/*\n ```\n `PYPI_REPOSITORY_URL`, `PYPI_USER` and `PYPI_PASSWORD` are parameters for publishing.\n\n## Release notes\n\n### 4.2.0\n\n+ Added vulnerability check\n+ Updated bom:4.2.0\n+ Updated protoc:3.21.7\n+ Updated grpc-service-generator:3.3.1\n+ Downgraded grpc version from 1.50.2 to 1.48.1 according to bom\n\n### 4.1.1\n\n+ Added script for publishing dev-release for maven artefacts\n+ Migrated to bom:4.2.0\n\n### 4.1.0\n\n+ Added event / message batch metadata with the external_user_queue field. This field can be used to send MQ message to direct queue instead of schema routing in some cases.\n\n### 4.0.0\n+ Marked deprecated fields as `reserved`\n+ Moved `timestamp` from `MessageMetadata`/`RawMessageMetadata` to `MessageID`\n+ Moved `start_timestamp` from `Event` to `EventID`\n+ Added `book_name` to `MessageID` and `EventID`\n+ Added `scope` to `EventID`\n+ Added `map<string, SessionAliasToDirectionCheckpoint>` to `Checkpoint`. It describes book to session alias to direction.\n+ Added `EventBatchMetadata` and `MessageGroupBatchMetadata` with `external_queue` property\n\n### 3.13.0\n+ Update `th2-bom` version from '3.0.0' to '4.1.0'\n\n### 3.12.0\n\n+ Update `grpcio-tools` Python dependency version from `1.38.1` to `1.50.0` \n+ Update `grpc` Java dependency version from `1.32.1` to `1.50.2`\n\n### 3.11.1\n\n+ Update `mypy-protobuf` Python dependency version from `2.5` to `3.2` \n\n### 3.11.0\n\n+ Added `session_group` parameter to `ConnectionID`\n\n### 3.10.0\n\n+ Updated grpc-service-generator (added support for gRPC pins filters).\n\n### 3.9.0\n\n+ Added `null_value` in `ValueFilter`. Should be used only with EQUAL and NOT_EQUAL operations.\n\n### 3.8.0\n+ Added `time_precision` and `decimal_precision` parameters to `RootComparisonSettings`\n+ Added `EQ_TIME_PRECISION` and `EQ_DECIMAL_PRECISION` filter operation, witch filter a field by comparing values(`date/time` in ISO format and `numeric` types) with the precision. The timestamps will be compared with the protobuf duration format. Numbers use string format, for example _0.0001_, _0.125_, _125E-3_\n\n### 3.7.0\n+ Added `check_repeating_group_order` parameter to `RootComparisonSettings`\n\n### 3.6.0\n+ Added `description` parameter to `RootMessageFilter`.\n\n### 3.5.0\n+ Added SimpleList parameter to SimpleFilter. \n\n### 3.4.0\n\n+ Added `IN` and `NOT_IN` filter operation, which filter a field by value from list of `String`.\n+ Added `LIKE` and `NOT_LIKE` filter operation, which filter a field by `String` regEx expression.\n+ Added `MORE`, `LESS`, `NOT_MORE`, `NOT_LESS` filter operations, which filter a field by comparing values(`numeric` types and `date/time` in ISO format).\n+ Added `WILDCARD` and `NOT_WILDCARD` filter operations, which filter a field by `String` specified wildcard expression.\nThe wildcard matcher uses the characters `?` and `*` to represent a single or multiple (zero or more) wildcard characters.\nThis is the same as often found on Dos/Unix command lines.\n+ \"abc-123\", \"*-123\" --> true\n+ \"abc-123\", \"*-xyz\" --> false\n+ \"abc-123\", \"ab*\" --> true\n+ \"abc-123\", \"*-???\" --> true\n+ \"abc-123\", \"*-????\" --> false\n\nN.B. the sequence `*?` does not work properly at present in match strings.\n\n### 3.3.0\n\n+ Added information about message timestamp into checkpoint message\n\n### 3.2.0\n\n+ Implement stubs creation for Python",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "th2_grpc_common",
"version": "4.2.0",
"project_urls": {
"Homepage": "https://github.com/th2-net/th2-grpc-common"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "055b7dfba2f998a5bb675eb6aa0f826d15791143e58f1a0f222e0a431c48a2d8",
"md5": "8331aa5c70527bef7ba2c0c6aa448652",
"sha256": "ff0cce6578c3fbe3bca7dfd16989f80739a1f06b3f504a2dcd87742b7643a57a"
},
"downloads": -1,
"filename": "th2_grpc_common-4.2.0.tar.gz",
"has_sig": false,
"md5_digest": "8331aa5c70527bef7ba2c0c6aa448652",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 18714,
"upload_time": "2023-03-31T10:04:24",
"upload_time_iso_8601": "2023-03-31T10:04:24.912847Z",
"url": "https://files.pythonhosted.org/packages/05/5b/7dfba2f998a5bb675eb6aa0f826d15791143e58f1a0f222e0a431c48a2d8/th2_grpc_common-4.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-03-31 10:04:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "th2-net",
"github_project": "th2-grpc-common",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "grpcio-tools",
"specs": [
[
"==",
"1.56.0"
]
]
},
{
"name": "mypy-protobuf",
"specs": [
[
"==",
"3.4"
]
]
}
],
"lcname": "th2-grpc-common"
}