Skip to content

Conversation

@tcdent
Copy link
Collaborator

@tcdent tcdent commented Nov 28, 2024

Updater checks the PyPi api for the latest version, and then uses the package manager we're already using in the user's project to install updates.

packaging.py is a simple wrapper that abstracts all interactions with packaging so we can change it in one place when we make the move to another system.

@bboynton97
Copy link
Contributor

yooooo i opened issue #73 without even seeing you already did it! 😮‍💨

# Conflicts:
#	agentstack/generation/tool_generation.py
# Conflicts:
#	agentstack/generation/tool_generation.py
@bboynton97
Copy link
Contributor

i extended update.py to check for updates to the framework and agentops as well when running agentstack update. this seemed relevant as we recently had users that were running into an issue on an older crew version that had been fixed, however they were using an older version of crew because that's what the project was generated with.

@bboynton97
Copy link
Contributor

i decided to store CLI update checks in the application data dirs using python's appdirs. because a user can have multiple install locations (venvs and homebrew), im storing the update checks as json. for example on my machine, i see the data stored as:

 cat ~/Library/Application\ Support/AgentStack/.cli-last-update
{
  "/Users/braelyn/Developer/agentstack/AgentStack/venv": "2024-12-02T22:39:45.275908"
}%      

# Conflicts:
#	agentstack/generation/tool_generation.py
@bboynton97
Copy link
Contributor

im happy with this now. i'd love final thoughts / review @tcdent

@tcdent
Copy link
Collaborator Author

tcdent commented Dec 3, 2024

i decided to store CLI update checks in the application data dirs using python's appdirs. because a user can have multiple install locations (venvs and homebrew), im storing the update checks as json. for example on my machine, i see the data stored as:

 cat ~/Library/Application\ Support/AgentStack/.cli-last-update
{
  "/Users/braelyn/Developer/agentstack/AgentStack/venv": "2024-12-02T22:39:45.275908"
}%      

Just parsing this out in my mind:

The user's project dir keeps track of the last update check for all installations of agentstack it has interacted with.

If the user loads a shared venv into another project, it tracks the last-update for all installations of agentstack it has interacted with, separately.

I think storing it in the venv is the way to go.

@bboynton97 bboynton97 merged commit 27b2330 into agentstack-ai:main Dec 4, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants