modal.Environment
class Environment(modal.object.Object)hydrate
hydrate(self, client=None)Synchronize the local object with its identity on the Modal server.
It is rarely necessary to call this method explicitly, as most operations will lazily hydrate when needed. The main use case is when you need to access object metadata, such as its ID.
Added in v0.72.39: This method replaces the deprecated .resolve() method.
name
name(self)objects
objects: EnvironmentManagerNamespace with methods for managing Environment objects.
objects.create
create(self, name, *, restricted=False, client=None)Create a new Environment.
Examples:
modal.Environment.objects.create("my-environment")objects.list
list(self, *, client=None)Return a list of hydrated Environment objects.
Examples:
environments = modal.Environment.objects.list()
print([e.name for e in environments])objects.delete
delete(self, name, *, client=None)Delete a named Environment.
Warning: This is irreversible and will transitively delete all objects in the Environment.
Examples:
modal.Environment.objects.delete("my-environment")members
members: EnvironmentMembersManagerNamespace with methods for managing the membership of a restricted Environment.
See https://modal.com/docs/guide/rbac for more information on restricted Environments.
members.list
list(self)Return the members of a restricted Environment with their roles.
Examples:
members = modal.Environment.from_name("my-restricted-env").members.list()
print(members)
# {
# "users": {"alice": "contributor", "bob": "viewer"},
# "service_users": {"alice-bot": "contributor"},
# }members.update
update(self, *, users=None, service_users=None)Add or modify roles for members of a restricted Environment.
Each user or service user will be added to the Environment if not currently a member; if already a member, the user or service user’s role will be updated.
Examples:
env = modal.Environment.from_name("my-restricted-env")
env.members.update(
users={"alice": "contributor", "bob": "viewer"},
service_users={"alice-bot": "contributor"},
)members.remove
remove(self, *, users=None, service_users=None)Remove members from a restricted Environment.
Examples:
env = modal.Environment.from_name("my-restricted-env")
env.members.remove(
users=["alice"],
service_users=["alice-bot"],
)from_context
from_context(*, client=None)Look up an Environment object using the current context.
This method returns the Environment that is defined by the local configuration
(i.e., your active profile or the MODAL_ENVIRONMENT environment variable), or
it fetches the default environment from the server when not defined locally.
If called inside a Modal container, it will return the Environment that container
is associated with.
from_name
from_name(name, *, create_if_missing=False, client=None)Look up an Environment object using its name.
billing
billing: EnvironmentBillingManagerNamespace for Environment billing APIs
__init__(self, environment)mdmd:ignore
billing.report
report(self, *, start, end=None, resolution="d", tag_names=None)Return a cost report for Environment usage, broken down by object and time.
Parameters
["*"] to include all tags in the report. Returns
A list of BillingReportItem dataclasses. Each item reports the cost attributed to
a specific Modal object during a given time interval. Cost is further broken down by
the resource type that generated it (e.g. CPU, Memory, specific GPU usage).
Note that the specific resource types included in the breakdown are subject to change
as Modal’s billing model evolves.
See Also
modal environment billing report: An environment report CLI that has convenience features around relative time range queries and JSON/CSV output.Workspace.billing.report(): An analogous report API for the entire Workspace.