>> ___ ___ ___
>> | | |__| /\ | |\ | |__ \_/ | ___\
>> |/\| | | /~~\ | | \| |___ / \ | /
>>
For founders & devs whose heads overflow with tasks and dependencies.
We use the commandline to keep you in the flow of your work and Directed Acyclic Graphs to organize your tasks.
$ pip install whatnext
$ whatnext add "create your first task & grab coffee! -> create your second"
$ whatnext task # Shows grab coffee
The syntax is simple:
->
break text into subtasks and define dependencies&
within a task description define two separate and independent tasks!!!
the number of exclamation points in a task defines its importance#hashtags
,@mentions
andurls
are defined as special types to be used for filtering- dates within the string will be parsed as due dates
- python3
- pip
TODO
whatnext
is released on PyPI, so all you need is:
$ pip install whatnext
To upgrade to latest version:
$ pip install --upgrade whatnext
Create virtual environment and install requirements
$ # create venv
$ virtualenv -p python3.8 venv
$ # Install requirements
$ source venv/bin/activate
$ pip install -r requirements.txt
$ pip install -r requirements-dev.txt
Install in editable mode
$ pip install -e .
Or Build the wheel
$ python -m pip install --user --upgrade setuptools wheel
$ python setup.py sdist bdist_wheel
Install the pre-commit hooks
$ pre-commit install
Optional set graph storage location
$ whatnext set-storage /local/data/
Or set it directly with environment variables
$ export WN_STORAGE_DIR=/local/data/
If installed properly the following will show
$ whatnext show
>> ___ ___ ___
>> | | |__| /\ | |\ | |__ \_/ | ___\
>> |/\| | | /~~\ | | \| |___ / \ | /
>>
We use pytest
to run all of our tests and coverage. We use unittest
to implement the individual tests.
# In your dev environment configured above
$ pip install -r requirements-test.txt
$ python ./tests/all.py
Explain what these tests test and why
Give an example
Coding style is enforced using the pre-commit-hooks defined here .pre-commit-config.yaml
and more details are available in CONTRIBUTING.md
- black: configuration is here pyproject.toml
- flake8: configuration is here .flake8
Give an example
Deploy to Pypi
$ # Update coverage
$ coverage xml
$ bash <(curl -s https://codecov.io/bash)
$ # Build
$ rm ./dist/whatnext-* || python3 setup.py sdist bdist_wheel
$ # Upload to pypi
$ python3 -m twine upload dist/*
- typer - for the CLI
- networkx - stores the graph representation
- pydantic - the Task and TimeLog datamodel
- dateparser - parses due dates in the tasks
- tabulate - show the tasks in the terminal
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Sean Kruzel - Initial work - PurpleBooth
See also the list of contributors who participated in this project.
This project is licensed under the Apache 2.0 with Commons Clause - see the LICENSE.txt file for details