Skip to main content

Dequindre /de-KWIN-der/ (n.): A minimalist scheduler.

Project description

Supported Versions Documentation Version License PyPI - Downloads

Dequindre Is Easy to Setup

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 Is Easy to Run

Dequindre makes it easy to run virtual environments. Dequindre supports virtualenv, pipenv, and conda environments.

Dequindre Is Easy to Learn

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.

Your First Dequindre Schedule

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...")

Features

  • 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

Extras

License

This project is licensed under the MIT License - see the LICENSE file for details.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Contribute

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.

Acknowledgements

Thank you, Dynatrace, for facilitating the early development of Dequindre during Innovation Day, February 2019.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dequindre-0.10.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

dequindre-0.10.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file dequindre-0.10.0.tar.gz.

File metadata

  • Download URL: dequindre-0.10.0.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for dequindre-0.10.0.tar.gz
Algorithm Hash digest
SHA256 469ebf400ecc29bed3f159441bf6a0f313986f07306097c597af0f00621bba50
MD5 bfe356b2e19b39ec4cdcd54c8b0ef4ed
BLAKE2b-256 c423d1e09a6e4f44dd5eed706c340bbd6cc6ceeda0dbef042ed5943c86c6931f

See more details on using hashes here.

File details

Details for the file dequindre-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: dequindre-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for dequindre-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 58603a508ddcbac9d32d4f74429ab94675d3eda4a3ed4e3ac9c5c05fa4d8ba18
MD5 293aeedc4f3094a226ed5345603f8f66
BLAKE2b-256 624da4e9e89fcb29e4be6ac1ee3953e26b948581acc4773ab8c2f20712fcda03

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page