feth / monologue Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
At first, we need this poc to work :
from logging import Logger, StreamHandler, Formatter
import sys
logger = Logger("name")
handler = StreamHandler(sys.stdout)
class MyFormatter(Formatter):
pass
myformatter = MyFormatter()
handler.setFormatter(myformatter)
logger.addHandler(handler)
class Bidon(object):
"""
>>> b = Bidon()
[Bidon] coucou
"""
def __init__(self):
logger.warning("coucou")
While we're talking progress information, I was running a long computation by a sloppy friend coder of mine the other day, and there was no way to tell when I'd be able to get my machine back^W^W^W^Whand the result.
ETA stands for "estimated time of arrival". It belongs to the same family of features as percent completion and might look approx. like this:
[11/02/2012 18h14] [Long calculus] starting 100000 iterations
[11/02/2012 18h32] [Long calculus] 10% complete - 10000 iterations done - Estimated completion in 02h42m23s at 21h14
[11/02/2012 18h53] [Long calculus] 20% complete - 20000 iterations done - Estimated completion in 02h25m00s at 21h18
...
Some attributes of the main object are managed by accessors.
Making these attributes public and removing accessors would reduce the cross section of this main object.
We're looking for API simplification whenever possible.
Main features:
So the class was named ProgressAndLog and the main method get_logger.
Do you have a better idea? What do you think of the boring «reporter»?
Integrate docstrings into documentation
title says it.
Title says it all
usage scope: scikit functions.
the 'check_logger' function would accept all current accepted values for verbose PLUS a logger.
returns: a logger
maybe provide a start() that accepts an optional id and returns it.
complete would provide a separator, the time elapsed, the iterations number (if relevant)
for instance
...........................................................................
or
=======================================
As we inherit logging.Logger, there are about 30+ public methods in the main class.
I'm not sure it is too many, what do you think?
that's a feeling @GaelVaroquaux has.
Do we prefer an API with
logger = get_logger()
or
log("coucou")
or both ?
For the latter, we could use a default_logger() method, that would enable the log method.
When detecting ipython in Qt mode : provide progressbars instead of dots (and perhaps dots)
get_logger should not require a name, but optionnaly accept a prefix.
When not specified, the prefix should be calculated. See #10
I get the above AttributeError when running the following example (from doc/manual.rst) :
# Configure: a dot every 10 steps
logger.dot_every(10)
# Configure: progress message every 100 steps
logger.progress_every(100)
# Optional: reset the number of iterations
logger.progress_reset()
while x != 1:
# count one step
logger.step()
if x % 2 == 0: # if x is odd
x /= 2 # halve x
else:
x = 3 * x + 1
logger.complete()
clone(verbosity_offset=-1, prefix=None)
Copy and customize the target (joblib) documentation infrastructure (Makefile etc).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.