Coder Social home page Coder Social logo

progressive's Introduction

hfaran.github.io Content

Publishing Hugo site to hfaran.github.io

  • Adapted from Host on Github article on Hugo documentation
  • Run hugo in the hugo project folder (hfaran.github.io\)
    • This will generate content into the public folder which is a submodule to the hfaran.github.io repository. Commit and push changes in that repository to deploy to hfaran.github.io

progressive's People

Contributors

hfaran avatar mgedmin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

progressive's Issues

Consider composition regarding Cursor class

To clarify, ProgressTree and/or Bar should have a self.cursor rather than be subclassed from Cursor. This is more intuitive. (Perhaps Cursor should be named something closer to Terminal as well).

Gradient-colored bars

Two kinds:

  • The entire bar is colored y=f(x) where x is the current value
  • The gradient is mapped across the bar, so each character has color y=f(x) where x is the character's value relative to max_value

REALLY don't want numpy to be a dependency (no offence to numpy but it's just too damn huge), so should either find a gradient function in another library, license numpy's or roll my own variation.

☠️ Is development dead?

The demo looks really cool but I don't want to use this in any long-term projects if it's not stable, so I came to check on development.

Doesn't look like anything has been happening for a while. I was just curious if this project intends to move forward, or if it's been abandoned for good.

Cheers!

Handle terminal resize gracefully

When the terminal resizes, Progressive should clear starting from the reference point whole way to end (bottom-right) of the terminal, so the artifacts of previous terminal size don't show up.

Add coveralls

This should be done after some unit tests are added for better legitimate coverage.

Add no_overflow option to Bar

Currently Bar will happily overflow if you give it a value greater than the max_value (i.e., if max_value is 10 and you provide a value of a 100, the Bar will continue to draw past the 100% limit). The proposal is to add an option that will cap drawing the bar to 100% if a value greater than the max_value is given.

Marking this as a bug with in the label since the overflow is undesired behavior and should have an option to be disabled.

New hierarchy schema

{"Job1":
    {"Task1":
        {"type": Bar|Task|etc.,
         "value": Value instance,
         "args": <args for type>,
         "kwargs": <kwargs for type>}
    }
}

Block abstract base class

Some that allows bar composition like so:
widgets = [Title(...), PBar(...), ValueCompleted(...), ETA(...)

Could be a 2.0 feature, and may not be entirely necessary, but would be nice as you could just plug widgets in for extension however wanted (although adding more kwarg options also works).

Task class

◯ I am an empty task
◉ I am a complete task

Iterator wrapper

Something like:

def progress(iterable,
             bar_desc=BarDescriptor(<this should contain a nice default>))):

which could be used in a for loop for progress display in the simplest way possible.

Value class

class Value(object):
    def __init__(self, value):
        self.value = value

Animated GIF

How did you create the animated GIF of the recording?

Not working at all (dependency issue)

Hi hfaran

I just installed progressive, and when I try to run the example file like you did on homepage, an error pops up saying:

In [1]: from progressive.examples import tree
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-a7736aba9745> in <module>()
----> 1 from progressive.examples import tree

D:\Anaconda3\lib\site-packages\progressive\examples.py in <module>()
      8 from time import sleep
      9
---> 10 from blessings import Terminal
     11
     12 from progressive.bar import Bar

D:\Anaconda3\lib\site-packages\blessings\__init__.py in <module>()
      3
      4 from contextlib import contextmanager
----> 5 import curses
      6 from curses import setupterm, tigetnum, tigetstr, tparm
      7 from fcntl import ioctl

D:\Anaconda3\lib\curses\__init__.py in <module>()
     11 """
     12
---> 13 from _curses import *
     14 import os as _os
     15 import sys as _sys

ImportError: No module named '_curses'

In [2]: from progressive.examples import tree
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-2-a7736aba9745> in <module>()
----> 1 from progressive.examples import tree

D:\Anaconda3\lib\site-packages\progressive\examples.py in <module>()
      8 from time import sleep
      9
---> 10 from blessings import Terminal
     11
     12 from progressive.bar import Bar

D:\Anaconda3\lib\site-packages\blessings\__init__.py in <module>()
      3
      4 from contextlib import contextmanager
----> 5 import curses
      6 from curses import setupterm, tigetnum, tigetstr, tparm
      7 from fcntl import ioctl

D:\Anaconda3\lib\curses\__init__.py in <module>()
     11 """
     12
---> 13 from _curses import *
     14 import os as _os
     15 import sys as _sys

ImportError: No module named '_curses'

Hope this project is still active, and I'm still waiting for a more detailed documentation on how to use this amazing tool. Thanks.

Unit tests

These tests should focus on testing Blocks (so, comparing string output and lengths from Block repr and len methods as that is the kind of atomic testing that will work best).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.