Skip to main content

mdfr

ASAM mdf reader in rust

Currently a personal project to learn rust from past experience with python (mdfreader).

mdfr is currently able to be used from python interpreter (using pyO3) to read mdf 3.x and 4.x files. You can install it with 'pip install mdfr' command. It can be used in pure Rust environment as python-polars, numpy, pyo3 are optional features. You can use the Mdfr struct with its methods and eventually its rust-polars methods to manipulate data. Using rayon crate on many parts of the code allows to have fast parsing in a safe and easy way compared to python. To allow efficient data sharing with many other tools, mdfr stores the data using arrow. Polars (pandas equivalent) use is therefore also straight forward. A C/C++ api is also available allowing to get list of channels, units, description and data using the Arrow CDataInterface.

It can be used the following way with python interpreter:

import mdfr
# load file metadata in memory
obj = mdfr.Mdfr('path/to/file.mdf')
# loads all data in memory
obj.load_all_channels_data_in_memory()
# loads a set of channels in memory, for instance in case there is not enough free memory or for performance
obj.load_channels_data_in_memory({'Channel1', 'Channel2'})
# Returns the numpy array
obj.get_channel_data('channel_name')

# .get_channel_* methods to retrieve channel description, unit, related master name, type and data
# .set_channel_* methods to modify channel description, unit, related master name, type and data
# list of channels in file, or lists of channels grouped by master are available
obj.get_master_channel_names_set()

# To manipulate the file data (cut, resample, merge, etc.), it is possible to use polars:
obj.get_polars_series('channel_name') # returns the polars series
# to get complete dataframe including given channel:
obj.get_polars_dataframe('channel_name')
# add and remove channel
obj.add_channel(channel_name, data, master_channel, master_type, master_flag, unit, description)
# to plot a single channel with matplotlib:
obj.plot('channel_name')

# Export to parquet:
obj.export_to_parquet('file_name', compression_option)
# Export to hdf5:
obj.export_to_hdf5('file_name')
# write to mdf4 file, compressed or not
obj.write('file_name', conpression_algo)

It can also be used from Rust directly with the polars feature enabled:

# Cargo.toml
[dependencies]
mdfr = { version = "0.6", features = ["polars"] }
use mdfr::mdfreader::Mdf;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut mdf = Mdf::new("path/to/file.mf4")?;
    mdf.load_all_channels_data_in_memory()?;

    // Single channel as a Polars Series
    let series = mdf.get_channel_polars_series("channel_name")?;
    println!("{}", series);

    // All channels sharing a master as a DataFrame
    // pass None for channels that have no master channel
    let df = mdf.get_channel_polars_dataframe(Some("master_channel_name"))?;
    println!("{}", df);

    // All channel groups as a map of DataFrames keyed by master channel name
    let dataframes = mdf.get_polars_dataframes()?;
    for (master, df) in &dataframes {
        println!("master: {:?}\n{}", master, df);
    }

    Ok(())
}

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 Distributions

If you're not sure about the file name format, learn more about wheel file names.

mdfr-0.7.3-cp314-cp314-win_amd64.whl (4.0 MB view details)

Uploaded CPython 3.14Windows x86-64

mdfr-0.7.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

mdfr-0.7.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

mdfr-0.7.3-cp314-cp314-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

mdfr-0.7.3-cp313-cp313-win_amd64.whl (4.0 MB view details)

Uploaded CPython 3.13Windows x86-64

mdfr-0.7.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

mdfr-0.7.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

mdfr-0.7.3-cp313-cp313-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mdfr-0.7.3-cp312-cp312-win_amd64.whl (4.0 MB view details)

Uploaded CPython 3.12Windows x86-64

mdfr-0.7.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

mdfr-0.7.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

mdfr-0.7.3-cp312-cp312-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mdfr-0.7.3-cp311-cp311-win_amd64.whl (4.0 MB view details)

Uploaded CPython 3.11Windows x86-64

mdfr-0.7.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

mdfr-0.7.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

mdfr-0.7.3-cp311-cp311-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mdfr-0.7.3-cp310-cp310-win_amd64.whl (4.0 MB view details)

Uploaded CPython 3.10Windows x86-64

mdfr-0.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

mdfr-0.7.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

mdfr-0.7.3-cp310-cp310-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

