A factory for simplekv-Store-based storage classes. Takes configuration values and returns a simplekv-Store
Project description
.. image:: https://travis-ci.org/JDASoftwareGroup/storefact.svg?branch=master :target: https://travis-ci.org/JDASoftwareGroup/storefact .. image:: https://codecov.io/gh/JDASoftwareGroup/storefact/branch/master/graph/badge.svg :target: https://codecov.io/gh/JDASoftwareGroup/storefact .. image:: https://readthedocs.org/projects/storefact/badge/?version=latest :target: http://storefact.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status
=========================== Store factory for simplekv_
A factory for simplekv_-Store-based storage classes. Takes configuration values and returns a simplekv_-Store.
This allows one to easily deploy a blob-based store in production, but test with a filesystem-based store in development. The following simplekv_-Stores are supported in storefact:
- DictStore
- RedisStore
- FilesystemStore
- BotoStore (Amazon S3)
- AzureBlockBlobStorage
Storefact is released as open source under the 3-clause BSD license.
.. _simplekv: https://github.com/mbr/simplekv
Installation
::
pip install storefact
Usage
There are two possibilities to use storefact.
- Use a dictionary with configuration data (e.g. loaded from an ini file)
.. code-block:: python
from storefact import get_store
params = {
'account_name': 'test',
'account_key': 'XXXsome_azure_account_keyXXX',
'container': 'my-azure-container',
}
store = get_store('azure', **params)
store.put(u'key', b'value')
assert store.get(u'key') == b'value'
- Use an URL to specify the configuration
.. code-block:: python
from storefact import get_store_from_url, get_store
store = get_store_from_url('azure://test:XXXsome_azure_account_keyXXX@my-azure-container')
store.put(u'key', b'value')
assert store.get(u'key') == b'value'
URL and store types:
- In memory: :code:
memory://and :code:hmemory://. - Redis: :code:
redis://[[password@]host[:port]][/db]and :code:hredis://[[password@]host[:port]][/db] - Filesystem: :code:
fs://and :code:hfs:// - Amazon S3: :code:
s3://access_key:secret_key@endpoint/bucket[?create_if_missing=true]and :code:hs3://access_key:secret_key@endpoint/bucket[?create_if_missing=true] - Azure Blob Storage (:code:
azure://and :code:hazure://):- with storage account key: :code:
azure://account_name:account_key@container[?create_if_missing=true][?max_connections=2] - with SAS token: :code:
azure://account_name:shared_access_signature@container?use_sas&create_if_missing=false[?max_connections=2&socket_timeout=(20,100)] - with SAS and additional parameters: :code:
azure://account_name:shared_access_signature@container?use_sas&create_if_missing=false[?max_connections=2&socket_timeout=(20,100)][?max_block_size=4*1024*1024&max_single_put_size=64*1024*1024][?default_endpoints_protocol=http&blob_endpoint=http://localhost:2121]
- with storage account key: :code:
Storage URLs starting with a :code:h indicate extended allowed characters. This allows the usage of slashes and spaces in blob names.
URL options with :code:[] are optional and the :code:[] need to be removed.
Documentation
The documentation can be found on readthedocs_.
.. _readthedocs: https://storefact.readthedocs.io/
Development
To run the all tests run::
tox
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file storefact-0.11.0.tar.gz.
File metadata
- Download URL: storefact-0.11.0.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.2.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/2.7.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2140655072b30e5feb1e5a78e667c2c03c791812cc22aed771fbcc9d346bc828
|
|
| MD5 |
1281fd0624c4024e223412c154819501
|
|
| BLAKE2b-256 |
4fe600eb9398d02ea1d04cf9e4a17994563238d3a57365e65cdd9946f1b07cfd
|
File details
Details for the file storefact-0.11.0-py2.py3-none-any.whl.
File metadata
- Download URL: storefact-0.11.0-py2.py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.2.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/2.7.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d110b9726a7e5b209a4a4d86ee3a025b9aff0550669a532fba089de55b8ed4a0
|
|
| MD5 |
3edfc4e2b3b54839bcc44ba9d93a7ecb
|
|
| BLAKE2b-256 |
34e86ca2b65f96b38d5249f9d5ca643bb66585a413f0b66f4f8797cdb3801f8a
|