Time series downsampling in rust
Project description
tsdownsample
Extremely fast time series downsampling 📈 for visualization, written in Rust.
Features ✨
- Fast: written in rust with PyO3 bindings
- leverages optimized argminmax - which is SIMD accelerated with runtime feature detection
- scales linearly with the number of data points
- multithreaded with Rayon (in Rust)
Why we do not use Python multiprocessing
Citing the PyO3 docs on parallelism:
CPython has the infamous Global Interpreter Lock, which prevents several threads from executing Python bytecode in parallel. This makes threading in Python a bad fit for CPU-bound tasks and often forces developers to accept the overhead of multiprocessing.
In Rust - which is a compiled language - there is no GIL, so CPU-bound tasks can be parallelized (with Rayon) with little to no overhead.
- Efficient: memory efficient
- works on views of the data (no copies)
- no intermediate data structures are created
- Flexible: works on any type of data
- supported datatypes are
- for
x
:f32
,f64
,i16
,i32
,i64
,u16
,u32
,u64
,datetime64
,timedelta64
- for
y
:f16
,f32
,f64
,i8
,i16
,i32
,i64
,u8
,u16
,u32
,u64
,datetime64
,timedelta64
,bool
!! 🚀
In contrast with all other data types above,f16
argminmax is 200-300x faster than numpyf16
is *not* hardware supported (i.e., no instructions for f16) by most modern CPUs!!
🐌 Programming languages facilitate support for this datatype by either (i) upcasting to f32 or (ii) using a software implementation.
💡 As for argminmax, only comparisons are needed - and thus no arithmetic operations - creating a symmetrical ordinal mapping fromf16
toi16
is sufficient. This mapping allows to use the hardware supported scalar and SIMDi16
instructions - while not producing any memory overhead 🎉
More details are described in argminmax PR #1. - for
- supported datatypes are
- Easy to use: simple & flexible API
Install
pip install tsdownsample
Usage
from tsdownsample import MinMaxLTTBDownsampler
import numpy as np
# Create a time series
y = np.random.randn(10_000_000)
x = np.arange(len(y))
# Downsample to 1000 points (assuming constant sampling rate)
s_ds = MinMaxLTTBDownsampler().downsample(y, n_out=1000)
# Select downsampled data
downsampled_y = y[s_ds]
# Downsample to 1000 points using the (possible irregularly spaced) x-data
s_ds = MinMaxLTTBDownsampler().downsample(x, y, n_out=1000)
# Select downsampled data
downsampled_x = x[s_ds]
downsampled_y = y[s_ds]
Downsampling algorithms & API
Downsampling API 📑
Each downsampling algorithm is implemented as a class that implements a downsample
method.
The signature of the downsample
method:
downsample([x], y, n_out, **kwargs) -> ndarray[uint64]
Arguments:
x
is optionalx
andy
are both positional argumentsn_out
is a mandatory keyword argument that defines the number of output values***kwargs
are optional keyword arguments (see table below):parallel
: whether to use multi-threading (default:False
)
❗ The max number of threads can be configured with theTSDOWNSAMPLE_MAX_THREADS
ENV var (e.g.os.environ["TSDOWNSAMPLE_MAX_THREADS"] = "4"
)- ...
Returns: a ndarray[uint64]
of indices that can be used to index the original data.
*When there are gaps in the time series, fewer than n_out
indices may be returned.
Downsampling algorithms 📈
The following downsampling algorithms (classes) are implemented:
Downsampler | Description | **kwargs |
---|---|---|
MinMaxDownsampler |
selects the min and max value in each bin | parallel |
M4Downsampler |
selects the min, max, first and last value in each bin | parallel |
LTTBDownsampler |
performs the Largest Triangle Three Buckets algorithm | parallel |
MinMaxLTTBDownsampler |
(new two-step algorithm 🎉) first selects n_out * minmax_ratio min and max values, then further reduces these to n_out values using the Largest Triangle Three Buckets algorithm |
parallel , minmax_ratio * |
*Default value for minmax_ratio
is 4, which is empirically proven to be a good default. More details here: https://arxiv.org/abs/2305.00332
Handling NaNs
This library supports two NaN
-policies:
- Omit
NaN
s (NaN
s are ignored during downsampling). - Return index of first
NaN
once there is at least one present in the bin of the considered data.
Omit NaN s |
Return NaN s |
---|---|
MinMaxDownsampler |
NaNMinMaxDownsampler |
M4Downsampler |
NaNM4Downsampler |
MinMaxLTTBDownsampler |
NaNMinMaxLTTBDownsampler |
LTTBDownsampler |
Note that NaNs are not supported for
x
-data.
Limitations & assumptions 🚨
Assumes;
x
-data is (non-strictly) monotonic increasing (i.e., sorted)- no
NaN
s inx
-data
👤 Jeroen Van Der Donckt
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 Distributions
Hashes for tsdownsample-0.1.3-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55479a6e1b1fa60092b6d344a99d374ccba57a40d23f9fd4d2fcdd5faabf7d40 |
|
MD5 | 986f548d9524c95e9959d8e8e559f8c0 |
|
BLAKE2b-256 | ecad58285efa9cbad958ad64c01b79f50d26a4f30cb94f400589a2fbfed556a8 |
Hashes for tsdownsample-0.1.3-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63b730c96a539abd71863166c203310383b0f04b268e935e69fd68a2b7a4d27a |
|
MD5 | 9d4c88e8e611402c9da5c1d91d6d8188 |
|
BLAKE2b-256 | a4f53516f262e4e27906379ecdcefb32192d7af9c683e51fc3edeabd57627919 |
Hashes for tsdownsample-0.1.3-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a966c97138809f2c3fe627b3acfa041983123342f92f9782d4573d16155d6c77 |
|
MD5 | 420b6f41bbd10605e71b0e86abfbc412 |
|
BLAKE2b-256 | 52f59fcf4d3493d8add8f741a3fbea8cc1378f23bb99c424f9563aa8d0001d36 |
Hashes for tsdownsample-0.1.3-cp312-cp312-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76107f22e01135bc97f493083c623bab88c12a79b909ee931efa585f6543d3c9 |
|
MD5 | af3a9fbfa9667ae811f64b1eda8b3323 |
|
BLAKE2b-256 | 6f353c1ec013116c9598fce33afc0260de68d67e912a915cfe6fb7d03a6abbda |
Hashes for tsdownsample-0.1.3-cp312-cp312-manylinux_2_24_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09d705fe7a5a73aa97a486dbef8ed4b0b9a59e679ad2189eb9923c02c1321000 |
|
MD5 | cae6343947abd27607ba2e67045c7834 |
|
BLAKE2b-256 | d2d3c21b7d5de4614898a8847c8f4f81c398a356bbb4628a0aa796d8630c7d36 |
Hashes for tsdownsample-0.1.3-cp312-cp312-manylinux_2_24_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acd0bae11eb3777e47de41783b590c1d0f6bc25c85870cb8a5d9fd47797f3f8d |
|
MD5 | dd072cf3e8f05a76dcf88d2557d29158 |
|
BLAKE2b-256 | 186319ee001389f31b7a79d8dcd1768ff3c540547ae3adee508d39179894d44b |
Hashes for tsdownsample-0.1.3-cp312-cp312-manylinux_2_24_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35b0eb80cd5d1eaacab1818b6fa3374a815787c844e385fc57f29785714a357b |
|
MD5 | e4d04211a980cdc181f584dd11f481ce |
|
BLAKE2b-256 | 83126be0b887b9830328ffa6e28cbbb0cffc546bde10f2737b6a775c66b2d8bd |
Hashes for tsdownsample-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d59c184cac10edae160b1908c9ee579345033aaefe455581f5bd4375caada0b |
|
MD5 | 830c951c13454eb977e5a39f210261a5 |
|
BLAKE2b-256 | 1df10f09ee1d808d8dfc27493afae28d7cb3f381c4986ebad3df102d6854f957 |
Hashes for tsdownsample-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58788587348e88064bfdb88acbb1d51078c5b1fff934ed1433355d1dbf939641 |
|
MD5 | e60c5603bc99e0de109db117fb80c631 |
|
BLAKE2b-256 | 4ce2d32c3e82946971a8d81da66676b7012b0c6a849d934b362950a4372b8a24 |
Hashes for tsdownsample-0.1.3-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4eab94d2e392470e6e26bebdcbd7e600ad1e0edca4f88c160ed8e72e280c87aa |
|
MD5 | c11ed4575b16552c8bb264f2335d01e6 |
|
BLAKE2b-256 | 1e237502e9874c5e844a28636f0e747aa00f344c754fed7ce9d42011551da8c4 |
Hashes for tsdownsample-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb4ad7c0fea8267156e14c0c1a8f027b5c0831e9067a436b7888c1085e569aac |
|
MD5 | 8dba33b7db404ef58f61dbe1a88bbf17 |
|
BLAKE2b-256 | 3e61b0297a5b078bfa2dd37f30c210faaf7309b7e6bb0cd6c1cec725d5e903af |
Hashes for tsdownsample-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0822465103cde9688ecbbdad6642f3415871479bd62682bf85a55f0d156482c0 |
|
MD5 | 00b6e6bf8cd37efa44c62b8fdf75acb2 |
|
BLAKE2b-256 | 223a63ad3c50fba135ef69066f2ddf76c5c14995fa1273234413c59a6e7e24e7 |
Hashes for tsdownsample-0.1.3-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f97a858a855d7d84c96d3b89daa2237c80da8da12ff7a3a3d13e029d6c15e69d |
|
MD5 | aa5b06c6b9d22d41005bcc56290f468f |
|
BLAKE2b-256 | 66ac58ab1f1c86422cea13df0bf62dc0beb3d96f2c7831a4adcd49278df1f9fe |
Hashes for tsdownsample-0.1.3-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f0b70794d6ae79efc213ab4c384bbd3404b700c508d3873bbe63db3c48ab156 |
|
MD5 | 6b3c0f1e0001bb20422bd3ba0f5109ee |
|
BLAKE2b-256 | 325cf88feaad362d110fca3b301fd37ef656523d7f1e4599887e6f7c67743983 |
Hashes for tsdownsample-0.1.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4deb0c331cb95ee634b6bd605b44e7936d5bf50e22f4efda15fa719ddf181951 |
|
MD5 | ae9090302353039b7754fc2334067af0 |
|
BLAKE2b-256 | 46bc573d4193aa989c1367ea3bcaf7404ce21fc8366fb6ffd22d8c917aa68740 |
Hashes for tsdownsample-0.1.3-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0884215aae9b75107f3400b43800ce7b61ce573e2f19e8fb155fbd2918b0d0b3 |
|
MD5 | c0a446b25239c069247fc9e66c9502b8 |
|
BLAKE2b-256 | 15986affac5d3d892961439a4450701060359a7d563c1fb0761c9f1a85f579f6 |
Hashes for tsdownsample-0.1.3-cp311-cp311-manylinux_2_24_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d5bdcf9e09ee58411299ed5d47b1e9cdfaab61a8293cc2167af0e666aafcd4c |
|
MD5 | 67e0cab5a4a5b449245b301dd63f2b48 |
|
BLAKE2b-256 | 8e7432d027366693d24cfd4d8f828bc31c70a3579d265dc7fa8f14290769ae2e |
Hashes for tsdownsample-0.1.3-cp311-cp311-manylinux_2_24_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5d0ab1a46caf68764c36e6749d56d3c02ab39eb2f61ad700d8369dfe2861ad5 |
|
MD5 | eb13494080825cf7566f139bfb57f679 |
|
BLAKE2b-256 | 8ff4090b85ea94af212c11772f7d052822f276ded07d4c8dec95150807d57065 |
Hashes for tsdownsample-0.1.3-cp311-cp311-manylinux_2_24_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 757b62df7fa170ada3748f2ee6682948be9bbd83370dba4bf83929dfd98570a3 |
|
MD5 | 5f3eed390b6923ae4b53425f81d17e3d |
|
BLAKE2b-256 | d64b0040eec19099d3761e06dbedca0798ceecdefe901ef7e27742b64490c201 |
Hashes for tsdownsample-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08ed25561d504aad77ba815e4d176efe80a37b8761a53bf77bb087e08ae8f54b |
|
MD5 | 920f2565a633490f210c970baefb3b0d |
|
BLAKE2b-256 | 0751e0f59b86f93e31d5c813dffbc31cf65b512a427849438189f3be8a156394 |
Hashes for tsdownsample-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ec8f06d6ad9f26a52b34f229ed5647ee3a2d373014a1c29903e1d57208b7ded |
|
MD5 | 346f71776d3e7af753ec677dbc81a952 |
|
BLAKE2b-256 | 75c50731e8b331300900dc214f7316d8fac6ef28cdfce5bd2eb0e6f3c3fe0af3 |
Hashes for tsdownsample-0.1.3-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8762d057a1b335fe44eec345b36b4d3b68ed369ca1214724a1c376546f49dce9 |
|
MD5 | d363ffcaecf48cdce10f98c5fbf94192 |
|
BLAKE2b-256 | d838b0da147626d70a4fda599ebaf68725a9f85d65ecece7e4ca4f131718e82f |
Hashes for tsdownsample-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f547ad4b796097d314fdc5538c50db8b073b110aae13e540cd8db4802b0317f6 |
|
MD5 | 474c29dce167549f79d26d84be52e2a9 |
|
BLAKE2b-256 | 505320e415e48ebd7fb7f39b369dd25734b82eae7217ff58bbf49b2a0c677743 |
Hashes for tsdownsample-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 539bae2e1675af94c26c8eed67f1bb8ebfc72fe44fa17965fb324ef38cb9e70d |
|
MD5 | 0569b7d13eff01db14fbb869be951c94 |
|
BLAKE2b-256 | 1dd49189084a953dbb83deceb1c43f4b834986b4137f0d83059e8cb049012d74 |
Hashes for tsdownsample-0.1.3-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5493f021f96db43e35a37bca70ac13460e49de264085643b1bac88c136574d3 |
|
MD5 | 04826a27252ce46ac0cc17455fef6f9b |
|
BLAKE2b-256 | fdc87d086b66d4b3ba43cbbe8e8dd6f9a036064f6eea02a774f1c611da1efeab |
Hashes for tsdownsample-0.1.3-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cf6695ecf63ab7114a18ebeb12f722811ec455842391ac216bb698803abdaeb |
|
MD5 | d4e77dc1ef1a2b1606986099c38614fb |
|
BLAKE2b-256 | 2db72f856f723c10ca37a443a768b6e497db68b681353e7750f67455e8e422d5 |
Hashes for tsdownsample-0.1.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e268741155eff05125bd45f5ab32fd20daed293503c3749765eafab8fe3e12ef |
|
MD5 | bd5f6b96cb10b10f5fa9605242f342a5 |
|
BLAKE2b-256 | b724b0d4b17b978e69bcd7adb7e118f2f7b7609024ef538c2a34bb88390a8c1e |
Hashes for tsdownsample-0.1.3-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ef3ad8f8f0fac177bab09fe2e916034d8d3d64e1b0531f2b3df9ecc1b36f84b |
|
MD5 | 1bf3e744f57144a0fed178a017a232f6 |
|
BLAKE2b-256 | 6dbbcfae6170b3130d7c1b61159fe14b448ca2173a874eca50032618c5fc5c65 |
Hashes for tsdownsample-0.1.3-cp310-cp310-manylinux_2_24_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8d41957d44593c8fee21f89454303db9a9eb2cf0e556c0138c84157702b39a4 |
|
MD5 | e90028339c9ee1e58db0d40b59fba724 |
|
BLAKE2b-256 | 672eae9a842a1f1dca21703c262dedbee87453387db16079a231907774e088ee |
Hashes for tsdownsample-0.1.3-cp310-cp310-manylinux_2_24_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bab1f0258f41cff4f3968076946ff468641f2b6c32c624a278c2cdf47a5b3eff |
|
MD5 | 55703b37295d108a3f38052ab3d1f15e |
|
BLAKE2b-256 | 70745bb6d148ebfb3898e5b7725bfb2eaee04210ebc6fa121d09dc868ff79853 |
Hashes for tsdownsample-0.1.3-cp310-cp310-manylinux_2_24_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bce3ae95aa104ec0fbc4c37db5694ad3fa9bd09f5509f49215de157b78a99b2 |
|
MD5 | 64e6bb1a3f6e7b069c050031c1437470 |
|
BLAKE2b-256 | 7f62f92af3587e9d64471b6493a4d7bacd028ca1359f45f1b4cc62dba049e162 |
Hashes for tsdownsample-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66941f131ec096478483fdd9a80a408a12a0c01c85b0ebf9eb41445c2721eca6 |
|
MD5 | 51c404d70c4455535d29698d66240ea5 |
|
BLAKE2b-256 | 0c9f2f9a3ccd392d1957b8548be25398309031e35fcb4135d22f3eaf869fb242 |
Hashes for tsdownsample-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 721ae2a9a385e36fe688d43c877852ba0bab2056b6875cf86aee1d6dec8b567c |
|
MD5 | dffc71bc017b2466914e128d8d8eea88 |
|
BLAKE2b-256 | 0eaf01e1f16be0a36d564768632efed6d1cabf4f1ab2292eafd7f1845bfc885c |
Hashes for tsdownsample-0.1.3-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1cfb42437732825af4b4fd6964ba8632c3b7a8094648ea9fb940412c62973ae |
|
MD5 | f30c69a70decf41c1ab1e3c905964a71 |
|
BLAKE2b-256 | 6ed6ef9e3aa0b10f8044711b43a2d22ebc78977407499897cec3a33e3d5bccfe |
Hashes for tsdownsample-0.1.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1791225e0e610b8c883fd7c8237756901bd10af42240a98e747bdb1085ee4f7e |
|
MD5 | eee64dfbfaf523ce9cb95584765d294a |
|
BLAKE2b-256 | 161eb84d301e733bb42ae49d6b6de3aa8d02987a88ef7a7e6713f5144159c04a |
Hashes for tsdownsample-0.1.3-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1e8b04a17efb6f25a730467bedd0a1ceda165149707305309f9456041cf4e49 |
|
MD5 | 839c11076e5c258aa623470f17876590 |
|
BLAKE2b-256 | 2a8e699716abf35f43e91b8db37a93210c29224f1cabf89632e6122a7fd3b945 |
Hashes for tsdownsample-0.1.3-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d25567c0f15ca9e3f9d822934f60e5258e23a06d5515d12617518dc9f99f26f |
|
MD5 | 17eb1352806993d2977b1e584b419909 |
|
BLAKE2b-256 | 621b6fd4c8391af323f4bc34aa2a4f6502f85f22e12ac5494c1504322d25b8fb |
Hashes for tsdownsample-0.1.3-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74854a1b0c0a7a6581402769de12559cd9efeb1bb12ace831701aacfc0ddc140 |
|
MD5 | 3ff723aee33199aee2e82fc556c531a1 |
|
BLAKE2b-256 | 0c7f5d2f19666e503795c5b7863b71459480bf84b3e6da123f66137ac3322e43 |
Hashes for tsdownsample-0.1.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20bf49fec6a4371fd417ca75a4096bafce2a3d3263a89f89d5bfba70bd78e409 |
|
MD5 | a205f4341ae072d62a943e97f5b222ee |
|
BLAKE2b-256 | 2b6a5d845247cb05dfb2ad638ca461e3bae8cba98ea70099bd134045e2844904 |
Hashes for tsdownsample-0.1.3-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1fb3e646206593ee92630e27a725cf00a9e70e20af5a7032baa3de2d2943bc6 |
|
MD5 | ce277eca774884b01951d6bde18b53aa |
|
BLAKE2b-256 | 894e4f94c82b62067b32e310694456c4f3ac38cd0d484a9c431de8ce4b27e081 |
Hashes for tsdownsample-0.1.3-cp39-cp39-manylinux_2_24_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d67e05dc61002c9672582f516ecf9473a6eba710be8580e9c9f37b187d83762 |
|
MD5 | 3ee2dc80a551ab9f2cfce1656dea19d4 |
|
BLAKE2b-256 | 3bd178d80eefee606d8f008daba392ac9b4af7c7a891b8f0b5882aec6aacfac3 |
Hashes for tsdownsample-0.1.3-cp39-cp39-manylinux_2_24_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc348f7802e18c33a6d8e0386debfa92ffa679591551fece9f2d49c0501b5c35 |
|
MD5 | 3f590616ea202ed065eb1e693e7427ce |
|
BLAKE2b-256 | 7f94c79ddcb17455c57b86eba0cee713be697e03bdcacaadeb160326c8bb80b2 |
Hashes for tsdownsample-0.1.3-cp39-cp39-manylinux_2_24_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab6e9780f5a9d64b4692ac70f9a0aaf5a7bd499bc82e56b15e42e1a40e9f24a1 |
|
MD5 | 16b8f8219734898b4d09400d2ea807e5 |
|
BLAKE2b-256 | eba0c8eadba5631e8c5de6fa4cc4b4907159fce91f2b2ef8bb88915e9c53ca02 |
Hashes for tsdownsample-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac2d1141b0c3899bac018a6d8ed4b1baca2fb88ba8d8c9c7b1a4116f548c11a8 |
|
MD5 | 6872cb2f162244e64e57b1cea73ef701 |
|
BLAKE2b-256 | ba6c41725bf9f9d9eaeaab40c71516d7cd224849ef4c19bc6ca176e3f47ff5fc |
Hashes for tsdownsample-0.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 372b09627f39899b90605bd71ac481a9052f135b8c96d431255c3af6c383d0d4 |
|
MD5 | 600271cfb7e32cb9b6024022a157ceaa |
|
BLAKE2b-256 | d7d6415cc88e001072eea150c1d0af078f6ff5e399381123f33e742cb6b1410a |
Hashes for tsdownsample-0.1.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a44a101a1b7fa6b67d185a9f905bc0a9e0dcac6537b653a71f14dce71a451fa |
|
MD5 | 145d747f24911607691076b5f8f55e48 |
|
BLAKE2b-256 | c9cf9c0fa1f7db53f3d98179f74281bdeba54d0d3d704c411961ee33a4e0b8a8 |
Hashes for tsdownsample-0.1.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1715fa981e5406c0c7adef04cdcc4b1a4c88e422946dc104b82f1669605c6da7 |
|
MD5 | 8c61e2b0eeb339dbddd1e9300b681461 |
|
BLAKE2b-256 | 491237ce927f550d13655ea7ae6f8a4f348b6d5c7dc740716f82d186082a0b33 |
Hashes for tsdownsample-0.1.3-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23d3b2d24b36fa5d05bf7e2e2748565522f3c8afd29a706dbb22a8c6b2dc4a75 |
|
MD5 | af64ad70d87d87ee43197d20146fb876 |
|
BLAKE2b-256 | 86ee5ecc2bf6698d28b0c30f54ff75ce7517e555bb4431e5ef36e898a80f43c1 |
Hashes for tsdownsample-0.1.3-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9491a03ec700ad5ca0f555553b4da9b8285fc461c28f7970a61acf6b05d8f3ad |
|
MD5 | 9d77352f804987934daff409a96ff5b5 |
|
BLAKE2b-256 | 85e210bc9bc07ad26cf4189c72d6d0dc896b0b36fc2c543ec3c6d6e68991f5aa |
Hashes for tsdownsample-0.1.3-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e69e6d066c30e946aeb7c19ae7d2364ee6f1a072c8e47dee76825d86b5ad84be |
|
MD5 | 046272136458687618acd92f209cb025 |
|
BLAKE2b-256 | 4ec99d8cb6265f2b0ee5173b125af061dcc84f6014ae871148a6cb819fce2416 |
Hashes for tsdownsample-0.1.3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f2ba2ad61db5ef9617b1d6e764e9aabde63a391b1c8ee97098d348a9b9d883a |
|
MD5 | 48101b58ea0a5979f8ba71c8de316295 |
|
BLAKE2b-256 | 51788cc09b7c77e2c7565bcf4cfd2d75664e2a4eaf4f531fdeb159e060b6db34 |
Hashes for tsdownsample-0.1.3-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51d7a39b60d622f12beb1c04b404c7ab7743653eb74089b9663504675a9bfc62 |
|
MD5 | 9e03f8be4b7b27ef6b1d7b444d3e1e87 |
|
BLAKE2b-256 | 0ba2f2f63530c611c328bb2e252f0a5c7a7d14b14c7d867710e361376539bd35 |
Hashes for tsdownsample-0.1.3-cp38-cp38-manylinux_2_24_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0791339d9b8ddb78d1082a31ae880d00e4fa375147b8f2fdebc0915782e38ee |
|
MD5 | 093f91ac3f56e9112ce1939dfede6637 |
|
BLAKE2b-256 | 5c38239959c613d88093149a11a26989a37849e0f6bff04e3f21892b9030ccf3 |
Hashes for tsdownsample-0.1.3-cp38-cp38-manylinux_2_24_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23557544e1d8e767606b134b55c5c598bcc368d73ba904ff4fe91b93d8935531 |
|
MD5 | 0019b609ca2d87b07b1791200eb484f4 |
|
BLAKE2b-256 | 0610a635044afb65b911b21b28e33877e78c182ac7b8e0970c7e652383daa55c |
Hashes for tsdownsample-0.1.3-cp38-cp38-manylinux_2_24_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5293167ece8428f664ecd69302ecda32a6ad635d9aff6c21d1796198169e56bc |
|
MD5 | 6569c66ea8ce6176e62a82fb86bc02f6 |
|
BLAKE2b-256 | 28e818386e288ce006834635d14b6a2e35c398d96a7ec7ac3028fbb0321965e8 |
Hashes for tsdownsample-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 468752a26958c12a95ce583f46347e0c3eacb579323c3a230af27d50c3cabac5 |
|
MD5 | fc41220bd78317c34f2d977e58973707 |
|
BLAKE2b-256 | 5630497d70447bc8b2715b97a18464c85c4c1dc0aad332e9f93aaed680a33770 |
Hashes for tsdownsample-0.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a198ab5f2ce1c9d30077b13393295dfbecaaddee6d2b5ffee7439d454c108f3 |
|
MD5 | 9a53795400c0b2b341621e6ef68d5232 |
|
BLAKE2b-256 | f7d68709409e068c5a0907568ebd7b54778074f5a12ab032684526df45519fab |
Hashes for tsdownsample-0.1.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ccff0710fb2dac229f810877cb308087f1456610f1aa272524b69f551642ee2 |
|
MD5 | a5d5153d84745b5b5cbeedc81ad98f13 |
|
BLAKE2b-256 | 5edbf9e18b97938ba346faf4c6bbce882a5575ce91da0331d8e9cdd52339f0f8 |
Hashes for tsdownsample-0.1.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85a703c2d29dd0c7923b5b7d3c0eccc639a4087fbe8d0a0290506abcb8ef48bf |
|
MD5 | 5e0d36a6949991413adf3a50236ea22f |
|
BLAKE2b-256 | fa71aee083cb2cc7c7506b2bf7c1dd3e8e768908b0f93664deeb7555b97b93a1 |
Hashes for tsdownsample-0.1.3-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c22103ec83b363b9195cb62533ddf76eaff7b198014a4dd40a8d1a0a2e8c6fa7 |
|
MD5 | 78d3ecaf173f981c6f17b8bbe6337ebc |
|
BLAKE2b-256 | 260b50101119fe3e5ce2fdcf7b517a477c71208387be2b2a2eb42c206baff60e |
Hashes for tsdownsample-0.1.3-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 213d10479f06e98bb351bcf2f9b6b2c58632f6e4d27e200f224e7379b93775c2 |
|
MD5 | f82bf460e7b23fe59b6d6e21ad7dae28 |
|
BLAKE2b-256 | 1974983fc55d2e9d6d62d6c2062a5aaedb483c2bba8cec62902c2800f701999b |
Hashes for tsdownsample-0.1.3-cp37-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9afe1856a18cbd58726614805cac01b2a7259a8f31396413e7c3c0629fe1f72c |
|
MD5 | 8250ece2fe42d050803e72d913780347 |
|
BLAKE2b-256 | 1a77eedb0474518dc718d63fdb736109510b9093ccad8a754dcc3908329f5d59 |
Hashes for tsdownsample-0.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1f89a77976f2cd24b19fa15dd98fa1aec2acef83743d9d9e31bc5daad7de8a3 |
|
MD5 | ea7984a3385e370c16e7822fd9cf97dd |
|
BLAKE2b-256 | acb88dfc1106528532247b9339633998968cbfe102c661922edb7311b1681b78 |
Hashes for tsdownsample-0.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bc4d095c43947f6499603210270e1dd29919b9fb692655acbd5b1e7d7667102 |
|
MD5 | c536b55eb2adc6508ee35c1ebfd2377d |
|
BLAKE2b-256 | ad2889ab4c8fd82f8c5be53d4fecffe1f44f766aba5a743fd3ea6102d6567455 |
Hashes for tsdownsample-0.1.3-cp37-cp37m-manylinux_2_24_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4fa2115a8f46ff2d99958cd6652db84d09f4a1ac7cbafb62288e300df528b48 |
|
MD5 | 3e4ff919a908ccf06524df7514473c14 |
|
BLAKE2b-256 | c9aa0f9968e3a85c9b823a8442fdf763002cece60ce42bb4bc93468ceb46632d |
Hashes for tsdownsample-0.1.3-cp37-cp37m-manylinux_2_24_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d77f9fd7d69a44e0935ad5f32a02b76b53c9aed325824565948b2a0bb6d2e08 |
|
MD5 | 7726bc68d0ff8dc2e5b2226afa6a8362 |
|
BLAKE2b-256 | 72116e5a502acbb529e22671d4c3e6e604ffc8b2402baf223c1e243676dd64bf |
Hashes for tsdownsample-0.1.3-cp37-cp37m-manylinux_2_24_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5dd63a6a5358f52257775c83f66111fcdbd07cf70603a7d6271f5783b70bfaef |
|
MD5 | 5d8206f3a4d5fcc3dfca6ade8c4062f7 |
|
BLAKE2b-256 | cec8c9700f6afa0352139255b19651abed2a0ac4ada29266e11d20d9a5c2a5eb |
Hashes for tsdownsample-0.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e069bcf40b0ebf80d9f3a7f827cf26c60dde9b1474268a27e54f37daade1017d |
|
MD5 | a8e5a910cf42225b56bfa32bac38db49 |
|
BLAKE2b-256 | ce265c41f371fec9bc3e33edb107e1ad75059abba3b1a129aaa51626560d5ac3 |
Hashes for tsdownsample-0.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3157795be6fbd2de9e936a242aa7c00ce8ab2def12fdec49d74502a216b403e |
|
MD5 | 4dfa699cdd958609eba0929e8eb993f9 |
|
BLAKE2b-256 | 935e0f42a0f6e2e8bbeca209618c39ab68a8d1f46df69f1b113b654afdb1e4a3 |
Hashes for tsdownsample-0.1.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe138a297a504b2121c56e32afb2e645028177faef1a5152a3b080fe932bd458 |
|
MD5 | dfb2a7d735779a5b87911b87a8e6f71a |
|
BLAKE2b-256 | b04bd80b49b9e2bb6dfb1aaf7c83a2544b29de4929f537b70c24fa502a612b8d |
Hashes for tsdownsample-0.1.3-cp37-cp37m-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 982c4e885785f261d500c2d36f7054544313d0caacfc53c63fc47571f28194f3 |
|
MD5 | 9633be9c9482e75256261a8f9d44eaec |
|
BLAKE2b-256 | 6d08cc028c694453860a928557dce1f3e15135cd43fbbfeca208f630610dab56 |
Hashes for tsdownsample-0.1.3-cp37-cp37m-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3caa8906b87efa2277584dde851f214db4a3aa4d6d5c631b0ec40e7978271ac8 |
|
MD5 | 02ecee767e2fcec4697a8600bd0087fb |
|
BLAKE2b-256 | 4dbb2ffe83d9dec30a6ee2c9daf698d623ea4a55a872335cee85cd36b42fd5c8 |