utils module¶
Collection of functions that might be useful, or might not.
- class presto.utils.ProgressBar(size, update_time=1.0)¶
Bases:
object
Prints a progress bar to stderr, keeping track of remaining time.
- Parameters
Examples
>>> pb = ProgressBar(100) >>> pb.start() >>> for _ in range(100): >>> time.sleep(0.1) # <-- do work here! >>> pb.increment() >>> pb.done()
- increment(inc=1)¶
Increment the progress bar.
Will not change the text on stderr if too little time has passed since last update.
- presto.utils.as_flat_list(x)¶
Return x as a flat unidimensional list.
- presto.utils.format_precision(n, s)¶
Format a value and uncertainty to the correct number of significant digits.
- Parameters
- Return type
- Returns
a formatted string with numbers rounded to significant digits.
Examples
>>> format_precision(36.91226461435421, 0.4060358649863922) '36.9 ± 0.4'
- presto.utils.format_sec(s)¶
Format a time interval in seconds into a more human-readable string.
Args: s: time interval in seconds.
- Return type
- Returns
time interval in the form “Xh Ym Z.zs”.
Examples
>>> format_sec(np.pi * 1e+8) '9y 348d 20h 27m 45.4s' >>> format_sec(np.exp(-10)) '45.4us'
- presto.utils.get_sourcecode(script_filename)¶
Open a file and return its content.
- presto.utils.rotate_opt(data, return_x=False)¶
Rotates data so that all the signal is in the I quadrature (real part).
- presto.utils.sin2(nr_samples, drag=0.0)¶
Create a \(\sin^2\) envelope/template.
- presto.utils.sinP(P, nr_samples)¶
Create a \(\sin^P\) envelope/template.
- presto.utils.ssh_download(remote_filename, local_filename=None, address='192.168.42.50')¶
Copy a file from the hardware to the local computer.
- Parameters
- Raises
ImportError – Python module fabric not found.
- presto.utils.ssh_execute(command, address='192.168.42.50')¶
Execute a command on the hardware.
- Parameters
- Raises
ImportError – Python module fabric not found.
- presto.utils.ssh_reboot(address='192.168.42.50')¶
Reboot the Linux system on the hardware.
It is equivalent to ssh_execute(“/sbin/shutdown -r now”).
- Parameters
address (
str
) – IP address or hostname of the hardware- Raises
ImportError – Python module fabric not found.
- presto.utils.ssh_upload(local_filename, remote_filename=None, address='192.168.42.50')¶
Copy a file from the local computer to the hardware.
- Parameters
- Raises
ImportError – Python module fabric not found.
- presto.utils.to_pm_pi(phase)¶
Converts a phase in radians into the [-π, +π) interval.
- presto.utils.triangle(nr_samples)¶
Create a triangular envelope/template.
- presto.utils.untwist_downconversion(I_port, Q_port)¶
Convert a measured IQ pair into a low/high sideband pair.