API Keys and Configuration
📚

API Keys and Configuration

Created
Sep 1, 2025 10:05 PM
Tags

Introduction

When working on Python applications—especially those that connect to APIs or databases—you often need to manage sensitive information like:

  • API keys (e.g., OpenAI, Google)
  • Database connection strings (e.g., PostgreSQL, MySQL)
  • Debug settings or environment flags

Hardcoding this information inside your Python script is risky and considered a bad practice.

To manage this information securely and cleanly, you should use the python-dotenv package.

This guide explains how to use python-dotenv to handle configuration variables in a secure, reusable, and scalable way.

Step 1: Install python-dotenv

Step 2: Create a .env File

Step 3: Load Variables in Your Python Script

Step 4: Use Environment Variables in Code

Step 5: Exclude the .env File from Git

Step 6: Share a Template Using .env.example

Summary of Best Practices

Practice
Description
Use .env
Store sensitive variables like API keys and database URLs
Load with load_dotenv()
Makes .env values accessible through os.getenv()
Never commit .env
Add it to .gitignore to keep secrets private
Use .env.example
Share expected variables without exposing actual values
Use in any framework
Works in Flask, Django, FastAPI, scripts, notebooks, and more

Conclusion

Using python-dotenv is a simple but essential practice for any serious Python project. It improves security, makes configuration more manageable, and helps you scale your code for collaboration or deployment.

Whether you're working with cloud APIs, databases, or local development settings, managing your environment with .env files is an industry-standard practice.