NoSQL in-memory Tango DB for project testing
Project description
No SQL in-memory Tango database for testing.
It provides
- An human readable data structure based on Yaml to describe the content of a tango database;
- Helpers to launch such database in python for testing.
The code was previously at:
- https://github.com/tango-controls/pytango/blob/a8f6a3bfbf547f5b1bb22772280f0eb6e655486f/tango/databaseds/db_access/beacon.py
- https://gitlab.esrf.fr/bliss/bliss/-/commit/c17bcc328d337de856449e3826023dc9f7dac858
Connectors
Two connectors are provided using the same data structure:
beacon
using a Redis/Beacon infrastructure to store the database;yaml
using direct yaml files with in-memory only storage.
Command line
The database can be launched the following ways.
Using the actual Redis database:
NosqlTangoDB --port 10000 --db_access=beacon 2
Using a specifuc directory containing Yaml files:
NosqlTangoDB --port 10000 --db_access=yaml:tests/data/test1/ 2
Python
The following code can be used in Python projects.
It spawns the database process with a context manager.
The port is yield when the database is ready to be used.
It finally terminates the database process.
from nosqltangodb import helper
with helper.running_db(
name="2",
db_access="yaml",
yaml_root=yaml_root,
port="auto",
debug_protocol=True,
update_tango_host=True,
timeout=10,
) as db:
print("Tango DB port:", db.port)
Project release
# ~/.pypirc
[nosql-tango-db]
repository = https://upload.pypi.org/legacy/
username = __token__
password = pypi-...
pip wheel . --wheel-dir=dist
twine upload dist/nosqltangodb-*.whl -r nosqltangodb
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file nosqltangodb-1.0.4-py3-none-any.whl
.
File metadata
- Download URL: nosqltangodb-1.0.4-py3-none-any.whl
- Upload date:
- Size: 45.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b627d32f78f950e501eba15c4c347bc3087677a692b9e039a74c3fa93f8ba340 |
|
MD5 | b4151e4b8940c4847b80a8d284d40db6 |
|
BLAKE2b-256 | 8031d2289ee9819ab117202244435c101d4bab0c8a58fc35e1b346a744c98223 |