tdl-client-python Development
Submodules
Project contains a submodule as mentioned in the .gitmodules file:
- tdl-client-spec (gets cloned into test/features)
Getting started
Requirements:
Python 3.12(support forPython 2.xhas been dropped)pip(ensure it supportsPython 3.10)
Python client to connect to the central kata server.
Update submodules
git submodule update --init
Setting up a development environment:
python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
Your virtualenv will be created in ./venv/
Testing
All test require the ActiveMQ broker and Wiremock to be started.
Start ActiveMQ
export ACTIVEMQ_CONTAINER=apache/activemq-classic:6.1.0
docker run -d -it --rm -p 28161:8161 -p 21613:61613 -p 21616:61616 --name activemq ${ACTIVEMQ_CONTAINER}
The ActiveMQ web UI can be accessed at: http://localhost:28161/admin/ use admin/admin to login
Start two Wiremock servers
export WIREMOCK_CONTAINER=wiremock/wiremock:3.7.0
docker run -d -it --rm -p 8222:8080 --name challenge-server ${WIREMOCK_CONTAINER}
docker run -d -it --rm -p 41375:8080 --name recording-server ${WIREMOCK_CONTAINER}
The Wiremock admin UI can be found at: http://localhost:8222/__admin/ and docs at http://localhost:8222/__admin/docs
Cleanup
Stop dependencies
docker stop activemq
docker stop recording-server
docker stop challenge-server
Tests
Running all the tests,
behave
Pass arguments to behave, e.g. to run a specific scenario,
$ behave test/features/queue/QueueRunner.feature:154
or
$ behave -n "Process message then publish"
See behave docs for more details.
Distributable
Run the below to generate a distributable archive:
python3 -m build
The tdl-client-python-x.xx.x.tar.gz archive can be found in the dist folder.
To release
Set version manually in setup.py:
VERSION = "0.29.1"
Commit the changes
export RELEASE_TAG="v$(cat setup.py | grep "VERSION =" | cut -d "\"" -f2)"
echo ${RELEASE_TAG}
git add --all
git commit -m "Releasing version ${RELEASE_TAG}"
git tag -a "${RELEASE_TAG}" -m "${RELEASE_TAG}"
git push --tags
git push
Wait for the Github build to finish, then go to: https://pypi.org/project/tdl-client-python/
To manually build the PyPi files
TODO
Metadata
Release files for tdl-client-python 0.33.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tdl_client_python-0.33.1.tar.gz | 15.1 kB | Without provenance | Details for tdl_client_python-0.33.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tdl_client_python-0.33.1-py3-none-any.whl | Python 3 | none | any | Details for tdl_client_python-0.33.1-py3-none-any.whl |
Total release size: 33.8 kB
Release files / tdl_client_python-0.33.1.tar.gz
| Download URL | tdl_client_python-0.33.1.tar.gz |
|---|---|
| Size | 15.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
02bd0102fc8c83c997ed3d329a39fecd72d78552da9faa663f386a4ff5158d30
|
|
BLAKE2b-256 checksum How to use checksums |
8bc0ac9a18034e0aa54f5c53575d168ef4af0ed967d19bc89d480b54ee9fa8c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / tdl_client_python-0.33.1-py3-none-any.whl
| Download URL | tdl_client_python-0.33.1-py3-none-any.whl |
|---|---|
| Size | 18.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
30dc7e5b6371c2c6e7dcb5bded2379df5d35c4a445cebd279b7db615784d3ac7
|
|
BLAKE2b-256 checksum How to use checksums |
822049787ab2df3dc6ef99940439e2a858165d75a68ca881f39c2b35eac13dd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Security for tdl-client-python 0.33.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.