Giter VIP home page Giter VIP logo

clikan's Introduction

Hi there ๐Ÿ‘‹!

  • ๐Ÿ”ญ Iโ€™m currently working on things at Ditto Federal (and pet projects)
  • ๐ŸŒฑ Iโ€™m currently learning about CRDTs, distributed data, and the synchrony challenge
  • ๐Ÿ‘ฏ Iโ€™m looking to collaborate on continuous delivery of innovative things
  • ๐Ÿค” Iโ€™m looking for help with Covering and Allyship
  • ๐Ÿ’ฌ Ask me about racing bicycles
  • ๐Ÿ“ซ How to reach me: kitplummer just about everywhere, 'cept X
  • ๐Ÿ˜„ Pronouns: he and him
  • โšก Fun fact: I have two grandkids - Asher and Addie

Me at LinkedIn

clikan's People

Contributors

benrutter avatar dantam avatar jgarte avatar kitplummer avatar odaymansour 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  avatar  avatar  avatar  avatar

clikan's Issues

Need help/documentation to run the test suite

Hi,
Thanks for this tool. I am thinking of taking a deeper look and possibly contribute.

Could you add some instructions on how to run the test suite provided with this package?

Thanks

The version in developer branch is 2.0.1 or 2.0.0

When execute test, it fails me this function "test_command_version" I obtain the follow mistake.

#########################################################################################
def test_command_version():
version_file = open(os.path.join('./', 'VERSION'))
version = version_file.read().strip()

    runner = CliRunner()
    result = runner.invoke(clikan, ["--version"])
    assert result.exit_code == 0
  assert 'clikan, version {}'.format(version) in result.output

E AssertionError: assert 'clikan, version 0.2.1' in 'clikan, version 0.2.0\n'
E + where 'clikan, version 0.2.1' = <built-in method format of str object at 0x00000239651F2800>('0.2.1')
E + where <built-in method format of str object at 0x00000239651F2800> = 'clikan, version {}'.format
E + and 'clikan, version 0.2.0\n' = .output
#########################################################################################

I put clikan --version and show me 2.0.0 version, but in VERSION file put 2.0.1.
The test it's easy to correct it. But I need know the correct version, in case I have made a mistake in the download or in the branch.

Thanks for your project.

Tests failing

Hi, do these tests fail for anyone else?

============================= test session starts ==============================
platform linux -- Python 3.8.2, pytest-5.3.5, py-1.8.1, pluggy-0.13.1 -- /gnu/store/2dqjp4nl4iqkwz0914lq2ch098c1vvli-python-wrapper-3.8.2/bin/python
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/home/jgart/clikan/.hypothesis/examples')
rootdir: /home/jgart/clikan
plugins: hypothesis-5.4.1
collecting ... collected 11 items

clikan_test.py::test_command_help PASSED                                 [  9%]
clikan_test.py::test_command_version PASSED                              [ 18%]
clikan_test.py::test_command_configure FAILED                            [ 27%]
clikan_test.py::test_command_configure_existing PASSED                   [ 36%]
clikan_test.py::test_command_a PASSED                                    [ 45%]
clikan_test.py::test_no_command PASSED                                   [ 54%]
clikan_test.py::test_command_s PASSED                                    [ 63%]
clikan_test.py::test_command_show PASSED                                 [ 72%]
clikan_test.py::test_command_not_show PASSED                             [ 81%]
clikan_test.py::test_command_promote PASSED                              [ 90%]
clikan_test.py::test_command_delete PASSED                               [100%]

=================================== FAILURES ===================================
____________________________ test_command_configure ____________________________

    def test_command_configure():
        runner = CliRunner()
        result = runner.invoke(clikan, ["configure"])
        assert result.exit_code == 0
>       assert 'Creating' in result.output
E       AssertionError: assert 'Creating' in 'Config file exists. Do you want to overwrite? [y/N]: \n'
E        +  where 'Config file exists. Do you want to overwrite? [y/N]: \n' = <Result okay>.output

clikan_test.py:30: AssertionError
========================= 1 failed, 10 passed in 0.64s =========================

Automatically show after modification

Love the project!

I find that after every modification command I run (add, delete, promote, regress), I inevitably run clikan show after. What would you think about a configuration value that allows you to automatically run show after modifications? I'd like to contribute that to the project if you think it would be useful to others.

Command abbreviations

Hi,
What do you think about putting in abbreviations for commands?

clikan a "Buy toilet paper" # a for add
clikan p 1 # p for promote
clikan d 1 # d for delete

Again, I can write this. I'm not trying to be pushy, I'm only checking if you think it's a good idea.

`.ini` and environment support for configuration

Hello, I saw your (pretty cool) project but was wondering if there was a way to configure the tool in .ini or through the process environment?

Both can be done in native python, so I think it'd be pretty nice to have at least one of those two alternatives.

