AutoGPT
AutoGPT copied to clipboard
Drop requirements.txt in favor of pyproject.toml and add `autogpt` entrypoint
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.
This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request.
This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request.
@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
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
@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"
I think so, yes. It's just that we also have more pressing todos so we haven't gotten to discussing this yet.
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
I know this is a bit old but if you're interested in getting this merged, so am I
If we want to get this merged, we'll probably have to do it ourselves
Fair, at this point, its probably worth just reopening from scratch just to avoid conflicts
Duplicate of #1102