Pradipta01/Code_Generator
0
1import streamlit as st2import google.generativeai as genai3from dotenv import load_dotenv4import os5 6load_dotenv()7genai.configure(api_key=os.getenv("GEMINI_API_KEY"))8 9 10def generate_code(user_input, language):11 prompt = f"""12 Generate code in {language} that does the following:13 14 {user_input}15 16 Provide only the code, no explanations or comments unless absolutely necessary.17 Don't include any delimiters at the beginning and the ending of the code.18 """19 model = genai.GenerativeModel("gemini-1.5-flash")20 response = model.generate_content(prompt)21 22 return response.text23 24def main():25 user_input = st.text_input("Enter your query:")26 27 languages = ["Python", "JavaScript", "Java", "SQL", "C++", "C#","Go", "Swift","R", "Ruby"]28 chosen_language = st.selectbox("Choose a programming language:", languages)29 30 if st.button("Generate Code"):31 generated_code = generate_code(user_input, chosen_language)32 st.subheader("Generated Code:")33 st.code(generated_code)34 35 extensions = { # Store extensions in a variable36 "Python": "py",37 "JavaScript": "js",38 "Java": "java",39 "SQL": "sql",40 "C++": "cpp",41 "C#": "cs",42 "Go": "go",43 "Swift": "swift",44 "R": "r",45 "Ruby": "rb",46 }47 48 extension = extensions.get(chosen_language, "txt") # Get extension49 50 file_name = f"generated_code.{extension}" # *Now* use f-string51 52 st.download_button(53 label="Download Code",54 data=generated_code,55 file_name=file_name, # Use the pre-constructed filename56 mime="text/plain"57 )58 59 60if __name__ == "__main__":61 main()