mdfr-0.7.3-cp39-cp39-win_amd64.whl (4.0 MB view details)

Uploaded CPython 3.9Windows x86-64

mdfr-0.7.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

mdfr-0.7.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

mdfr-0.7.3-cp39-cp39-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file mdfr-0.7.3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: mdfr-0.7.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mdfr-0.7.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 549034b37ed404a692841853771391bd044a8e8a0c315d361b946bd280d8ca77
MD5 a0fda6f4150cb70529f9628093069437
BLAKE2b-256 4d6f4db321f59e48edfe93027d59041a0222b35c67189e084a755be433e8985f

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 309b13ad4cbaca2ddf734a3057b1157ec8c1aa7ecdadd1bf1284e9546d59e7c4
MD5 a3d806b779b94f2cc818d3f076e50ad8
BLAKE2b-256 6f28daa81438a26b8955ec7a726836b1707bdc509ede6e58234c668cb0422d11

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5519442c5945ccfe882e9438ae67959fffdbf6a1f4399379dba22c2878b3f9bf
MD5 1fe7b28d64567ca455771976917e0b2e
BLAKE2b-256 dcf72444468764eb60d3969c8a7bfdd7c16e9734606b70d5b4c305377a808627

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dc517ce8c69add0994c40712de31ff00effff037e306a398ea066e67e85f64bd
MD5 317b17932d9491e77525acd093966871
BLAKE2b-256 cb9f4c2b9db2cf5db139a478a5ee0c6dd9f82636a6b4776c756d6a3e92899a78

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: mdfr-0.7.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mdfr-0.7.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7a373f8dc299bcfee3017b751c222d1a8444325e02420ca2bce3a6c013e3891a
MD5 449b92395f753b1dac8bda2ad965728e
BLAKE2b-256 ae0609f50000fadb572b69eac1aac945c0d402583242074203af8edd50c08ef3

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b7c87fa85ec885e0df61ecf76b361e649117c8927bf43dc2dfec3a88b9b46f96
MD5 555b9da0eb53a0247cd8694a9269560a
BLAKE2b-256 81f6fde4f36bef8d8d67e0d416b482e4f1895131d2987dcb07baa79dcfacae21

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 526828726db87d07ebb754a2bfea45945f9f06595209754b7c590292a95d5a95
MD5 6dbdf3b2e3a29dc52102209910b62768
BLAKE2b-256 b6cf55390d2c27b8d8666f2d46622e676213861a084245ed31197ef7d24ce288

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e950b64e7055cffc8cc9f4f6c18c05495a731d36590c6ee71869637d22194f5b
MD5 2a46cc066d62e6f871dcc17701d5bcd4
BLAKE2b-256 21bd6a4e9416ca68349a6568405d831d1522e9c321d60dd691b5f244d751f05f

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: mdfr-0.7.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mdfr-0.7.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4ba8666f6f15a5a5deae5f9679714f45c0e61cf7b99ddc2b207f3ad86cd8227c
MD5 765bd6a5606cb929ce8da01a473c20d2
BLAKE2b-256 7158dec8c25f7a829f2206825745624a3eb5ce03eae38bf5c2717eb7c43d233a

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 93e38d87bb4435da833b54a9094e602de722c0fb8a7e0d1cae9d1a02c66a9cdb
MD5 a49613c139fb01f6fda5368214c4938a
BLAKE2b-256 a3ddff0540ce2ab833f83a254e98b2daad16543d2b636a97ca2876afd211b039

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 11af1d95064e0fd1e0fba0e94cad3b9b2e9a55c58a608a0e496caa6430410456
MD5 a43c62366a4bb920928f6eb139c8053c
BLAKE2b-256 eac973abe729c0e0f5f32176b1d3be1e98c0bb6c1afc32e11a032818f4e20434

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d668047d28c8b7a8667297f1d070a7d0f0d50de654e7d77864fc098e7b716648
MD5 87655e532099b8008028cf70c6b18f69
BLAKE2b-256 85ef7e112f6bdc9fa4d486e656e9110ef4c02ddcaa314a42fc29db708afd70e3

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: mdfr-0.7.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mdfr-0.7.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5c3052fe7ee7c24a1ca7a1b03c2264edc75547127de1dff91d5d6bc00735c14a
MD5 5e92678cd1f106fe6bfed7f5cf4469ef
BLAKE2b-256 edfbf510a17d4a5087c007fbe9db3e033fa24288c33e04327862e1ad95835550

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 854c6b1b67c9f49b1d4fd46b4878e4b9821032369c79ca82a6c36e7049077a98
MD5 5f73892509d5b3b17cbacaee120f9e1c
BLAKE2b-256 325c9f56a07728fdadbaccb5c86742b1532f34870fb0628b464984a2ef283a09

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 170a57ce1b6703e196c691b420e60ea716e1bbf6032a355a2d67593a53e9498d
MD5 e330e86d04fab7fa5b7e8bac9b31a5c3
BLAKE2b-256 bb522ad02376e2122d5427aff736fc933e517e6d56dada9ce3ce419b5b966f40

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7cce377e9c5b060b0669be22a90665e0e7f7340606016f1d846e607a058ea19c
MD5 846f142f1bd54180593e03d6ce12d2bf
BLAKE2b-256 654c0d8895bfaa61653e56c94eca2bcff231d138e5ac24c5e64e60d75ef562fc

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: mdfr-0.7.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mdfr-0.7.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 457bc436be6dd359bf06cee48f9abf591d575bc30d8437b8a7711f4299b9d3a0
MD5 fd51cfdc6c23b742712c6ccf48980ed0
BLAKE2b-256 8b67efd455beeb00d723d6c7cd2a7c23f0711be089a349d83ddd1496275b34e9

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4fd0fd4c45eebddfbb2335a8abbb18b08f014be918c014db157b0741bf8aa1d2
MD5 29f321e8ab3c7f267d417d41b2e88c0f
BLAKE2b-256 0f5a563203d07e1671b048706cca9575b2ea5ebf3dc62438951d69afae6caf8b

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cb638105433d0bf898cae8392e96a3d5bf8b94371d1ec055ff8c93dd7fd5c1a1
MD5 6aeb162f0e6ff7ea9670759922f72e01
BLAKE2b-256 bdc9fa595434f3f4e33a788d477f2b8ea09a0f655991546184b34211d169ac1f

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 585672df41a201c52aa91208d051481f06645cd1eb4ccdecd0cfdc05d9cc8fbc
MD5 3af495e4d9e5c64eed59ac6d006bb8b5
BLAKE2b-256 b117710b1b6f7797b4bf392773381d5bcc7f419721f898f144dc34bc7c01fbb1

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: mdfr-0.7.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mdfr-0.7.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 00a7f3149cb66eb1583482da36c00bbe05b54dcaac32ebab3aa02cf0babcdbb3
MD5 8b793ebb185573ee13174146da2095b7
BLAKE2b-256 2db6b23f7b8072a99762cb808282f929e24c9e4a5757f6e72fa924adb1817b37

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 747858466066fe17483a5126e47a8e263f608f01af32f9e9437424ad61652eca
MD5 4bc266c3db0b31cca569957e91935baa
BLAKE2b-256 652f8f1a7b7662328c75c04f769d2b2b8aeac473c5edb61d303c51497b7f1c71

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mdfr-0.7.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2df014be549c181194660ada27a0acd59add1596a4c2516dcedf6de6d6049109
MD5 c44bf4fed2041038cbeac3daacb8836b
BLAKE2b-256 e8abf7a7c91385b765da96e08d7b395d6da694ca8d8cf386c929bf5387c3139a

See more details on using hashes here.

File details

Details for the file mdfr-0.7.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: mdfr-0.7.3-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mdfr-0.7.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bc147d15c5798211fc107ed516b5ebf4de1341932f88629602d5ca51956f2558
MD5 723561e71d3c844abb7670298683f256
BLAKE2b-256 db01c1d10e3391566463da4bc4c7852fb4d27e2135628263ad1ceed85c49ac99

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.7.3 This release

24 files

0.7.2

24 files

0.7.1

24 files

0.7.0

24 files

0.6.6

24 files

0.6.5

24 files

0.6.3

16 files

0.6.2

10 files

0.6.1

10 files

0.6.0

14 files

0.5.0

14 files

0.4.3

14 files

0.4.2

14 files

0.4.1

14 files

0.4.0

13 files

0.3.0

16 files

0.2.2

12 files

0.2.1

11 files

0.2.0

12 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