Skip to main content
pyx organizes users and packages into teams, workspaces, registries, and views.

Teams

A team is the highest level of organization in pyx. A team contains one or more workspaces and is made up of users of various roles. Most users will belong to a single team corresponding to your organization, but you may have multiple teams depending on how your organization is using pyx. When you log into the pyx dashboard, you’ll be interacting with a specific team’s resources. You can switch between teams at log-in time, or by using the team switcher in the top-left corner of the dashboard.

Workspaces

A workspace hosts registries and views. It has a name for easy reference. You can have multiple workspaces in a team, which helps group related registries and views together under a shared name. Workspaces are a way to group related registries together. For example, the GPU workspace contains distinct registries for different CUDA, ROCm, and other GPU configurations. A common use case for workspaces is deployment isolation. For example, your team might choose to have separate development, staging, and production workspaces. Beyond the workspaces owned by your team, there are also “global” workspaces to which all teams have read access. These include the GPU workspace (astral-sh) and the PyPI workspace (public).

Registries

A registry is a named index of packages. Each registry has a default view with the same name, which provides read access to the registry’s packages via the standard Simple Repository APIs. By default, every workspace has a default registry named main. You can access your workspace’s default registry through /simple/acme/main and publish to it using /v1/upload/acme/main, where acme is your team name. When publishing packages, you do so to a specific registry (or to the default registry for the workspace).

Views

See Custom views for additional documentation on creating and using views and view filters.
A view is a named combination of registries, exposed as a single index URL. You can use views to compose multiple registries together into a single developer-facing index. Views can also be configured with custom filters that restrict their underlying packages.
I