Phidata templates are setup to manage dependencies using a pyproject.toml file, which is used to generate the requirements.txt file using pip-tools.

Adding or Updating a python library is a 2 step process:

  1. Add library to the pyproject.toml file
  2. Auto-Generate the requirements.txt file

We highly recommend auto-generating the requirements.txt file using this process.

Update pyproject.toml

  • Open the pyproject.toml file
  • Add new libraries to the dependencies section.

Generate requirements

After updating the dependencies in the pyproject.toml file, auto-generate the requirements.txt file using a helper script or running pip-compile directly

./scripts/upgrade.sh

If you’d like to upgrade all python libraries to their latest version, run:

./scripts/upgrade.sh all

Rebuild Images

After updating the requirements.txt file, rebuild your images.

Rebuild dev images

phi ws up --env dev --infra docker --type image

Rebuild production images

Remember to authenticate with ECR if needed.

phi ws up --env prd --infra docker --type image

Recreate Resources

After rebuilding images, recreate the resources.

Recreate dev containers

phi ws restart --env dev --infra docker --type container

Restart ECS services

phi ws patch --env prd --infra aws --name service