* [python] Fix task relation wrong hashable function
Currently our :class:`TaskRelation` have wrong __hash__
function, would mistake a object as same object. It failed
our dependence and process definition. this patch fix it
by adding `_KEY_ATTR` to overwrite TaskRelation's __eq__
and correct __hash__ func
close: #7627
* Fix code format
* Change class Base `to_dict` to `get_define` for more clearer
* Remove class TaskParams and sub class make code easy to
understand and avoid task implement cycle dependence
* Remove class ObjectJsonBase in Task to reduce complexity
fix: #7271
* [ci] Add coverage check in CI
* Coverage add dependent
* Install pydolphinscheduler before run coverage
* Up test coverage to 87% and down threshold to 85%
* Fix code style
* Add doc about coverage
* [python] Add parameter schedule for process definition
* Rebase and fix some code style
* May schedule work on both string and datetime
* Fix flaky test
* Add comment about freeze time
* Add edge test for schedule_json with None schedule
* Fix test function name
* Fix rebase error
* [python] Add code style lint for GA
* Change github action name
* Auto change by black
* Fix flake8
* Fix broken link for pyds README.md
* Auto fix by black
* Separate GitHub workflows
* Add Black badge and CI locally in README.md
* Add CI for python API
* Fix task assign without process definition
* Fix ci
* Add header
* Add build badge for pydolphinscheduler
* Add content to README.md
* Remove unnecessary blank line