LuisMayo / LuisMayo/objection_engine

Move some parts of the engine into modules that can be installed separately

Open
#116 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
122
Forks
24
PR merge metrics
No merged PRs in 30d

Description

I've been working on an application for the Objection Engine that doesn't require things like sentiment analysis or specialized Unicode parsing, but I've been struggling a bit with getting it installed on my server because of those packages.

This is a screenshot from a fresh virtual environment, with only Objection Engine (and the dependencies it has) installed:
![CleanShot 2024-09-09 at 21 47 12@2x](https://github.com/user-attachments/assets/1d05f2df-f490-4c8a-826c-3a3591acc88a)

Torch and the NVIDIA drivers(?) together take up over 3 GB, and the `.venv` folder as a whole takes up about 4 GB; by contrast, the actual assets folder that Objection Engine uses is 133 MB.

Based on this, I'm wondering if it may make sense to look into splitting Objection Engine into separate modules that can be installed separately or all together, depending on the user's needs. For example, in my use case because I don't need the machine learning capabilities, I could install *only* the rendering engine.

To maintain compatibility, this repository could serve as the "all together" option, with the core rendering engine being split off into its own repository/module that is required and imported by this one.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by mapping the package's current dependencies and imports, then define separate installable modules for the rendering engine and optional sentiment-analysis, Unicode-parsing, and machine-learning components; done means rendering-only installation works while the existing all-in-one repository remains compatible.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.