Edit: Since I do want to use .ini files, and using the environment would also be a convenience for my workflow, I started working on a fork to integrate this support (only noted TODOs on what to do for now).

Once it'll be done, I'll put it up for PR

How can execute clikan.py file

Hi, I'm try add command for enviroment test and I can't try the command.

When I put following command "python clikan.py" nothing happens. And I try create file exe, but when execute I have error, I thing is no same configure.

Not working on Windows 10 with python 3.8

pip install clikan
Collecting clikan
Using cached https://files.pythonhosted.org/packages/fc/15/0b12cf336843c2e8022ae9aae4767fa6832b17239fb4eb1628f943becfea/clikan-0.0.4-py3-none-any.whl
Requirement already satisfied: pyyaml in c:\python38\lib\site-packages (from clikan) (5.3.1)
Requirement already satisfied: terminaltables in c:\python38\lib\site-packages (from clikan) (3.1.0)
Requirement already satisfied: Click in c:\python38\lib\site-packages (from clikan) (7.1.1)
Installing collected packages: clikan
Successfully installed clikan-0.0.4

clikan configure
Traceback (most recent call last):
File "c:\python38\lib\runpy.py", line 193, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\python38\lib\runpy.py", line 86, in run_code
exec(code, run_globals)
File "C:\Python38\Scripts\clikan.exe_main
.py", line 9, in
File "c:\python38\lib\site-packages\click\core.py", line 829, in call
return self.main(*args, **kwargs)
File "c:\python38\lib\site-packages\click\core.py", line 782, in main
rv = self.invoke(ctx)
File "c:\python38\lib\site-packages\click\core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "c:\python38\lib\site-packages\click\core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "c:\python38\lib\site-packages\click\core.py", line 610, in invoke
return callback(*args, **kwargs)
File "c:\python38\lib\site-packages\clikan.py", line 84, in configure
path = "%s/.clikan.dat" % os.environ['HOME']
File "c:\python38\lib\os.py", line 675, in getitem
raise KeyError(key) from None
KeyError: 'HOME'

[Enhancement] Command tab completion

Another suggestion: it'd be handy to have tab completion for commands!

As detailed in the click documentation, the goal would be to type clikan, followed by the tab key twice to see a list of the commands (add, configure, delete, etc.). This would allow people to see the commands without running the clikan command first.

If this sounds good, I'd be happy to have a go at implementing this and submitting a PR.

Option to increase default 40 char limit

Would be nice to have a way to increase the 40 char limit on task names.
French tends to have longer words so the limit becomes constraining.

(Willing to add this myself but wasn't sure if contributions to this project are welcome and how they should be done)

Loving this tool!

[BUG]: `importlib.metadata` error in python 3.11.6

After running pip install clikan and executing the clikan command I get this error:

Traceback (most recent call last):
  File "/usr/local/bin/clikan", line 5, in <module>
    from clikan import clikan
  File "/usr/local/lib/python3.11/site-packages/clikan.py", line 15, in <module>
    VERSION = importlib.metadata.version('clikan')
              ^^^^^^^^^^^^^^^^^^
AttributeError: module 'importlib' has no attribute 'metadata'

Operating on multiple tasks

Hi again!
Are you open to the idea of making it possible to operate on multiple tasks in one go?
I'm thinking something like this:

clikan add "Buy toilet paper" "Feed cat" "Fold laundry" # Creates three tasks
clikan promote 1 2 # Promotes two tasks
clikan delete 1 2 3 # Deletes three tasks

If you're ok with such a behavior change then I'll be happy to add it in myself.

Invalid parms not handled for delete

โฏ clik d test
Traceback (most recent call last):
  File "/Users/cplummer8/miniconda3/bin/clikan", line 33, in <module>
    sys.exit(load_entry_point('clikan==0.2.1', 'console_scripts', 'clikan')())
  File "/Users/cplummer8/miniconda3/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/Users/cplummer8/miniconda3/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/Users/cplummer8/miniconda3/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/cplummer8/miniconda3/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/cplummer8/miniconda3/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/Users/cplummer8/miniconda3/lib/python3.8/site-packages/clikan-0.2.1-py3.8.egg/clikan.py", line 137, in delete
    item = dd['data'].get(int(id))
ValueError: invalid literal for int() with base 10: 'test'

Deprecation warning on each command...

โžœ  clikan git:(develop) clikan d
/usr/local/lib/python3.7/site-packages/clikan.py:250: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  return yaml.load(stream)
/usr/local/lib/python3.7/site-packages/clikan.py:229: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  return yaml.load(stream)

[Enhancement] Add option for default "show"

Hey, thanks for the great project!

I'd just like to suggest an enhancement: an option in the config that allows "show" to be the default command. So running clikan on the command line would result in clikan show being executed.

I'd be happy to have a go at doing this and submitting a pull request.

d is normally for deletion

for display I would set it as default, instead of needing a "d" option, as "d" is almost always used for "deletion" shortcut elsewhere, just a suggestion.

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.