Skip to main content

Enforce Best Practices for all your Airflow DAGs. ⭐

Project description

airflint

pre-commit.ci status test workflow codeql-analysis workflow codecov PyPI version License PyPI - Python Version PyPI version

Enforce Best Practices for all your Airflow DAGs. ⭐

🧑‍🏫 Rules

  • use datetime instead of days_ago in DAG start_date
  • task decorator instead of PythonOperator and PythonVenvOperator
  • dag decorator instead of DAG
  • jinja string instead of Variable.get

⚠️ airflint does not remove imports. For removing unused imports please use autoflake additionally.

Please check the known issues first, in case you find any bugs. If you cannot find them there, please open an Issue.

💡 Future Ideas

  • fix Official Airflow DeprecationWarnings

🚀 Get started

To install it from PyPI run:

pip install airflint

Then just call it like this:

usage

pre-commit

Alternatively you can add the following repo to your pre-commit-config.yaml:

  - repo: https://github.com/feluelle/airflint
    rev: v0.1.1-alpha
    hooks:
      - id: airflint
        args: ["-a"]  # Use -a for replacing inplace

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

airflint-0.1.2a0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

airflint-0.1.2a0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file airflint-0.1.2a0.tar.gz.

File metadata

  • Download URL: airflint-0.1.2a0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.12 Linux/5.13.0-1021-azure

File hashes

Hashes for airflint-0.1.2a0.tar.gz
Algorithm Hash digest
SHA256 04ab287e3f391cf6f6115461999ff485cf6994fbe28ab8a702203b3d186f9ef4
MD5 c4bcf731cf61e7599975ea5035d91fa4
BLAKE2b-256 229c606804738ae213c2e894496e64e729310f9e12b94410b9a3759d87a94f0d

See more details on using hashes here.

File details

Details for the file airflint-0.1.2a0-py3-none-any.whl.

File metadata

  • Download URL: airflint-0.1.2a0-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.12 Linux/5.13.0-1021-azure

File hashes

Hashes for airflint-0.1.2a0-py3-none-any.whl
Algorithm Hash digest
SHA256 7fd87dfac986c462732a78d674f4049b58014b9388b6526a6939452c7cc979ca
MD5 a633dbcf0416706773ff1e2a3572fe89
BLAKE2b-256 a8dda80c3dbe1ad48340180958f88fff444379a800d1ab240e4b1cef3d3706b2

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