Common utility modules shared between various Python based Yubico projects.
YubiCommon follows Semantic Versioning 2.0.0.
A common usecase is to vendor YubiCommon under another project to ensure the exact version, and not require an additional explicit depencency. This allows a project to depend on any revision of the project instead of only released versions. To do so simply copy the yubicommon module to a module in the parent project, making it a sub-module. When working with Git a submodule can be used to more easily update the version. When used as a submodule, the recommended approach is to keep it in a common "vendor" subdirectory of the repository, and create a symlink in the parent module. For example:
├── NEWS ├── README ├── setup.py ├── vendor │ └── yubicommon # Git submodule └── mypackage ├── __init__.py └── yubicommon -> ../vendor/yubicommon/yubicommon
When vendoring YubiCommon as a submodule you should use the HTTPS URL to ensure that anyone can initialize the repository:
git submodule add https://github.com/Yubico/python-yubicommon.git vendor/yubicommon git submodule init git submodule update