Krausening Python - Externalized Property Management and Access for Python Projects
Krausening property management and encryption for Python is packaged using the open-source Python Maven plugin Habushu and made available as a PyPI package.
Distribution Channel
Krausening Python is published to PyPI under the krausening project and may be installed using any package installer/manager that leverages PyPI. For example:
Managing Properties with Krausening and Python
Managing properties with Krausening's Python library utilizes a similar approach to that required by Krausening Java. Krausening Python expects that developers prime their target environment by configuring the following environment variables (which are named and leveraged in the same manner as the Java System Properties expected by Krausening Java):
KRAUSENING_BASEKRAUSENING_EXTENSIONSKRAUSENING_OVERRIDE_EXTENSIONSKRAUSENING_PASSWORD
In order to use the Krausening Python, developers may directly use PropertyManager or extend PropertyManager to provide a custom interface. For example, developers may directly use the PropertyManager as such:
from krausening.properties import PropertyManager
propertyManager = PropertyManager.get_instance()
properties = None
properties = propertyManager.get_properties('my-property-file.properties')
assert properties['foo'] == 'bar2'
This has the disadvantage that you must know the property keys in order to find the corresponding property values. To mitigate the need for all property file consumers to rely on specific property keys, consider wrapping the PropertyManager and writing your own custom methods to get the corresponding keys and values, abstracting away the exact key values:
from krausening.properties import PropertyManager
class TestConfig():
"""
Configurations utility class for being able to read in and reload properties
"""
def __init__(self):
self.properties = None
self.reload()
def integration_test_enabled(self):
"""
Returns whether the integration tests are enabled or not
"""
integration_test_enable = False
integration_enable_str = self.properties['integration.test.enabled']
if (integration_enable_str):
integration_test_enable = (integration_enable_str == 'True')
return integration_test_enable
def reload(self):
self.properties = PropertyManager.get_instance().get_properties('test.properties')
Releasing to PyPI
Releasing Krausening Python integrates into the project's larger utilization of the maven-release-plugin, specifically publishing the package to PyPI during the deploy phase. A PyPI account with access to the krausening project is required. PyPI account credentials should be specified in your settings.xml under the <id>pypi</id> <server> entry:
<settings>
<servers>
<server>
<id>pypi</id>
<username>pypi-username</username>
<password>pypi-password</password>
</server>
</servers>
</settings>
Metadata
Release files for krausening 17
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 |
|---|---|---|---|---|
| krausening-17.tar.gz | 5.4 kB | Without provenance | Details for krausening-17.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| krausening-17-py3-none-any.whl | Python 3 | none | any | Details for krausening-17-py3-none-any.whl |
Total release size: 12.5 kB
Release files / krausening-17.tar.gz
| Download URL | krausening-17.tar.gz |
|---|---|
| Size | 5.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8001197c0387dc01b7ff75673a809f6d7c7305ea54a75c11dd30834db17b8ff3
|
|
BLAKE2b-256 checksum How to use checksums |
cfd5bae55862e4e4016b7feaa8f738bf725774a61f1a7066fa8c431ee4cad858
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.11.3 Darwin/22.5.0
|
Release files / krausening-17-py3-none-any.whl
| Download URL | krausening-17-py3-none-any.whl |
|---|---|
| Size | 7.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f3b61a7bee0735f0379054b376dc9b8f16ba3bdd5858ba0eed88af155c6fa13d
|
|
BLAKE2b-256 checksum How to use checksums |
9a613b4b7183da315d09889352c9c94003e0c303c159322a35bb2282f0c7338e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.11.3 Darwin/22.5.0
|
Security for krausening 17
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.