Anywhere Python goes, Dequindre can follow. Dequindre is written in pure
python and is OS independent. All you need is to pip install dequindre
.
Dequindre makes it easy to run virtual environments. Dequindre supports virtualenv, pipenv, and conda environments.
You can run your first Dequindre workflow in minutes. Dequindre is less than 1000 lines of Python and fully documented. In contrast, Airflow v1.10.2 has 444 pages of docs.
Install dequindre from PyPI pip install dequindre
. Then in the REPL,
>>> from dequindre import Task, DAG, Dequindre
>>> ## define tasks and environments
>>> boil_water = Task('./boil_water.py')
>>> steep_tea = Task('./steep_tea.py')
>>> drink_tea = Task('./drink_tea.py')
>>> ## define runtime dependencies
>>> make_tea = DAG(dependencies={
... steep_tea: boil_water,
... drink_tea: steep_tea
... })
>>> ## create schedules
>>> dq = Dequindre(make_tea)
>>> dq.get_schedules()
defaultdict(<class 'set'>, {
1: {Task(./boil_water.py)},
2: {Task(./steep_tea.py)},
3: {Task(./drink_tea.py)}})
>>> ## run tasks if the files exist.
>>> dq.run_tasks()
Running Task(./boil_water.py)
I am boiling water...
Running Task(./steep_tea.py)
I am steeping tea...
Running Task(./drink_tea.py)
I am drinking tea...
You can run the tasks by copy-pasting the following python code into the commented files.
# pour_water.py
print("I'm pouring water...")
# boil_water.py
print("I'm boiling water...")
# steep_tea.py
print("I'm steeping tea...")
- Automated workflow scheduling
- Pure Python: Relies entirely on Python built-ins to reduce bugs and complexity
- Cross-Python compatible: Supports Python 2 and Python 3
- Cross-platform: Windows and Unix style OS environments
- Run your Python tasks in any pre-defined environments
- dequindre facilitates virtualenv, conda, and pipenv environments
- Supports dynamic workflow configuration also seen in Airflow
- Documented examples and configuration
This project is licensed under the MIT License - see the LICENSE file for details.
We use SemVer for versioning. For the versions available, see the tags on this repository.
If you're interested in contributing to Dequindre, raise an issue, make a pull request to dev, and reach out to the author, vogt4nick.
Please read our contribution guidelines for details on our code of conduct, and the process for submitting pull requests to us.
Thank you, Dynatrace, for facilitating the early development of Dequindre during Innovation Day, February 2019.