Skip to main content

Synchronizer design pattern library

Project description

Description

This system is dedicated to help to synchronize data of resources.

License Development Status Latest release Supported Python versions Supported Python implementations Download format Build status Code test coverage Downloads Documentation Status Code Health

Installation

pip install b3j0f.sync

Features

The global architecture is composed of four classes:

  • Synchronizer: class which is linked to several stores in order to propagate data CRUD operations on these last ones.

  • Store: class which represents a set of data, and uses one Accessor per data type in order to access to self data.

  • Accessor: class which permits to access and create data.

  • Data: specific to an accessor, it is the abstraction class used to exchange data information among stores.

Therefore, one Store can be used by several synchronizers, and one Accessor can be used by several Stores.

The Synchronizer and the Store are configurables (see b3j0f.conf). Configuration files are installed in the ~/etc/ directory.

If you want to specialize this system to your own needs, you have to extend abstract classes with implementation of 6 CRUD methods for the Accessor.

The system does not use semantical mechanisms, therefore, the system is in a best effort mode instead to be exhaustive.

Examples

  • b3j0f.dmts: development management tool synchronizer.

Limitations

Name limitation

In order to ensure data consistency among several stores, the system choose to find any data from its name and context name (aka, name of embedding data).

Therefore, this system is not able to synchronize data which are of the same type of other data, in the same context, and with the same name.

Perspectives

  • break the name limitation with a store dedicated to ensure correspondance between store data ids.

  • use a data id of type int instead of type str, for memory reasons.

  • wait feedbacks during 6 months before passing it to a stable version.

  • Cython implementation.

Donation

I'm grateful for gifts, but don't have a specific funding goal.

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

b3j0f.sync-0.0.3.zip (32.3 kB view details)

Uploaded Source

b3j0f.sync-0.0.3.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

b3j0f.sync-0.0.3-py2.py3-none-any.whl (28.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file b3j0f.sync-0.0.3.zip.

File metadata

  • Download URL: b3j0f.sync-0.0.3.zip
  • Upload date:
  • Size: 32.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for b3j0f.sync-0.0.3.zip
Algorithm Hash digest
SHA256 77f57dd69ac0bbafcef199402d4286513ce704efc08a28cce1b962ff8d037069
MD5 4a4a060b7ccda0a309dbf5fc50e538e2
BLAKE2b-256 0a3b3c676b967449918b24790fc0240062d225bda876a181c8ea21da320bc92a

See more details on using hashes here.

File details

Details for the file b3j0f.sync-0.0.3.tar.gz.

File metadata

  • Download URL: b3j0f.sync-0.0.3.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for b3j0f.sync-0.0.3.tar.gz
Algorithm Hash digest
SHA256 2a2db6756bddb160702fd8507e9b2469bb22529cf6db763fda085a2c8b55d8af
MD5 c73b43ff212262793af8e321fa402333
BLAKE2b-256 bb6347064641e15089d30c775cd83821df981cadace6e75ada38d10a315396bd

See more details on using hashes here.

File details

Details for the file b3j0f.sync-0.0.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for b3j0f.sync-0.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a79495b2fae46e4da90f580a17e30f3e1644dbac04ac2fac325d076e767dd7d8
MD5 3963fab78f5cffc1767fb1185c775887
BLAKE2b-256 728186b454499a3141456a570c0a1190662849021f3e660379c447ab779c2459

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page