alexhroom / verbosemanager Goto Github PK
View Code? Open in Web Editor NEWVerboseManager is a Python class for managing verbose output on complex processes.
Home Page: https://alexhroom.github.io/verbosemanager
License: MIT License
VerboseManager is a Python class for managing verbose output on complex processes.
Home Page: https://alexhroom.github.io/verbosemanager
License: MIT License
Add functionality to take an iterator and treat all iterations as a finite number of steps, taking the average time for each iterative step as the total. This reduces the need to calculate a dynamic number of verbose steps for a process.
Like so:
for x in list:
verbose_manager.iterate("Step 1")
step_1()
verbose_manager.iterate("Step 2")
step_2()
verbose_manager.finish_iterate()
which would print:
Process completed in X seconds.
Timings per step:
Step 1: Average Y over Z iterations
Step 2: Average W over Z iterations
The documentation is currently in the form of a PDF. this should be remade as documentation for github pages.
Add the ability for plugins to be registered and added to verbosemanager.
Formalise a class for verbosemanager plugins, with hooks that can run at the start, end, and each step of a process. Integrate these hooks into the verbosemanager class.
CI should be added for testing the package when new commits are pushed.
The eraser fails if the first run of a verbosemanager script is on verbose=3.
Add an option where users can see the carbon emissions of their algorithm alongside verbose output.
Preferably, this will be a user option, rather than something developers have to include in their code.
It may be more useful and elegant to replace the @verbosemanager
decorator with a context manager, a la:
with verbosemanager(n_steps = 5, verbose = 3) as verbose_manager:
Add tutorials which show off the various capabilities and functions of verbosemanager.
Allow steps to not be all equal, based on time taken. Maybe add a .verbosemanager.json file which lets users set this, or auto-generates it from final timings.
Refactor from using ManagerMixins to a Manager abstract base class. This is necessary to reduce a lot of code duplication.
Add support for MPI (as currently this would just spawn multiple singleton objects that behave independently)
Currently, the eraser is adding an unnecessary amount of whitespace. Fix this.
Add a reader for plugins. This will originally be a .txt file with the names of plugin packages, but then a future issue will add automatic reading from installed packages.
Update version info to 1.3.0 before its release.
CI should be added for deploying the package to PyPI.
After changing to Sphinx, the docs aren't building correctly. fix this
Implement linting into verbosemanager.
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.