{"id":20710420,"url":"https://github.com/mobiletelesystems/evacuator","last_synced_at":"2025-10-28T09:47:48.903Z","repository":{"id":80900808,"uuid":"601638638","full_name":"MobileTeleSystems/evacuator","owner":"MobileTeleSystems","description":"Catch exception and exit with specific exit code","archived":false,"fork":false,"pushed_at":"2025-03-03T19:45:49.000Z","size":183,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"develop","last_synced_at":"2025-04-23T05:58:23.180Z","etag":null,"topics":["airflow","skip-dag"],"latest_commit_sha":null,"homepage":"https://evacuator.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MobileTeleSystems.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.rst","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-14T13:56:04.000Z","updated_at":"2025-03-03T19:45:52.000Z","dependencies_parsed_at":"2023-12-25T21:08:21.700Z","dependency_job_id":"d532fdc9-1a4b-47b8-b783-8cb5bb3dddca","html_url":"https://github.com/MobileTeleSystems/evacuator","commit_stats":{"total_commits":19,"total_committers":3,"mean_commits":6.333333333333333,"dds":0.368421052631579,"last_synced_commit":"0afb249255dcb06ff87c1a21bb50752b9c4b7969"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MobileTeleSystems%2Fevacuator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MobileTeleSystems%2Fevacuator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MobileTeleSystems%2Fevacuator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MobileTeleSystems%2Fevacuator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MobileTeleSystems","download_url":"https://codeload.github.com/MobileTeleSystems/evacuator/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250379787,"owners_count":21420841,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["airflow","skip-dag"],"created_at":"2024-11-17T02:11:54.466Z","updated_at":"2025-10-28T09:47:43.849Z","avatar_url":"https://github.com/MobileTeleSystems.png","language":"Python","readme":".. title\n\nEvacuator\n=========\n\n|Repo Status| |PyPI Latest Release| |PyPI License| |PyPI Python Version| |PyPI Downloads|\n|Documentation| |CI Status| |Test Coverage| |pre-commit.ci Status|\n\n.. |Repo Status| image:: https://www.repostatus.org/badges/latest/active.svg\n    :alt: Repo status - Active\n    :target: https://github.com/MobileTeleSystems/evacuator\n.. |PyPI Latest Release| image:: https://img.shields.io/pypi/v/evacuator\n    :alt: PyPI - Latest Release\n    :target: https://pypi.org/project/evacuator/\n.. |PyPI License| image:: https://img.shields.io/pypi/l/evacuator.svg\n    :alt: PyPI - License\n    :target: https://github.com/MobileTeleSystems/evacuator/blob/develop/LICENSE.txt\n.. |PyPI Python Version| image:: https://img.shields.io/pypi/pyversions/evacuator.svg\n    :alt: PyPI - Python Version\n    :target: https://pypi.org/project/evacuator/\n.. |PyPI Downloads| image:: https://img.shields.io/pypi/dm/evacuator\n    :alt: PyPI - Downloads\n    :target: https://pypi.org/project/evacuator/\n.. |Documentation| image:: https://readthedocs.org/projects/evacuator/badge/?version=stable\n    :alt: Documentation - ReadTheDocs\n    :target: https://evacuator.readthedocs.io/\n.. |CI Status| image:: https://github.com/MobileTeleSystems/evacuator/workflows/Tests/badge.svg\n    :alt: Github Actions - latest CI build status\n    :target: https://github.com/MobileTeleSystems/evacuator/actions\n.. |Test Coverage| image:: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/\n    MTSOnGithub/03e73a82ecc4709934540ce8201cc3b4/raw/evacuator_badge.json\n    :target: https://github.com/MobileTeleSystems/evacuator/actions\n.. |pre-commit.ci Status| image:: https://results.pre-commit.ci/badge/github/MobileTeleSystems/evacuator/develop.svg\n    :alt: pre-commit.ci - status\n    :target: https://results.pre-commit.ci/latest/github/MobileTeleSystems/evacuator/develop\n\nWhat is Evacuator?\n------------------\n\nDecorator/context manager designed to catch a certain exception and exit with specific exit code.\n\nDesigned to be used in `Apache Airflow \u003chttps://airflow.apache.org/\u003e`__ with:\n    * `BashOperator \u003chttps://airflow.apache.org/docs/apache-airflow/stable/howto/operator/bash.html#skipping\u003e`_ (`airflow\u003e2.1`)\n    * `PythonVirtualenvOperator \u003chttps://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/operators/python/index.html#airflow.operators.python.PythonVirtualenvOperator\u003e`_ (`airflow\u003e=2.6`)\n    * `ExternalPythonOperator \u003chttps://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/operators/python/index.html#airflow.operators.python.ExternalPythonOperator\u003e`_ (`airflow\u003e=2.6`)\n    * `DockerOperator \u003chttps://airflow.apache.org/docs/apache-airflow-providers-docker/stable/_api/airflow/providers/docker/operators/docker/index.html#airflow.providers.docker.operators.docker.DockerOperator\u003e`_ (`apache-airflow-providers-docker\u003e=3.5`)\n    * `KubernetesPodOperator \u003chttps://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/stable/_api/airflow/providers/cncf/kubernetes/operators/pod/index.html#airflow.providers.cncf.kubernetes.operators.pod.KubernetesPodOperator\u003e`_ (`apache-airflow-providers-cncf-kubernetes\u003e=6.1`)\n    * `SSHOperator \u003chttps://airflow.apache.org/docs/apache-airflow-providers-ssh/stable/_api/airflow/providers/ssh/operators/ssh/index.html#airflow.providers.ssh.operators.ssh.SSHOperator\u003e`_ (`apache-airflow-providers-ssh\u003e=3.10`)\n    * any other operator support skipping task when process is exited with some specific exit code (``skip_on_exit_code`` option)\n\n.. installation\n\nHow to install\n---------------\n\n.. code:: bash\n\n    pip install evacuator\n\n.. documentation\n\nDocumentation\n-------------\n\nSee https://evacuator.readthedocs.io/\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmobiletelesystems%2Fevacuator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmobiletelesystems%2Fevacuator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmobiletelesystems%2Fevacuator/lists"}