Skip to main content

yamlsync

Yaml Sync is a very lightweight YAML-based cache for when you want to preserve the state of something on disk in a human readable way.

Installation

To install Yaml Sync, simply run:

pip install yaml-sync

Example usage

Here's a quick example of how to use Yaml Sync:

from yaml_sync import YamlCache

# Create a cache that reads and writes to the specified file
cache = YamlCache('cache.yaml', mode='rw')

# Save a key to the cache and write to disk
cache['hello'] = 'world'

# Check if a key is in the cache
assert 'hello' in cache

# Retrieve a key from the cache
variable = cache['hello']

# Save a list to the cache
cache['list_example'] = [1, 2, 3]

The resulting yaml will be:

hello: world
list_example:
  0: 1
  1: 2
  2: 3

You can pass number_lists=True at init to save any lists as a numbered dictionary. Since the goal of Yaml Sync is a human-readable file, the numbering may be desired in some cases.

If a value is None, that key is not returned for key in cache. e.g.

cache['empty_key'] = None
assert 'empty_key' in cache
# AssertionError

Finally, you can specify a preferred order to the keys, to control what is shown first in the yaml.

cache = YamlCache('cache.yaml', order=['b', 'a'])

cache['a'] = 'hello'
cache['b'] = 'world'
with open('cache.yaml') as f:
    print(f.read())
b: world
a: hello

License

This project is licensed under the MIT License.

Release files for yaml-sync 0.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 yaml-sync 0.2
File Size Uploaded
yaml-sync-0.2.tar.gz 3.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for yaml-sync 0.2
File Interpreter ABI Platform
yaml_sync-0.2-py3-none-any.whl Python 3 none any Details

Total release size: 8.5 kB

Release files / yaml-sync-0.2.tar.gz

Download URL yaml-sync-0.2.tar.gz
Size 3.9 kB
Tags Source
SHA-256 checksum
How to use checksums
aea580a6a72ef325daa62695a3d1d67d0634725e2030af21d2e9ed8b4480703f
BLAKE2b-256 checksum
How to use checksums
6cb108abf8bca13d103103a3db3bddf420fe5e90503583a0b1597c17e5931f34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.12

Release files / yaml_sync-0.2-py3-none-any.whl

Download URL yaml_sync-0.2-py3-none-any.whl
Size 4.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1515455d9194d97145f74297cd8f202fa94845b6d3db16d37afc2e7527056cde
BLAKE2b-256 checksum
How to use checksums
26ee9dfd24a17510811c6a7e87335b27027b71ea5d50a1eb6a6ef57642c61178
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.12

Release history Release notifications | RSS feed

This release

0.2 This release

2 release files

0.1.1

2 release files

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