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

General codebase refactor and cleanup #127

Open
5 tasks
FrancescoCaracciolo opened this issue Jan 6, 2025 · 1 comment
Open
5 tasks

General codebase refactor and cleanup #127

FrancescoCaracciolo opened this issue Jan 6, 2025 · 1 comment
Assignees
Labels
code Code improvements

Comments

@FrancescoCaracciolo
Copy link
Collaborator

To make Newelle more extendible, easier to maintain and to get people contribute to it, we should make a general codebase cleanup.

  1. Change the directory structure
    I propose this directory structure:
project_root/
├── main.py
├── window.py
├── settings.py
├── extensions.py
├── constants.py
├── handlers/
│   ├── __init__.py
│   ├── handler.py
│   ├── llm/
│   │   ├── __init__.py
│   │   ├── base.py
│   │   ├── openai.py
│   │   ├── claude.py
│   │   ├── bing.py
│   │   ├── gpt4all.py
│   │   ├── groq.py
│   │   ├── ollama.py
│   │   ├── gemini.py
│   │   └── mistral.py
│   ├── tts/
│   │   ├── __init__.py
│   │   ├── base.py
│   │   ├── elevenlabs.py
│   │   ├── gtts.py
│   │   └── espeak.py
│   └── stt/
│       ├── __init__.py
│       ├── base.py
│       ├── whisper.py
│       ├── google.py
│       ├── sphinx.py
│       ├── vosk.py
│       └── witai.py
├── ui/
│   ├── __init__.py
│   ├── extension.py
│   ├── presentation.py
│   ├── profile.py
│   ├── screenrecorder.py
│   ├── shortcuts.py
│   ├── thread_editing.py
│   └── widgets/
│       ├── __init__.py
│       ├── copybox.py
│       ├── multiline_entry.py
│       ├── bar_chart.py
│       ├── profile_row.py
│       └── file.py
└── utils/
    ├── __init__.py
    ├── image_utils.py
    ├── system_utils.py
     ... from extra.py
  1. Add documentation to missing methods
  2. Clean up code style with flake8 standard or similar
  3. Local LLM handler should be only built as handler and not have special code in settings
  4. Maybe add more widgets in separated files to simplify window.py

Does it look good?

@FrancescoCaracciolo FrancescoCaracciolo added the code Code improvements label Jan 6, 2025
@FrancescoCaracciolo FrancescoCaracciolo self-assigned this Jan 6, 2025
@qwersyk
Copy link
Owner

qwersyk commented Jan 6, 2025

Yeah, it looks great! I think it’s a solid idea and will definitely make the code easier to work with.

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

No branches or pull requests

2 participants