{"id":19004450,"url":"https://github.com/zsoulaimane/automatic_salesreport_system","last_synced_at":"2026-04-02T03:10:58.390Z","repository":{"id":100733505,"uuid":"405775388","full_name":"ZSoulaimane/Automatic_SalesReport_System","owner":"ZSoulaimane","description":null,"archived":false,"fork":false,"pushed_at":"2021-09-12T23:30:10.000Z","size":1249,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-21T14:15:06.986Z","etag":null,"topics":["airflow","bash-script","cleaning","docker","email","pandas","python","shell"],"latest_commit_sha":null,"homepage":"","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/ZSoulaimane.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-12T23:23:41.000Z","updated_at":"2021-09-12T23:31:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"9feaa04f-75a1-410c-98e2-c265919e61b3","html_url":"https://github.com/ZSoulaimane/Automatic_SalesReport_System","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ZSoulaimane/Automatic_SalesReport_System","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZSoulaimane%2FAutomatic_SalesReport_System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZSoulaimane%2FAutomatic_SalesReport_System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZSoulaimane%2FAutomatic_SalesReport_System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZSoulaimane%2FAutomatic_SalesReport_System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZSoulaimane","download_url":"https://codeload.github.com/ZSoulaimane/Automatic_SalesReport_System/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZSoulaimane%2FAutomatic_SalesReport_System/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31294908,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T01:43:37.129Z","status":"online","status_checked_at":"2026-04-02T02:00:08.535Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","bash-script","cleaning","docker","email","pandas","python","shell"],"created_at":"2024-11-08T18:23:13.728Z","updated_at":"2026-04-02T03:10:58.371Z","avatar_url":"https://github.com/ZSoulaimane.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker-airflow\n[![CircleCI](https://circleci.com/gh/puckel/docker-airflow/tree/master.svg?style=svg)](https://circleci.com/gh/puckel/docker-airflow/tree/master)\n[![Docker Build Status](https://img.shields.io/docker/build/puckel/docker-airflow.svg)]()\n\n[![Docker Hub](https://img.shields.io/badge/docker-ready-blue.svg)](https://hub.docker.com/r/puckel/docker-airflow/)\n[![Docker Pulls](https://img.shields.io/docker/pulls/puckel/docker-airflow.svg)]()\n[![Docker Stars](https://img.shields.io/docker/stars/puckel/docker-airflow.svg)]()\n\nThis repository contains **Dockerfile** of [apache-airflow](https://github.com/apache/incubator-airflow) for [Docker](https://www.docker.com/)'s [automated build](https://registry.hub.docker.com/u/puckel/docker-airflow/) published to the public [Docker Hub Registry](https://registry.hub.docker.com/).\n\n## Informations\n\n* Based on Python (3.6-slim) official Image [python:3.6-slim](https://hub.docker.com/_/python/) and uses the official [Postgres](https://hub.docker.com/_/postgres/) as backend and [Redis](https://hub.docker.com/_/redis/) as queue\n* Install [Docker](https://www.docker.com/)\n* Install [Docker Compose](https://docs.docker.com/compose/install/)\n* Following the Airflow release from [Python Package Index](https://pypi.python.org/pypi/apache-airflow)\n\n## Installation\n\nPull the image from the Docker repository.\n\n    docker pull puckel/docker-airflow\n\n## Build\n\nOptionally install [Extra Airflow Packages](https://airflow.incubator.apache.org/installation.html#extra-package) and/or python dependencies at build time :\n\n    docker build --rm --build-arg AIRFLOW_DEPS=\"datadog,dask\" -t puckel/docker-airflow .\n    docker build --rm --build-arg PYTHON_DEPS=\"flask_oauthlib\u003e=0.9\" -t puckel/docker-airflow .\n\nor combined\n\n    docker build --rm --build-arg AIRFLOW_DEPS=\"datadog,dask\" --build-arg PYTHON_DEPS=\"flask_oauthlib\u003e=0.9\" -t puckel/docker-airflow .\n\nDon't forget to update the airflow images in the docker-compose files to puckel/docker-airflow:latest.\n\n## Usage\n\nBy default, docker-airflow runs Airflow with **SequentialExecutor** :\n\n    docker run -d -p 8080:8080 puckel/docker-airflow webserver\n\nIf you want to run another executor, use the other docker-compose.yml files provided in this repository.\n\nFor **LocalExecutor** :\n\n    docker-compose -f docker-compose-LocalExecutor.yml up -d\n\nFor **CeleryExecutor** :\n\n    docker-compose -f docker-compose-CeleryExecutor.yml up -d\n\nNB : If you want to have DAGs example loaded (default=False), you've to set the following environment variable :\n\n`LOAD_EX=n`\n\n    docker run -d -p 8080:8080 -e LOAD_EX=y puckel/docker-airflow\n\nIf you want to use Ad hoc query, make sure you've configured connections:\nGo to Admin -\u003e Connections and Edit \"postgres_default\" set this values (equivalent to values in airflow.cfg/docker-compose*.yml) :\n- Host : postgres\n- Schema : airflow\n- Login : airflow\n- Password : airflow\n\nFor encrypted connection passwords (in Local or Celery Executor), you must have the same fernet_key. By default docker-airflow generates the fernet_key at startup, you have to set an environment variable in the docker-compose (ie: docker-compose-LocalExecutor.yml) file to set the same key accross containers. To generate a fernet_key :\n\n    docker run puckel/docker-airflow python -c \"from cryptography.fernet import Fernet; FERNET_KEY = Fernet.generate_key().decode(); print(FERNET_KEY)\"\n\n## Configurating Airflow\n\nIt's possible to set any configuration value for Airflow from environment variables, which are used over values from the airflow.cfg.\n\nThe general rule is the environment variable should be named `AIRFLOW__\u003csection\u003e__\u003ckey\u003e`, for example `AIRFLOW__CORE__SQL_ALCHEMY_CONN` sets the `sql_alchemy_conn` config option in the `[core]` section.\n\nCheck out the [Airflow documentation](http://airflow.readthedocs.io/en/latest/howto/set-config.html#setting-configuration-options) for more details\n\nYou can also define connections via environment variables by prefixing them with `AIRFLOW_CONN_` - for example `AIRFLOW_CONN_POSTGRES_MASTER=postgres://user:password@localhost:5432/master` for a connection called \"postgres_master\". The value is parsed as a URI. This will work for hooks etc, but won't show up in the \"Ad-hoc Query\" section unless an (empty) connection is also created in the DB\n\n## Custom Airflow plugins\n\nAirflow allows for custom user-created plugins which are typically found in `${AIRFLOW_HOME}/plugins` folder. Documentation on plugins can be found [here](https://airflow.apache.org/plugins.html)\n\nIn order to incorporate plugins into your docker container\n- Create the plugins folders `plugins/` with your custom plugins.\n- Mount the folder as a volume by doing either of the following:\n    - Include the folder as a volume in command-line `-v $(pwd)/plugins/:/usr/local/airflow/plugins`\n    - Use docker-compose-LocalExecutor.yml or docker-compose-CeleryExecutor.yml which contains support for adding the plugins folder as a volume\n\n## Install custom python package\n\n- Create a file \"requirements.txt\" with the desired python modules\n- Mount this file as a volume `-v $(pwd)/requirements.txt:/requirements.txt` (or add it as a volume in docker-compose file)\n- The entrypoint.sh script execute the pip install command (with --user option)\n\n## UI Links\n\n- Airflow: [localhost:8080](http://localhost:8080/)\n- Flower: [localhost:5555](http://localhost:5555/)\n\n\n## Scale the number of workers\n\nEasy scaling using docker-compose:\n\n    docker-compose -f docker-compose-CeleryExecutor.yml scale worker=5\n\nThis can be used to scale to a multi node setup using docker swarm.\n\n## Running other airflow commands\n\nIf you want to run other airflow sub-commands, such as `list_dags` or `clear` you can do so like this:\n\n    docker run --rm -ti puckel/docker-airflow airflow list_dags\n\nor with your docker-compose set up like this:\n\n    docker-compose -f docker-compose-CeleryExecutor.yml run --rm webserver airflow list_dags\n\nYou can also use this to run a bash shell or any other command in the same environment that airflow would be run in:\n\n    docker run --rm -ti puckel/docker-airflow bash\n    docker run --rm -ti puckel/docker-airflow ipython\n\n# Wanna help?\n\nFork, improve and PR. ;-)\n\n\n# Pictures of the System Results\n\n![13 09 2021_00 21 19_REC](https://user-images.githubusercontent.com/53901834/133006106-3f679353-f95b-47bb-82eb-a33bd05cbb15.png)\n\n![13 09 2021_00 21 51_REC](https://user-images.githubusercontent.com/53901834/133006108-20f349a0-f797-4265-af78-9a90ccb52b99.png)\n\n![13 09 2021_00 22 14_REC](https://user-images.githubusercontent.com/53901834/133006109-22d968b5-f47a-456d-a324-ff3f0fc4e876.png)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzsoulaimane%2Fautomatic_salesreport_system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzsoulaimane%2Fautomatic_salesreport_system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzsoulaimane%2Fautomatic_salesreport_system/lists"}