Skip to content

Instantly share code, notes, and snippets.

@zredlined
Created January 10, 2022 18:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zredlined/d168f407c94cd9d4a1c0a9f03f369ee3 to your computer and use it in GitHub Desktop.
Save zredlined/d168f407c94cd9d4a1c0a9f03f369ee3 to your computer and use it in GitHub Desktop.
Delete any projects in Gretel that are not shared to more than one person
import logging
from gretel_client import configure_session, ClientConfig, projects
from gretel_client.helpers import do_api_call
logging.getLogger().setLevel(logging.INFO)
def clean_projects():
""" Delete any projects that are not shared to more than one person """
for project in projects.search_projects():
members = do_api_call("get", f"/projects/{project.project_id}/members")
member_count = len([x['user_email'] for x in members['members']])
if member_count == 1:
logging.warning(f'Deleting project {project.display_name} {project.get_console_url()}')
project.delete()
else:
logging.info(f'Ignoring shared project {project.display_name} {project.get_console_url()}')
configure_session(ClientConfig(api_key=getpass(prompt="Enter Gretel API key"),
endpoint="https://api.gretel.cloud"))
clean_projects()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment