Skip to main content

waveforms

View build status Coverage Status PyPI version

Form waveforms used in experiment.

Installation

We encourage installing waveforms via the pip tool (a python package manager):

python -m pip install waveforms

To install from the latest source, you need to clone the GitHub repository on your machine.

git clone https://github.com/feihoo87/waveforms.git

Then dependencies and waveforms can be installed in this way:

cd waveforms
python -m pip install numpy
python -m pip install -e .

Usage

import numpy as np
import matplotlib.pyplot as plt

from waveforms import *

pulse = cosPulse(20e-9)

x_wav = zero()
y_wav = zero()

I, Q = mixing(0.5*pulse, freq=-20e6, DRAGScaling=0.2)
x_wav += I
y_wav += Q

I, Q = mixing(pulse >> 1e-6, freq=-20e6, phase=np.pi/2, DRAGScaling=0.2)
x_wav += I
y_wav += Q

I, Q = mixing((0.5 * pulse) >> 2e-6, freq=-20e6, DRAGScaling=0.2)
x_wav += I
y_wav += Q


t = np.linspace(-1e-6, 9e-6, 10001)
plt.plot(t, x_wav(t))
plt.plot(t, y_wav(t))
plt.show()

Unified binary representation

Waveform is the common base class for every signal object. RealWaveform and ComplexWaveform are concrete waveforms; WaveVStack is the common stack base, with RealWaveVStack and ComplexWaveVStack as its concrete forms. The original construction style remains unchanged and automatically selects the compact C core for common pulses and repeated-pulse stacks:

import waveforms as wf

# The default tick is already the period of 120 GHz (1 / 120e9 seconds).
# To use another global tick, override it before constructing/loading waveforms:
# wf.set_time_resolution(1e-12)

pulse = (wf.gaussian(12e-9) >> 20e-9) * wf.cos(2 * wf.pi * 5e9)
data = pulse.to_bytes()
restored = wf.Waveform.from_bytes(data)

assert isinstance(pulse, wf.Waveform)
stack = wf.WaveVStack([pulse, pulse >> 40e-9])
assert isinstance(stack, wf.RealWaveVStack)
assert isinstance(stack, wf.WaveVStack)

The C block format stores signed 64-bit ticks using a process-wide clock. The default is 120 GHz. A different process-wide time resolution may be selected before the first waveform is constructed; the same C representation and evaluator continue to be used. The setting is locked by the first object.

sample() has integer-grid fast paths for 500 MHz, 1 GHz, 1.2 GHz, 2 GHz, 2.4 GHz, 2.5 GHz, 4 GHz, 6 GHz, 8 GHz, and 10 GHz. Real waveforms can be quantized directly to signed DAC buffers:

pulse.start = 0
pulse.stop = 100e-9
dac16 = pulse.sample(2_400_000_000, dtype=np.int16, full_scale=1.0)

The low-level cores store and evaluate real-valued signals only. Complex signals are represented in Python as independent real and imaginary channels:

z = (1 + 0.25j) * wf.gaussian(12e-9)
assert isinstance(z, wf.ComplexWaveform)

stack = wf.ComplexWaveVStack([z, z >> 20e-9])
samples = stack(t)  # complex NumPy array

Real waveforms and stacks therefore avoid complex storage and arithmetic for the common real-valued case. ComplexWaveform.real and .imag expose the two real channel waveforms.

Post-sampling nonlinear calibration

NonlinearMap compiles one monotone branch of calibration samples to a compact native lookup table. A centered map is useful when a waveform describes a frequency excursion around an idle point:

frequency = np.array([4.0e9, 4.5e9, 5.0e9, 5.5e9, 6.0e9])
flux = np.array([0.31, 0.22, 0.08, -0.06, -0.16])

frequency_to_flux = wf.NonlinearMap.from_samples(
    frequency,
    flux,
    method="monotone_cubic",  # PCHIP compiled to uniform cubic segments
    reference=5.0e9,          # map(0) == 0 around the idle frequency
    dtype=np.float32,
    extrapolate="error",
)

trajectory.start = 0
trajectory.stop = 200e-9
trajectory.sample_rate = 2_400_000_000
trajectory.nonlinear = frequency_to_flux
flux_samples = trajectory.sample(dtype=np.int16)

The sampling order is waveform accumulation, nonlinear mapping, optional SOS filtering/predistortion, output amplitude limits (min/max), and finally integer quantization or floating-point output. This is important for WaveVStack: the map is applied to the accumulated trajectory rather than to each pulse event independently. method="linear" selects the smaller and fastest two-point interpolation path. Maps serialize independently through to_bytes()/from_bytes() using the language-neutral NLM1 format.

Every waveform and stack has output limits, defaulting to min=-np.inf and max=np.inf. A stack ignores its child waveforms' limits and uses only its own:

stack.min = -0.2
stack.max = 0.3
samples = stack.sample()  # limit after the complete calibration/filter chain

Limits apply to whole and chunked sampling, including out= buffers and integer output. Complex signals limit I and Q independently; sample_iq() uses the same final limits. The filter state continues from the unclipped filtered signal across chunks. DAC full_scale controls integer conversion and saturation separately from these amplitude limits.

Real-coefficient SOS filters (filters=(sos, initial)) run in the C core for float64 and complex128 signals. This stage subtracts the baseline initial, applies the cascade, restores the baseline, and applies the final limits. Real int16/int32 output is quantized in the same stage, without allocating a full filtered floating-point buffer. Float output can reuse the sampled buffer. A small fixed scratch buffer keeps filtering and conversion local; waveform evaluation and nonlinear mapping still precede this stage. Complex coefficients and extended precision retain the SciPy implementation. sample_iq() still converts the filtered complex result into separate I/Q output arrays. See the SOS benchmark.

Calling waveform(t) directly evaluates with amplitude limits but without nonlinear calibration or filtering. Sampling evaluates the underlying signal without limits before applying its processing chain. Limits are sampling metadata preserved by pickle, not part of the raw WNF4/WNS4 binary blocks.

Reporting Issues

Please report all issues on github.

License

MIT

Metadata

Release files for waveforms 3.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for waveforms 3.5.1
File Size Uploaded
waveforms-3.5.1.tar.gz 114.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for waveforms 3.5.1
File
waveforms-3.5.1-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
waveforms-3.5.1-cp314-cp314t-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.31+ x86-64, Linux glibc 2.34+ x86-64 Details
waveforms-3.5.1-cp314-cp314t-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ universal2 (ARM64, x86-64) Details
waveforms-3.5.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
waveforms-3.5.1-cp314-cp314-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.31+ x86-64, Linux glibc 2.34+ x86-64 Details
waveforms-3.5.1-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details
waveforms-3.5.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
waveforms-3.5.1-cp313-cp313-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.31+ x86-64, Linux glibc 2.34+ x86-64 Details
waveforms-3.5.1-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details
waveforms-3.5.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
waveforms-3.5.1-cp312-cp312-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ x86-64, Linux glibc 2.31+ x86-64 Details
waveforms-3.5.1-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details
waveforms-3.5.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
waveforms-3.5.1-cp311-cp311-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ x86-64, Linux glibc 2.31+ x86-64 Details
waveforms-3.5.1-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details
waveforms-3.5.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
waveforms-3.5.1-cp310-cp310-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.31+ x86-64, Linux glibc 2.34+ x86-64 Details
waveforms-3.5.1-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details

Total release size: 15.1 MB

Release files / waveforms-3.5.1.tar.gz

Download URL waveforms-3.5.1.tar.gz
Size 114.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f90fbfc3aafa446553e57ea3c4ff4b714daa0dd6f21e6462d25367b35a8ff3d2
BLAKE2b-256 checksum
How to use checksums
ef87f3747af14714c8324cc71b66ff8ffcd6dd42dd8768eedb87ed8ee8921b44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp314-cp314t-win_amd64.whl

Download URL waveforms-3.5.1-cp314-cp314t-win_amd64.whl
Size 326.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
a9074e9ae98e832741853b39022867dbe76b4321d4942f9286e3bf45198789b6
BLAKE2b-256 checksum
How to use checksums
2385b6b915c53c08468c147119a66e87498b06877d838f6817bb92b832c43e83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp314-cp314t-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl

Download URL waveforms-3.5.1-cp314-cp314t-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl
Size 1.5 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.31+ x86-64 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
6b08978ac89fc249be344e01c9c10651a437730a0c54b0166969075f3d7afb39
BLAKE2b-256 checksum
How to use checksums
bee49bf437f854699e57db638719f7489e00ab49ca3cece962c6b25e86b5cdc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp314-cp314t-macosx_10_15_universal2.whl

Download URL waveforms-3.5.1-cp314-cp314t-macosx_10_15_universal2.whl
Size 615.4 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
bba98c639458335496af6534642cffaa5334140768bbaa09e1fae3650d144d34
BLAKE2b-256 checksum
How to use checksums
13dc8fa085d151dfc5117e200753706f4bd22656f090062b6ad875e87740ad31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp314-cp314-win_amd64.whl

Download URL waveforms-3.5.1-cp314-cp314-win_amd64.whl
Size 316.0 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
f68911672ddb656031f1f658fff0d4ce8fa0d8f8f1209c173a44496aa88b1ffb
BLAKE2b-256 checksum
How to use checksums
fdba2fbeec207e26a44a953b61bb965bda08f35826413da6d9b479b0fcfd110c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp314-cp314-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl

Download URL waveforms-3.5.1-cp314-cp314-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl
Size 1.6 MB
Tags CPython 3.14 Linux glibc 2.31+ x86-64 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
72199afa9fd6f75a5e42eaa1afcfb7d11c1ba09ab2978c27987b199de59d3d10
BLAKE2b-256 checksum
How to use checksums
53fde0ca690c9c06280441a6f3d59bea7e4ea1fd1063de2c2a41bca67db83780
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp314-cp314-macosx_10_15_universal2.whl

Download URL waveforms-3.5.1-cp314-cp314-macosx_10_15_universal2.whl
Size 604.5 kB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
9ae3e5272c2aeb4ae17812b2262ed5eebb84749b6320e2bfb526c932cddb9350
BLAKE2b-256 checksum
How to use checksums
02dd876527c6853a14974bd280178e93004427aea030bceced3f8c9e8c045254
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp313-cp313-win_amd64.whl

Download URL waveforms-3.5.1-cp313-cp313-win_amd64.whl
Size 308.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
efb00750d5de996e9fd20e4ccf38698bc16bc47b808f6c5490a3f90ea6d2da53
BLAKE2b-256 checksum
How to use checksums
9a61dcc963f52736d9317a71317f67087ceb9d19edba8328f448033fcce1a31a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp313-cp313-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl

Download URL waveforms-3.5.1-cp313-cp313-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl
Size 1.6 MB
Tags CPython 3.13 Linux glibc 2.31+ x86-64 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
230980863706751a9711f8a324886c75985bebe0a300babca7123116d8cb0929
BLAKE2b-256 checksum
How to use checksums
c1a419050a7b3045485d6af2b806f6e552ef9145c569ee7760cd462e8585eb73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp313-cp313-macosx_10_13_universal2.whl

Download URL waveforms-3.5.1-cp313-cp313-macosx_10_13_universal2.whl
Size 603.3 kB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
f6ba1135c36d8ea3adb735dd46c4c102d71589276c7bfdc6c8dffdf4f6fd40ef
BLAKE2b-256 checksum
How to use checksums
98d76c6667af6a5aedbd6a88db01d0778c8a14416cf284b5e4790c3eb1dff9d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp312-cp312-win_amd64.whl

Download URL waveforms-3.5.1-cp312-cp312-win_amd64.whl
Size 308.7 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
1dbbe1fd17716be17d6ae32b7ea74ffea959b4c44712a6c87a6949a4fec87e47
BLAKE2b-256 checksum
How to use checksums
65c2c8921e552ff72aae78877503545f927f6e916bc79b1fbadbf6e4430b1038
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp312-cp312-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl

Download URL waveforms-3.5.1-cp312-cp312-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl
Size 1.6 MB
Tags CPython 3.12 Linux glibc 2.31+ x86-64 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
00faeb1c344573a5ed6ae81af52ddcdc3fca8ddc938bef861241ac44887bf6aa
BLAKE2b-256 checksum
How to use checksums
e4b51fd6cbf32926f6ed03b0e9f6202fcf34d7d8d86aee8e5a8f151a7d7dbe77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp312-cp312-macosx_10_13_universal2.whl

Download URL waveforms-3.5.1-cp312-cp312-macosx_10_13_universal2.whl
Size 602.0 kB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
50e94aecb5321917a77764b1e25c2ac718e6f591bcbe36347651433aa0d5e2fb
BLAKE2b-256 checksum
How to use checksums
a52ae8f2f0a368c5f4d6557465a78d72c0758f4f36f7a523da29ba1bf9c0c6a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp311-cp311-win_amd64.whl

Download URL waveforms-3.5.1-cp311-cp311-win_amd64.whl
Size 323.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
0b556fa848f38a0c6aeefe8fe51535350b5751d8ab3288ae1dc41150ec1c5b2f
BLAKE2b-256 checksum
How to use checksums
781dbc17e8df844e61880b5e8ef01f89bba476ed20204447c6259cb7a3396441
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp311-cp311-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl

Download URL waveforms-3.5.1-cp311-cp311-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl
Size 1.7 MB
Tags CPython 3.11 Linux glibc 2.31+ x86-64 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
c8bcc42c7e6d535822b55d7d92bf86bd0fb545f65fd3c9a3c77cf0030792d1af
BLAKE2b-256 checksum
How to use checksums
9276316c607d2cda5504999210357e2298fe123b9ebc374c06dfe2d19a3ec398
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp311-cp311-macosx_10_9_universal2.whl

Download URL waveforms-3.5.1-cp311-cp311-macosx_10_9_universal2.whl
Size 596.5 kB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
c522cffbd3cfdb148be9aaa1745090d93777e9938937660da9b6f6155a68db74
BLAKE2b-256 checksum
How to use checksums
8036732a0b4677ebe8f8c22a269c918006f82f6550d3a9adb3acaba4c07e951f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp310-cp310-win_amd64.whl

Download URL waveforms-3.5.1-cp310-cp310-win_amd64.whl
Size 324.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
63b3c215f1b1044166de5264cbb4a8921821e180a84eeb80d8469bc964019e95
BLAKE2b-256 checksum
How to use checksums
44cd131f13f4ef9943356b9199ec71c4a9742addad772c90ef904ffa027323f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp310-cp310-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl

Download URL waveforms-3.5.1-cp310-cp310-manylinux_2_31_x86_64.manylinux_2_34_x86_64.whl
Size 1.6 MB
Tags CPython 3.10 Linux glibc 2.31+ x86-64 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
ec86d8ee0f357c10111e8a1f113f56d20061e62853fe5ea8da70ca931bc0b1a9
BLAKE2b-256 checksum
How to use checksums
bf995f9927cffcb09f82c4be4f26944aafdb24b0e74b05a3a1442fd8270ed738
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / waveforms-3.5.1-cp310-cp310-macosx_10_9_universal2.whl

Download URL waveforms-3.5.1-cp310-cp310-macosx_10_9_universal2.whl
Size 600.9 kB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
593e2d078f2cb8849eed5af6ec2e730ccb44edee3245737b69ad7d1930efbdc0
BLAKE2b-256 checksum
How to use checksums
fb3e8bd85fa40526a6d78e9a4bc8fab007c0a2d9be3e305e8f85cd84efd23ae1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

3.7.0

19 release files

This release

3.5.1 This release

19 release files

3.4.0

19 release files

3.3.2

19 release files

3.3.0

19 release files

3.2.0

19 release files

3.1.0

19 release files

3.0.0

19 release files

2.3.0

19 release files

2.2.3

19 release files

2.2.2

19 release files

2.2.0

13 release files

2.1.0

13 release files

2.0.1

13 release files

1.9.4

10 release files

1.9.1

10 release files

1.8.9

10 release files

1.8.8

10 release files

1.8.7

10 release files

1.8.6

10 release files

1.8.5

10 release files

1.8.4

10 release files

1.8.1

10 release files

1.8.0

10 release files

1.7.9

10 release files

1.7.8

10 release files

1.7.7

10 release files

1.7.6

7 release files

1.7.5

7 release files

1.7.4

7 release files

1.7.3

7 release files

1.7.2

7 release files

1.7.1

7 release files

1.7.0

7 release files

1.6.11

7 release files

1.6.10

7 release files

1.6.9

7 release files

1.6.8

4 release files

1.6.7

7 release files

1.6.6

7 release files

1.6.5

7 release files

1.6.4

7 release files

1.6.3

7 release files

1.6.2

7 release files

1.6.1

7 release files

1.6.0

7 release files

1.5.99

7 release files

1.5.98

7 release files

1.5.97

9 release files

1.5.93

7 release files

1.5.92

7 release files

1.5.90

7 release files

1.5.89

7 release files

1.5.87

7 release files

1.5.86

7 release files

1.5.85

7 release files

1.5.84

7 release files

1.5.83

7 release files

1.5.81

7 release files

1.5.80

7 release files

1.5.79

7 release files

1.5.78

7 release files

1.5.77

7 release files

1.5.76

7 release files

1.5.75

5 release files

1.5.74

5 release files

1.5.63

7 release files

1.5.62

7 release files

1.5.61

5 release files

1.5.60

2 release files

1.5.59

2 release files

1.5.57

2 release files

1.5.56

5 release files

1.5.55

5 release files

1.5.54

7 release files

1.5.53

7 release files

1.5.52

7 release files

1.5.51

7 release files

1.5.50

7 release files

1.5.47

7 release files

1.5.42

2 release files

1.5.38

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