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

Auto-GPT Packaging #5003

Closed
26 tasks
collijk opened this issue Jul 17, 2023 · 2 comments
Closed
26 tasks

Auto-GPT Packaging #5003

collijk opened this issue Jul 17, 2023 · 2 comments
Assignees
Labels
meta Meta-issue about a topic that multiple issues already exist for

Comments

@collijk
Copy link
Contributor

collijk commented Jul 17, 2023

Background

Auto-GPT is not a proper python package. It depends on custom and pretty complicated installation steps.

Related Issues

There are many, many, many issues related to installation and setup. Here is a sampling:

Related PRs

There are fewer open issues, but there have been a few attempts to clean up installation and move us to modern packaging.

The Plan:

  • We need to find out the platform-specific, non-python dependencies for AutoGPT. We'll need to list these in the install instructions. I'm running into a host of these on linux for the TTS stuff. Install instructions will have some brew/apt-get/whatever windows uses instructions to install those things.
  • Do some code motion. There are a number of issues with the repo layout right now.
    • Swap to a src layout to ensure we're running and testing installed versions of the code.
    • Clean up a handful of cruft files that are leftover from earlier implementations.
    • Move settings files out of the repository and into a user directory (as the user may never clone the repo).
  • Detailed file movement plan:
    • /autogpt -> /src/autogpt/
    • /data/CURRENT_BULLETIN.md -> {USER_AGPT_DIRECTORY}/CURRENT_BULLETIN.md
    • /logs/ -> {USER_AGPT_DIRECTORY}/agents/{AGENT_NAME}/logs
    • /plugins/ -> {USER_AGPT_DIRECTORY}/plugins
    • /scripts/ -> /src/autogpt/scripts/
    • .env.template -> /dev/null
    • .env -> {USER_AGPT_DIRECTORY}/.env
    • ai_settings.yaml -> {USER_AGPT_DIRECTORY}/agents/{AGENT_NAME}/ai_settings.yaml
    • azure.yaml.template -> {USER_AGPT_DIRECTORY}/azure.yaml
    • benchmarks.py -> /agbenchmark/benchmarks.py
    • data_ingestion.py -> /dev/null
    • main.py -> /dev/null (never used?)
    • plugins_config.yaml -> {USER_AGPT_DIRECTORY}/agents/{AGENT_NAME}/plugins_config.yaml
    • prompt_settings.yaml -> {USER_AGPT_DIRECTORY}/prompt_settings.yaml
    • run* -> /dev/null
    • tests.py -> /dev/null
  • Add a autogpt setup command that can make the USER_AGPT_DIRECTORY and fill it with all the necessaries.
  • Use poetry to configure our builds and setup deployment to PyPI (pending some testing from Luke)
  • Integrate poetry into CI
  • Update docs

The Caveats

  • This changes the user workflow. They'll no longer need to clone the repo, but things will no longer be in the places they're used to. That's pretty annoying.
  • This changes the developer workflow (though not in any significant way).

The Benefits

  • We look like a normal python package on PyPI (expanding our audience)
  • We can interactively guide the user through setup, instead of making them configure from docs.
  • We reduce maintenance overhead by using a standard layout and standard tools.
  • Deploying docker images without issues becomes a lot easier/more stable.
  • We enable other people to build apps using autogpt as a lib.
  • Users will get the often-requested feature of being able to maintain multiple agents at once.

The Timeline

Release 0.5.0 (before the end of July).

@github-actions
Copy link
Contributor

github-actions bot commented Sep 6, 2023

This issue has automatically been marked as stale because it has not had any activity in the last 50 days. You can unstale it by commenting or removing the label. Otherwise, this issue will be closed in 10 days.

@github-actions github-actions bot added the Stale label Sep 6, 2023
@github-actions
Copy link
Contributor

This issue was closed automatically because it has been stale for 10 days with no activity.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Sep 17, 2023
@Pwuts Pwuts added meta Meta-issue about a topic that multiple issues already exist for and removed Stale labels Sep 17, 2023
@Pwuts Pwuts reopened this Sep 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta Meta-issue about a topic that multiple issues already exist for
Projects
None yet
Development

No branches or pull requests

4 participants