A tool to configure environment variables interactively.
Project description
envmate
envmate
is an interactive command-line tool designed to simplify the process of configuring environment variables for your Python projects. It provides a user-friendly interface to set up .env
files for various Python frameworks such as Flask, Django, and FastAPI, as well as configure database connections, authentication systems, and other essential settings.
Features
- Interactive Setup: Guides you through the process of setting up environment variables with an easy-to-use interactive prompt.
- Support for Multiple Frameworks: Configure environment variables for Flask, Django, and FastAPI projects.
- Database Configuration: Supports both SQL (PostgreSQL, MySQL) and NoSQL (MongoDB, Cassandra) databases.
- Authentication Setup: Allows you to set up JWT or session-based authentication, including access and refresh tokens.
- Custom Environment Variables: Add custom environment variables specific to your project's needs.
- Configuration Templates: Save and reuse configuration templates to streamline the setup process for future projects.
- Environment-specific Settings: Configure variables for different environments like development, testing, and production.
Installation
You can install envmate
using pip:
pip install envmate
Usage
After installation, you can use the tool via the command line:
envmate
The tool will prompt you to select the Python framework you are using and guide you through setting up the necessary environment variables.
Example Workflow
$ envmate
Welcome to the Python Environment Configuration Tool!
What kind of Python stack are you using?
> Flask
Django
FastAPI
Which environment are you configuring?
> development
testing
production
Are you building an authentication system? (Y/n): Y
What type of authentication are you using?
> JWT
Session-based
Do you need access and refresh tokens? (Y/n): Y
Will your application use email protocols? (y/N): N
Will your application use Redis? (y/N): N
Will your application use SQL databases? (Y/n): Y
Will your application use NoSQL databases? (y/N): Y
Will your application use Elasticsearch? (y/N): N
Flask environment:
> development
production
Flask secret key: <generated_secret>
Enable debug mode? (y/N): Y
CORS origins: http://localhost:3000
Which NoSQL database are you using?
> MongoDB
Cassandra
MongoDB URI: mongodb://localhost:27017
Configuration Summary:
FLASK_ENV=development
SECRET_KEY=<generated_secret>
DEBUG=True
CORS_ORIGINS=http://localhost:3000
MONGODB_URI=mongodb://localhost:27017
Here is the summary of your configuration. Do you want to write it to the .env file? (Y/n): Y
.env variables have been written successfully.
Do you want to save this configuration as a template? (y/N): N
Process completed successfully!
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please read the CONTRIBUTING.md file for more information on how to contribute to this project.
Issues
If you encounter any issues or have suggestions for improvements, please report them on the GitHub issue tracker.
Author
Developed by harris-ahmad.
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
Built Distribution
File details
Details for the file envmate-0.5.0.tar.gz
.
File metadata
- Download URL: envmate-0.5.0.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f05170b1bd2f00a604777b531d2fc73863442757191df129885cfa2175204fa |
|
MD5 | 491637a93e65af25e6f0bc9a7acd2989 |
|
BLAKE2b-256 | c8ca453c1575e8c13d4e14a85bd4ab2623f17cafb0153a53111b189db29fa670 |
File details
Details for the file envmate-0.5.0-py3-none-any.whl
.
File metadata
- Download URL: envmate-0.5.0-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84712ae3dd12277d248483a216a1afe6d062d527ba6ef349440821f8d4931926 |
|
MD5 | 821ad90ef355e3bab52b40368eb6a215 |
|
BLAKE2b-256 | 532b54dc2be99fa46c1bf6f9802f57f8110657b7dbd49bf79df6d25b05f167cb |