Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactoring GUI and API Integration, Design overhaul. #30

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

rtuszik
Copy link
Owner

@rtuszik rtuszik commented Oct 6, 2024

Summary:
This PR includes a major refactor of the codebase, as well as a design overhaul, as can be seen in the new styles.py.

Main Changes:

  1. New GUI Structure:

    • Added a new folder src/gui/ containing modular files for UI components:
      • __init__.py: Initialization of GUI components.
      • filehandler.py: Handles file downloads and ZIP creation.
      • imagegenerator.py: Main logic for the image generator UI and settings.
      • lightbox.py: UI component for viewing images in a Lightbox.
      • panels.py: Layouts for the different sections of the GUI.
      • styles.py: Custom styles and dark mode setup.
      • usermodels.py: Interface to manage user-added models for Replicate.
  2. Modular Utility Classes:

    • Moved utility functions to the new src/util/ folder:
      • replicate_api.py: Refactored image generator API class.
      • settings.py: Handles app configurations and settings.
  3. File Deletions:

    • Removed src/config.py and src/gui.py as they were replaced by the new modular structure.
  4. Main Application Refactor:

    • Updated src/main.py to use the refactored ImageGeneratorGUI class and utility functions for cleaner separation of logic and UI.

…er maintainability and readability

chore(gitignore): add .aider* to ignore list to prevent tracking of temporary files
…tter modularity

refactor(main.py): update imports and usage to reflect new module structure
feat(util): add replicate_api.py to encapsulate API interactions
refactor(util): create settings.py to handle configuration management
…tyles

feat(gui): enable dark mode by default in ImageGeneratorGUI

chore(gui): import Styles in panels.py to ensure consistent styling

style(gui): comment out unused dark_mode switch code in panels.py

refactor(gui): format lambda function for better readability in panels.py

chore(usermodels.py): add missing imports for asyncio and json
…r for better control

refactor(gui/usermodels.py): import Settings from util for improved configuration management

chore(main.py): change logger level from DEBUG to INFO to reduce log verbosity
Copy link

New and removed dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
pypi/[email protected] environment, eval, filesystem, network, shell 0 64.1 MB zauberzeug
pypi/[email protected] environment, filesystem Transitive: eval, shell +2 2.86 MB andreasjansson, bfirsh, mattt, ...1 more

🚮 Removed packages: pypi/[email protected], pypi/[email protected]

View full report↗︎

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant