Skip to content

Commit

Permalink
Merge pull request #2774 from activeloopai/feature/PLAT-202
Browse files Browse the repository at this point in the history
Removing support for tokens set via the CLI
  • Loading branch information
taylorstubbsactiveloop committed Feb 20, 2024
2 parents 2c12e67 + 8e5b838 commit d011617
Show file tree
Hide file tree
Showing 8 changed files with 16 additions and 65 deletions.
1 change: 0 additions & 1 deletion deeplake/api/dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
from deeplake.auto.unstructured.yolo.yolo import YoloDataset
from deeplake.client.client import DeepLakeBackendClient
from deeplake.client.log import logger
from deeplake.client.utils import get_user_name, read_token
from deeplake.core.dataset import Dataset, dataset_factory
from deeplake.core.tensor import Tensor
from deeplake.core.meta.dataset_meta import DatasetMeta
Expand Down
24 changes: 9 additions & 15 deletions deeplake/client/client.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import os

import deeplake
import requests # type: ignore
import textwrap
Expand All @@ -16,9 +18,6 @@
)
from deeplake.client.utils import (
check_response_status,
write_token,
read_token,
remove_token,
JobResponseStatusSchema,
)
from deeplake.client.config import (
Expand All @@ -42,6 +41,7 @@
CONNECT_DATASET_SUFFIX,
REMOTE_QUERY_SUFFIX,
ORG_PERMISSION_SUFFIX,
DEEPLAKE_AUTH_TOKEN,
)
from deeplake.client.log import logger
import jwt # should add it to requirements.txt
Expand All @@ -63,14 +63,17 @@ def __init__(self, token: Optional[str] = None):
self.version = deeplake.__version__
self._token_from_env = False
self.auth_header = None
self.token = token or self.get_token()
self.token = (
token
or os.environ.get(DEEPLAKE_AUTH_TOKEN)
or "PUBLIC_TOKEN_" + ("_" * 150)
)
self.auth_header = f"Bearer {self.token}"

# remove public token, otherwise env var will be ignored
# we can remove this after a while
orgs = self.get_user_organizations()
if orgs == ["public"]:
remove_token()
self.token = token or self.get_token()
self.auth_header = f"Bearer {self.token}"
if self._token_from_env:
Expand All @@ -80,16 +83,7 @@ def __init__(self, token: Optional[str] = None):
set_username(username)

def get_token(self):
"""Returns a token"""
self._token_from_env = False
token = read_token(from_env=False)
if token is None:
token = read_token(from_env=True)
if token is None:
token = self.request_auth_token(username="public", password="")
else:
self._token_from_env = True
return token
return self.token

def request(
self,
Expand Down
14 changes: 0 additions & 14 deletions deeplake/client/test_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,6 @@
DeepMemoryBackendClient,
JobResponseStatusSchema,
)
from deeplake.client.utils import (
write_token,
read_token,
remove_token,
)

from time import sleep


def test_client_utils():
write_token("abcdefgh")
assert read_token() == "abcdefgh"
remove_token()
assert read_token() is None


def create_response(
Expand Down
27 changes: 0 additions & 27 deletions deeplake/client/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,33 +31,6 @@
BEST_RECALL = "best_recall@10"


def write_token(token: str):
"""Writes the auth token to the token file."""
if not token:
raise EmptyTokenException
path = Path(TOKEN_FILE_PATH)
os.makedirs(path.parent, exist_ok=True)
with open(TOKEN_FILE_PATH, "w") as f:
f.write(token)


def read_token(from_env=True):
"""Returns the token. Searches for the token first in token file and then in enviroment variables."""
token = None
if os.path.exists(TOKEN_FILE_PATH):
with open(TOKEN_FILE_PATH) as f:
token = f.read()
elif from_env:
token = os.environ.get(DEEPLAKE_AUTH_TOKEN)
return token


def remove_token():
"""Deletes the token file"""
if os.path.isfile(TOKEN_FILE_PATH):
os.remove(TOKEN_FILE_PATH)


def remove_username_from_config():
try:
config = {}
Expand Down
4 changes: 2 additions & 2 deletions deeplake/core/dataset/dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
from tqdm import tqdm

import deeplake
from deeplake.client.config import DEEPLAKE_AUTH_TOKEN
from deeplake.core import index_maintenance
from deeplake.core.index.index import IndexEntry
from deeplake.core.link_creds import LinkCreds
Expand All @@ -36,7 +37,6 @@
from deeplake.util.tensor_db import parse_runtime_parameters
from deeplake.api.info import load_info
from deeplake.client.log import logger
from deeplake.client.utils import read_token
from deeplake.client.client import DeepLakeBackendClient
from deeplake.constants import (
FIRST_COMMIT_ID,
Expand Down Expand Up @@ -2680,7 +2680,7 @@ def _has_group_in_root(self, name: str) -> bool:
@property
def token(self):
"""Get attached token of the dataset"""
return self._token or read_token(from_env=True)
return self._token or os.environ.get(DEEPLAKE_AUTH_TOKEN)

@token.setter
def token(self, new_token: str):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
import logging
import os
import pathlib
from abc import abstractmethod, ABC
from typing import Optional, Any, List, Dict, Union, Callable
import jwt

import numpy as np

from deeplake.client.config import DEEPLAKE_AUTH_TOKEN
from deeplake.util.path import convert_pathlib_to_string_if_needed
from deeplake.core.dataset import Dataset
from deeplake.client.utils import read_token
from deeplake.core.vectorstore import utils
from deeplake.util.bugout_reporter import (
feature_report_path,
Expand Down Expand Up @@ -99,7 +100,7 @@ def __init__(

@property
def token(self):
return self._token or read_token(from_env=True)
return self._token or os.environ.get(DEEPLAKE_AUTH_TOKEN)

@property
def exec_option(self) -> str:
Expand Down
1 change: 0 additions & 1 deletion deeplake/core/vectorstore/vector_search/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
from deeplake.constants import MB, DEFAULT_VECTORSTORE_INDEX_PARAMS, TARGET_BYTE_SIZE
from deeplake.util.exceptions import TensorDoesNotExistError
from deeplake.util.warnings import always_warn
from deeplake.client.utils import read_token
from deeplake.core.dataset import DeepLakeCloudDataset, Dataset
from deeplake.core.vectorstore.embeddings.embedder import DeepLakeEmbedder
from deeplake.client.client import DeepLakeBackendClient
Expand Down
5 changes: 2 additions & 3 deletions deeplake/util/bugout_reporter.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@
from typing import Any, Dict, Optional, Union
import uuid

from deeplake.client.config import REPORTING_CONFIG_FILE_PATH
from deeplake.client.config import REPORTING_CONFIG_FILE_PATH, DEEPLAKE_AUTH_TOKEN
from deeplake.client.client import DeepLakeBackendClient
from deeplake.client.utils import get_user_name, read_token
from deeplake.util.bugout_token import BUGOUT_TOKEN
from humbug.consent import HumbugConsent
from humbug.report import HumbugReporter
Expand Down Expand Up @@ -164,7 +163,7 @@ def feature_report_path(
if path.startswith(starts_with):
parameters["Path"] = path

token = token or read_token(from_env=True)
token = token or os.environ.get(DEEPLAKE_AUTH_TOKEN)

if token is not None:
username = jwt.decode(token, options={"verify_signature": False})["id"]
Expand Down

0 comments on commit d011617

Please sign in to comment.