PK {Hm$! astrolabe-latest/.buildinfo# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config:
tags:
PK {HZ Z astrolabe-latest/objects.inv# Sphinx inventory version 2
# Project: astrolabe
# Version: 0.4
# The remainder of this file is compressed using zlib.
xڵͪ0F>E@)oB@2?ook(½q09s2IdI%1+;tJ/U;UNy6/pַްeMl$<`%x W~K7#_hqZ}T&G4A$],%{E{xұ1fI[t1 ҺR=vr(×s~{PK {H!7 7 astrolabe-latest/index.html
astrolabe 0.4.0 documentation
astrolabe
Astrolabe
Fast, high resolution timer library for recording performance metrics.
Table Of Contents
Interval
class astrolabe.interval.
Interval
This is the lowest level timing mechanism available.
It allows for easy measuring based upon a block:
interval = Interval ()
with interval :
...
Or measuring something specifically:
interval = Interval ()
interval . start ()
duration = interval . stop ()
Allocating and starting an interval can be done in one method call with:
interval = Interval . now ()
duration
Returns the integer value of the interval, the value is in milliseconds.
If the interval has not had stop called yet,
it will report the number of milliseconds in the interval up to the current point in time.
duration_so_far
Return how the duration so far.
Returns: the duration from the time the Interval was started if the
interval is running, otherwise False
.
classmethod now
( )
Create an interval that has already started
running
Returns whether or not the interval is running or not.
This means that it has started, but not stopped.
split
( )
Immediately stop the current interval and start a new interval that
has a start_instant equivalent to the stop_interval of self
start
( )
Mark the start of the interval.
Calling start on an already started interval has no effect.
An interval can only be started once.
Returns: True
if the interval is truely started True otherwise False
.
start_instant
The integer representing the start instant of the Interval.
This value is not useful on its own.
It is a platform dependent value.
started
Returns whether or not the interval has been started.
stop
( )
Mark the stop of the interval.
Calling stop on an already stopped interval has no effect.
An interval can only be stopped once.
Returns: the duration if the interval is truely stopped otherwise False
.
stop_instant
The integer representing the stop instant of the Interval.
This value is not useful on its own.
It is a platform dependent value.
stopped
Returns whether or not the interval has been stopped.
PK {H oY Y astrolabe-latest/_static/up.pngPNG
IHDR (-S sRGB pHYs
B(x tIME!.<̓E NPLTE ŗ=n tRNS "5=D\_av bKGD H _IDATG =GEtTn7c+
^5ɛDp3q18JT@U8V6v8\"Hk7 y2GHr }RUc
IENDB`PK {H^'3V[ [ ) astrolabe-latest/_static/down-pressed.pngPNG
IHDR (-S sRGB pHYs
B(x tIME
-vF# NPLTE __________________________________________________? tRNS "5=D\_av bKGD H aIDATY0DK!̯Qc(DFYsS06'[?vӫf>"SCu|2(X+NfJH9Soj* IENDB`PK {H<> ( astrolabe-latest/_static/ajax-loader.gifGIF89a U|NU|l!Created with ajaxload.info !
!NETSCAPE2.0 , 30Ikc:Nf E1º.`q-[9ݦ9JkH !
, 4N! DqBQT`1 `LE[|ua C%$* !
, 62#+AȐ̔V/cNIBap
̳ƨ+Y2d !
, 3b%+2V_ !1DaFbR]=08,Ȥr9L !
, 2r'+JdL&v`\bThYB)@<&,ȤR !
, 3 9tڞ0!.BW1sa50 m)J !
, 2 ٜU]qp`a4AF0`
@1Α !
, 20IeBԜ) q10ʰPaVڥ ub[ ; PK {H'%t[ [ ! astrolabe-latest/_static/down.pngPNG
IHDR (-S sRGB pHYs
B(x tIME"U{ NPLTE ŗ=n tRNS "5=D\_av bKGD H aIDATY0DK!̯Qc(DFYsS06'[?vӫf>"SCu|2(X+NfJH9Soj* IENDB`PK {Hk $ astrolabe-latest/_static/doctools.js/*
* doctools.js
* ~~~~~~~~~~~
*
* Sphinx JavaScript utilities for all documentation.
*
* :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
/**
* select a different prefix for underscore
*/
$u = _.noConflict();
/**
* make the code below compatible with browsers without
* an installed firebug like debugger
if (!window.console || !console.firebug) {
var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
"dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
"profile", "profileEnd"];
window.console = {};
for (var i = 0; i < names.length; ++i)
window.console[names[i]] = function() {};
}
*/
/**
* small helper function to urldecode strings
*/
jQuery.urldecode = function(x) {
return decodeURIComponent(x).replace(/\+/g, ' ');
};
/**
* small helper function to urlencode strings
*/
jQuery.urlencode = encodeURIComponent;
/**
* This function returns the parsed url parameters of the
* current request. Multiple values per key are supported,
* it will always return arrays of strings for the value parts.
*/
jQuery.getQueryParameters = function(s) {
if (typeof s == 'undefined')
s = document.location.search;
var parts = s.substr(s.indexOf('?') + 1).split('&');
var result = {};
for (var i = 0; i < parts.length; i++) {
var tmp = parts[i].split('=', 2);
var key = jQuery.urldecode(tmp[0]);
var value = jQuery.urldecode(tmp[1]);
if (key in result)
result[key].push(value);
else
result[key] = [value];
}
return result;
};
/**
* highlight a given string on a jquery object by wrapping it in
* span elements with the given class name.
*/
jQuery.fn.highlightText = function(text, className) {
function highlight(node) {
if (node.nodeType == 3) {
var val = node.nodeValue;
var pos = val.toLowerCase().indexOf(text);
if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) {
var span = document.createElement("span");
span.className = className;
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
document.createTextNode(val.substr(pos + text.length)),
node.nextSibling));
node.nodeValue = val.substr(0, pos);
}
}
else if (!jQuery(node).is("button, select, textarea")) {
jQuery.each(node.childNodes, function() {
highlight(this);
});
}
}
return this.each(function() {
highlight(this);
});
};
/*
* backward compatibility for jQuery.browser
* This will be supported until firefox bug is fixed.
*/
if (!jQuery.browser) {
jQuery.uaMatch = function(ua) {
ua = ua.toLowerCase();
var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
/(msie) ([\w.]+)/.exec(ua) ||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
[];
return {
browser: match[ 1 ] || "",
version: match[ 2 ] || "0"
};
};
jQuery.browser = {};
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
}
/**
* Small JavaScript module for the documentation.
*/
var Documentation = {
init : function() {
this.fixFirefoxAnchorBug();
this.highlightSearchWords();
this.initIndexTable();
},
/**
* i18n support
*/
TRANSLATIONS : {},
PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; },
LOCALE : 'unknown',
// gettext and ngettext don't access this so that the functions
// can safely bound to a different name (_ = Documentation.gettext)
gettext : function(string) {
var translated = Documentation.TRANSLATIONS[string];
if (typeof translated == 'undefined')
return string;
return (typeof translated == 'string') ? translated : translated[0];
},
ngettext : function(singular, plural, n) {
var translated = Documentation.TRANSLATIONS[singular];
if (typeof translated == 'undefined')
return (n == 1) ? singular : plural;
return translated[Documentation.PLURALEXPR(n)];
},
addTranslations : function(catalog) {
for (var key in catalog.messages)
this.TRANSLATIONS[key] = catalog.messages[key];
this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
this.LOCALE = catalog.locale;
},
/**
* add context elements like header anchor links
*/
addContextElements : function() {
$('div[id] > :header:first').each(function() {
$('').
attr('href', '#' + this.id).
attr('title', _('Permalink to this headline')).
appendTo(this);
});
$('dt[id]').each(function() {
$('').
attr('href', '#' + this.id).
attr('title', _('Permalink to this definition')).
appendTo(this);
});
},
/**
* workaround a firefox stupidity
* see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
*/
fixFirefoxAnchorBug : function() {
if (document.location.hash)
window.setTimeout(function() {
document.location.href += '';
}, 10);
},
/**
* highlight the search words provided in the url in the text
*/
highlightSearchWords : function() {
var params = $.getQueryParameters();
var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
if (terms.length) {
var body = $('div.body');
if (!body.length) {
body = $('body');
}
window.setTimeout(function() {
$.each(terms, function() {
body.highlightText(this.toLowerCase(), 'highlighted');
});
}, 10);
$('' + _('Hide Search Matches') + '
')
.appendTo($('#searchbox'));
}
},
/**
* init the domain index toggle buttons
*/
initIndexTable : function() {
var togglers = $('img.toggler').click(function() {
var src = $(this).attr('src');
var idnum = $(this).attr('id').substr(7);
$('tr.cg-' + idnum).toggle();
if (src.substr(-9) == 'minus.png')
$(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
else
$(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
}).css('display', '');
if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
togglers.click();
}
},
/**
* helper function to hide the search marks again
*/
hideSearchWords : function() {
$('#searchbox .highlight-link').fadeOut(300);
$('span.highlighted').removeClass('highlighted');
},
/**
* make the url absolute
*/
makeURL : function(relativeURL) {
return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
},
/**
* get the current relative url
*/
getCurrentURL : function() {
var path = document.location.pathname;
var parts = path.split(/\//);
$.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
if (this == '..')
parts.pop();
});
var url = parts.join('/');
return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
}
};
// quick alias for translations
_ = Documentation.gettext;
$(document).ready(function() {
Documentation.init();
});
PK {H8c c &