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.eprint(*objects)#
- presto.utils.eprint_error(title, body, warn=False, inline=False)#
- 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.