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

Installation involves no less than 6 instructlab-* packages #2010

Closed
jpodivin opened this issue Aug 7, 2024 · 5 comments
Closed

Installation involves no less than 6 instructlab-* packages #2010

jpodivin opened this issue Aug 7, 2024 · 5 comments
Labels
design Alters the design of the CLI question Further information is requested stale

Comments

@jpodivin
Copy link
Contributor

jpodivin commented Aug 7, 2024

Installing instruct lab is split across several packages, all of which need to be installed in order to obtain functioning environment. This is besides other, 3rd party dependencies, and indirect dependencies of packages concerned.

This creates two issues.

First and foremost, maintaining releases of six packages is inherently more complicated than maintaining 2. We could combine them all for distribution, but this would be prone to issues, not mention confusing to users of instruct lab as the pip packages wouldn't correspond to packages rpm packages.

Second, changes to code in dependent instructlab-* packages will require dependency declarations as part of the PR, covering the path in dependency graph. This approach has to be also implemented in CI, making sure that changes across the chain is tested in turn.

At the same time the APIs must be maintained rigorously, so that no incompatibilities between libraries arise.

Imho, it would be easier to combine at least some of the packages into general utilities/lib package.

@jjasghar
Copy link
Member

jjasghar commented Aug 7, 2024

This seems like something that should be in https://github.com/instructlab/instructlab not taxonomy.

@jjasghar jjasghar transferred this issue from instructlab/taxonomy Aug 7, 2024
@bjhargrave
Copy link
Contributor

pip install instructlab works fine. I think you need to state your issue more specifically as related to packaging for distribution in linux as rpms, debs, etc.

@booxter
Copy link
Contributor

booxter commented Aug 7, 2024

@jpodivin not necessarily to disagree, but to add context.

  1. the split reflects the team structure (there are separate squads for each of the libraries / components).
  2. I believe one reason the project split out the code that originally lived under the umbrella of instructlab (CLI) repo was so that the same libraries could be used to build other services (e.g. REST API) without pulling CLI specific dependencies like click. Whether the project had to split into so many small pieces, and whether dependency issues could be solved otherwise (e.g. with optional dependencies), I don't know.
  3. Folks envisioned separate communities for these pieces. This reason was documented at least in some new repo proposals.

I suspect there may be other, (better?) reasons for the split, but I don't know for sure.

@nathan-weinberg nathan-weinberg added question Further information is requested design Alters the design of the CLI labels Aug 8, 2024
Copy link

This issue has been automatically marked as stale because it has not had activity within 90 days. It will be automatically closed if no further activity occurs within 30 days.

@github-actions github-actions bot added the stale label Nov 14, 2024
Copy link

This issue has been automatically closed due to inactivity. Please feel free to reopen if you feel it is still relevant!

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Dec 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design Alters the design of the CLI question Further information is requested stale
Projects
None yet
Development

No branches or pull requests

5 participants