AutoGPT icon indicating copy to clipboard operation
AutoGPT copied to clipboard

Drop requirements.txt in favor of pyproject.toml and add `autogpt` entrypoint

Open jayceslesar opened this issue 1 year ago • 4 comments

Background

The idea here is to drop requirements.txt in favor of pyproject.toml which is the preferred way to handle projects as scale such as this. This opens up the door to a more unified CI as time passes. This also allows the ability to split out dev dependencies and application dependencies in the future if needed. This also adds an autogpt entrypoint so users no longer have to run python3 -m autogpt for clarity.

Changes

Change documentation around installing to just pip install . and pip install -e . if needed. No setup should change other than that and relevant docker commands were changed to match this.

Documentation

The README.md was changed in order to show that the requirements.txt is not needed anymore and one can simply pip install . and also add an entrypoint so users of the application level code can just run autogpt with the same CLI exposed behind the previous way of invoking the application.

Test Plan

Testing shouldnt really need to be done

PR Quality Checklist

  • [x] My pull request is atomic and focuses on a single change.
  • [ ] I have thoroughly tested my changes with multiple different prompts. # N/A
  • [x] I have considered potential risks and mitigations for my changes.
  • [x] I have documented my changes clearly and comprehensively.
  • [x] I have not snuck in any "extra" small tweaks changes

This doesn't change any functional code only how the code/application is installed and invoked.

jayceslesar avatar Apr 16 '23 17:04 jayceslesar

This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request.

github-actions[bot] avatar Apr 17 '23 16:04 github-actions[bot]

This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request.

github-actions[bot] avatar Apr 17 '23 16:04 github-actions[bot]

@jayceslesar can you resolve the merge conflicts and make sure it correctly handles the conditional dependencies? https://github.com/Significant-Gravitas/Auto-GPT/blob/2f053fe9db74a59001715a64791f1c983fbd46a0/requirements.txt#L36-L49

Pwuts avatar Apr 20 '23 13:04 Pwuts

If we're going this direction (which i like a lot) why not just switch to poetry completely and use a poetry.lock for dependency management? way prefer how poetry handles installs and virtual environments

edcohen08 avatar Apr 24 '23 20:04 edcohen08

@Pwuts is this still something you guys want to implement? I like the poetry suggestion mentioned above...getting the dependencies not to exist in docker may be tricky...excluding dependencies in extras is not really feasible as they are "extras"

jayceslesar avatar Apr 27 '23 00:04 jayceslesar

I think so, yes. It's just that we also have more pressing todos so we haven't gotten to discussing this yet.

Pwuts avatar Apr 27 '23 21:04 Pwuts

This is a mass message from the AutoGPT core team. Our apologies for the ongoing delay in processing PRs. This is because we are re-architecting the AutoGPT core!

For more details (and for infor on joining our Discord), please refer to: https://github.com/Significant-Gravitas/Auto-GPT/wiki/Architecting

p-i- avatar May 05 '23 00:05 p-i-

I know this is a bit old but if you're interested in getting this merged, so am I

ntindle avatar May 20 '23 22:05 ntindle

If we want to get this merged, we'll probably have to do it ourselves

Pwuts avatar Jun 07 '23 11:06 Pwuts

Fair, at this point, its probably worth just reopening from scratch just to avoid conflicts

ntindle avatar Jun 10 '23 03:06 ntindle

Duplicate of #1102

Pwuts avatar Sep 14 '23 14:09 Pwuts