Skip to main content

Liberty Airflow

Project description

📖 Liberty Airflow

A Scalable and Extensible FastAPI and React Scheduler prebuilt with Airflow

Airflow Setup Guide

📌 Prerequisites

Before installing Airflow, ensure you have the following installed on your system:

  • Python 3.12
  • PostgreSQL (for database storage)
  • Git (if needed for repository usage)

🔧 Step 1: Create a .env File

Airflow requires environment variables to be set. Create a .env file in the project root and configure it as follows:

# Airflow and Python Version
AIRFLOW_VERSION=2.10.5
PYTHON_VERSION=3.12

# PostgreSQL Config
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=test
POSTGRES_USER=test
POSTGRES_PASSWORD=your_password_here  # Replace with a secure password

# Admin PostgreSQL Config
POSTGRES_ADMIN_DB=liberty
POSTGRES_ADMIN_USER=liberty
POSTGRES_ADMIN_PASSWORD=your_secure_admin_password_here  # Replace with a secure password

# Airflow Config
AIRFLOW_HOME="./"
AIRFLOW__CORE__LOAD_EXAMPLES="False"
AIRFLOW__DATABASE__LOAD_DEFAULT_CONNECTIONS="False"
AIRFLOW__WEBSERVER__EXPOSE_CONFIG="True"
AIRFLOW__CORE__EXECUTOR="LocalExecutor"
AIRFLOW__WEBSERVER__WEB_SERVER_PORT=8081 # Replace with your port
AIRFLOW__WEBSERVER__BASE_URL="http://localhost:8081/airflow" # Replace with your URL
PYTHONWARNINGS="ignore::SyntaxWarning"
AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=postgresql+psycopg2://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}
AIRFLOW__WEBSERVER__SECRET_KEY=your_secret_key_here  # Replace with a secure secret key

# Default Airflow Admin User
AIRFLOW_ADMIN_USER=admin
AIRFLOW_ADMIN_EMAIL=admin@example.com
AIRFLOW_ADMIN_PASSWORD=your_admin_password_here  # Replace with a secure password
AIRFLOW_ADMIN_FIRSTNAME=Admin
AIRFLOW_ADMIN_LASTNAME=User

IMPORTANT: Do not commit the .env file to version control. Keep credentials secure.


▶ Step 2: Install Liberty Airflow

pip install liberty-airflow

This script will preconfigure the environment for Airflow installation


▶ Step 3: Install Airflow

To install Airflow and set up the database, run:

airflow-install

This script will:

  • Install Airflow and required dependencies
  • Create the PostgreSQL database and user (if not already created)
  • Initialize the Airflow database
  • Create a default Airflow admin user

▶ Step 4: Start Airflow

To start Airflow services, run:

airflow-start

This will:

  • Start the Airflow Scheduler
  • Start the Airflow Webserver

Once started, you can access Airflow at: 👉 http://localhost:8081/airflow


⏹ Step 5: Stop Airflow

To stop all running Airflow processes, run:

airflow-stop

This will:

  • Stop the Airflow Scheduler
  • Stop the Airflow Webserver

🛠 Troubleshooting

  • If Airflow does not start, check the logs in the logs/ directory.
  • Ensure PostgreSQL is running and accessible

✅ Next Steps

  • Configure DAGs inside $AIRFLOW_HOME/dags/.
  • Add Git integration using the configured GIT_URL.
  • Secure your instance by updating passwords and secret keys.

💖 Sponsorship

If you find Liberty Ariflow useful and would like to support its development, consider sponsoring us. Your contributions help maintain the project, add new features, and improve the documentation. Every contribution, big or small, is greatly appreciated!

To sponsor, visit: GitHub Sponsors or reach out to us directly.


📜 License

Liberty Airflow is open-source software licensed under the AGPL License.


📧 Contact & Support

If you have questions or need support:


⭐ If you find Liberty Airflow useful, consider giving it a star on GitHub!

git clone https://github.com/fblettner/liberty-airflow.git
cd liberty-framework

🚀 Let's build the future of business applications together! 🚀

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

liberty_airflow-1.0.1.tar.gz (7.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

liberty_airflow-1.0.1-py3-none-any.whl (7.8 MB view details)

Uploaded Python 3

File details

Details for the file liberty_airflow-1.0.1.tar.gz.

File metadata

  • Download URL: liberty_airflow-1.0.1.tar.gz
  • Upload date:
  • Size: 7.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for liberty_airflow-1.0.1.tar.gz
Algorithm Hash digest
SHA256 55791672265f1e32a41d52f9a4f6ea2b460f03ef8ce3ea8398b833a0267d0f2f
MD5 10a03c56fd7060543fca521fa4897196
BLAKE2b-256 91d0411711850e8ec948f2629e89133184546a291373f973030bfec39c28b729

See more details on using hashes here.

File details

Details for the file liberty_airflow-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for liberty_airflow-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 20c0bcdc2c17e36285161c7a093b38c137bf44aff0b7f959174ddc2d01eea855
MD5 7bcaa30cb1cfa878055bd727c1cdabbf
BLAKE2b-256 3aa479adaf01a761fba367ea2a7f39e96ee52d45a9ea374faf298c6210cc8f55

See more details on using hashes here.

Supported by

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