Helper for type-II Slowly Changing Dimensions, as well as ISO Json loading and dumping
Project description
Type Two
Provides a simple set of classes for handling type-II slowly changing dimension style data. Also provides helper classes for reading and writing JSON payloads with ISO-compliant dates.
Example Usage: TypeTwo
rows = [
{"id": 1, "name": "Henry", "age": 34}
{"id": 2, "name": "Fred", "age" : 42}
]
history = TypeType(rows, RowKey("id"), from_field = "start", to_field = "end")
iter(history)
>>> {"id": 1, "name": "Henry", "age": 34, "start": datetime(1900,1,1), "end": datetime(2999,12,31)}
>>> {"id": 2, "name": "Fred", "age": 42, "start": datetime(1900,1,1), "end": datetime(2999,12,31)}
history += {"id": 1, "name": "Henry", "age": 37}
iter(history)
>>> {"id": 1, "name": "Henry", "age": 34, "start": datetime(1900,1,1), "end": datetime(2022,6,12,3,0,0)}
>>> {"id": 1, "name": "Henry", "age": 37, "start": datetime(2022,6,12,3,0,0), "end": datetime(2999,12,31)}
>>> {"id": 2, "name": "Fred", "age": 42, "start": datetime(1900,1,1), "end": datetime(2999,12,31)}
history += [
{"id": 1, "name": "Henry", "age": 99}
{"id": 2, "name": "Fred", "age": 99}
]
iter(history)
>>> {"id": 1, "name": "Henry", "age": 34, "start": datetime(1900,1,1), "end": datetime(2022,6,12,3,0,0)}
>>> {"id": 1, "name": "Henry", "age": 37, "start": datetime(2022,6,12,3,0,0), "end": datetimedatetime(2022,6,12,3,15,0)}
>>> {"id": 1, "name": "Henry", "age": 99, "start": datetime(2022,6,12,3,15,0),"end": datetime(2999,12,31)}
>>> {"id": 2, "name": "Fred", "age": 42, "start": datetime(1900,1,1), "end": datetime(2022,6,12,3,15,0)}
>>> {"id": 2, "name": "Fred", "age": 99, "start": datetime(2022,6,12,3,15,0),"end": datetime(2999,12,31)}
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
typetwo-1.0.10.tar.gz
(6.9 kB
view details)
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 typetwo-1.0.10.tar.gz.
File metadata
- Download URL: typetwo-1.0.10.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
293e1749067c60dcc4375ee77e8f502d220c785eda0cac83886420dfaf79a825
|
|
| MD5 |
79b725e60a2db44f6525db85edfcf8e2
|
|
| BLAKE2b-256 |
2e7307eca1fc9c53205e72d7ef02373794367847390988b829519bd31835eed9
|
File details
Details for the file typetwo-1.0.10-py3-none-any.whl.
File metadata
- Download URL: typetwo-1.0.10-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a71660776ec9a6d5c14ae0b0a052fff41c0552c6b76ae694f3e6478b7fded12c
|
|
| MD5 |
19b53685fd4a827b52e3150a447402bd
|
|
| BLAKE2b-256 |
690879db879bd95f7ed9bf8000e2dc766f1f5f9c4f8bd8549da0adef3b4fed67
|