Skip to main content

vaultlock-py

PyPI version Downloads

vaultlock-py is a secure Python library designed to unify and simplify secret management, cryptographic key handling, and secure operations across Google Cloud Secret Manager, Google Cloud KMS, and HashiCorp Vault.

Built with DevSecOps, cloud-native security, and modern cryptographic best practices in mind, this library allows Python developers and cloud engineers to lock down secrets, encrypt sensitive data, and securely integrate external key management systems into their apps or CI/CD pipelines.

Features

vaultlock-py offers a powerful and unified key management interface that allows developers to manage, rotate, and retrieve secrets securely across platforms such as Google Cloud Secret Manager, HashiCorp Vault, and Google Cloud KMS. It supports end-to-end encryption using robust standards like AES-256, and enables envelope encryption with cloud-managed keys for enhanced security. The library includes a suite of command-line tools that make it easy to encrypt and decrypt files, manage secrets, and validate secure access from any environment. Designed with compliance and traceability in mind, vaultlock-py provides audit-friendly logging and access visibility, making it ideal for regulated environments. Its modular and extensible architecture ensures that users can selectively adopt components based on their infrastructure needs, whether they're working solely with Vault, KMS, or Secret Manager. Built with cloud-native principles, the library integrates seamlessly into modern CI/CD pipelines, Kubernetes clusters, and cloud-based applications.

Use Cases

  • Encrypting sensitive config files before storage.

  • Centralized secret retrieval in production microservices.

  • Secure data exchange across cloud environments.

  • Building compliance-aware automation for regulated industries.

Technologies Used

  • Google Cloud Secret Manager

  • HashiCorp Vault

  • Google Cloud KMS

  • HashiCorp Vault via hvac library

  • Python 3.8+

  • Follows PEP 621 and pyproject.toml standards

  • Designed for use in CI/CD and container environments

Installation

pip install vaultlock-py

CLI Usage

python -m vaultlock.cli --mode gcp --action create --project_id=my-project --path=my-secret --value=secret123

License

This README provides an overview, installation, usage examples (CLI and code), and a brief mention of how it works and license. In an actual project, one might expand the README with troubleshooting tips or more details on authentication.

MIT License

Copyright (c) 2025 Raghava Chellu

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Metadata

Release files for vaultlock-py 0.1.2

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

Source distribution (sdist)

Source distribution for vaultlock-py 0.1.2
File Size Uploaded Provenance
vaultlock_py-0.1.2.tar.gz 3.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for vaultlock-py 0.1.2
File Interpreter ABI Platform
vaultlock_py-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 7.6 kB

Release files / vaultlock_py-0.1.2.tar.gz

Download URL vaultlock_py-0.1.2.tar.gz
Size 3.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1987b3f80c24389484faa6c1686d603d83438637f899341344a63eadaebe0509
BLAKE2b-256 checksum
How to use checksums
22d9310a10b49b29bf264413cefbc0d4d1b1bff8266c88da56227e5b16551eec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.11

Release files / vaultlock_py-0.1.2-py3-none-any.whl

Download URL vaultlock_py-0.1.2-py3-none-any.whl
Size 3.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4a9182722f4fb5ce67146f40c12e503258566a2bd4e75fc718f21a95cfc62d25
BLAKE2b-256 checksum
How to use checksums
7f3dc469e9a147a06572c9e9c6f6dc405776667fcd8f33701be63d911cc19d73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.11

Security for vaultlock-py 0.1.2

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.

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