Skip to content

Commit 8b37022

Browse files
committed
black format
1 parent 2f37c56 commit 8b37022

4 files changed

Lines changed: 54 additions & 16 deletions

File tree

centml/cli/login.py

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,11 @@
2626

2727
def generate_pkce_pair():
2828
verifier = secrets.token_urlsafe(64)
29-
challenge = base64.urlsafe_b64encode(hashlib.sha256(verifier.encode()).digest()).decode().rstrip("=")
29+
challenge = (
30+
base64.urlsafe_b64encode(hashlib.sha256(verifier.encode()).digest())
31+
.decode()
32+
.rstrip("=")
33+
)
3034
return verifier, challenge
3135

3236

@@ -102,14 +106,18 @@ def login(token_file):
102106
else:
103107
click.echo("Logging into CentML...")
104108

105-
choice = click.confirm("Do you want to log in with your browser now?", default=True)
109+
choice = click.confirm(
110+
"Do you want to log in with your browser now?", default=True
111+
)
106112
if choice:
107113
try:
108114
# PKCE Flow
109115
code_verifier, code_challenge = generate_pkce_pair()
110116
auth_url = build_auth_url(CLIENT_ID, REDIRECT_URI, code_challenge)
111117
click.echo("A browser window will open for you to authenticate.")
112-
click.echo("If it doesn't open automatically, you can copy and paste this URL:")
118+
click.echo(
119+
"If it doesn't open automatically, you can copy and paste this URL:"
120+
)
113121
click.echo(f" {auth_url}\n")
114122
webbrowser.open(auth_url)
115123
click.echo("Waiting for authentication...")
@@ -121,9 +129,13 @@ def login(token_file):
121129
click.echo("Login failed. Please try again.")
122130
else:
123131
cred = {
124-
key: response_dict[key] for key in ("access_token", "refresh_token") if key in response_dict
132+
key: response_dict[key]
133+
for key in ("access_token", "refresh_token")
134+
if key in response_dict
125135
}
126-
os.makedirs(os.path.dirname(settings.CENTML_CRED_FILE_PATH), exist_ok=True)
136+
os.makedirs(
137+
os.path.dirname(settings.CENTML_CRED_FILE_PATH), exist_ok=True
138+
)
127139
with open(settings.CENTML_CRED_FILE_PATH, "w") as f:
128140
json.dump(cred, f)
129141
click.echo("✅ Login successful")

centml/sdk/auth.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,11 @@ def refresh_centml_token(refresh_token):
2929
os.remove(settings.CENTML_CRED_FILE_PATH)
3030
cred = None
3131
else:
32-
cred = {key: response_dict[key] for key in ("access_token", "refresh_token") if key in response_dict}
32+
cred = {
33+
key: response_dict[key]
34+
for key in ("access_token", "refresh_token")
35+
if key in response_dict
36+
}
3337
with open(settings.CENTML_CRED_FILE_PATH, "w") as f:
3438
json.dump(cred, f)
3539

@@ -61,7 +65,9 @@ def get_centml_token():
6165
cred = load_centml_cred()
6266
if not cred:
6367
sys.exit("CentML credentials not found. Please login...")
64-
exp_time = int(jwt.decode(cred["access_token"], options={"verify_signature": False})["exp"])
68+
exp_time = int(
69+
jwt.decode(cred["access_token"], options={"verify_signature": False})["exp"]
70+
)
6571

6672
if time.time() >= exp_time - 100:
6773
cred = refresh_centml_token(cred["refresh_token"])

centml/sdk/config.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,19 @@ class Config(BaseSettings):
88
model_config = SettingsConfigDict(env_file=Path(".env"))
99

1010
CENTML_WEB_URL: str = os.getenv("CENTML_WEB_URL", default="https://app.centml.com/")
11-
CENTML_CONFIG_PATH: str = os.getenv("CENTML_CONFIG_PATH", default=os.path.expanduser("~/.centml"))
11+
CENTML_CONFIG_PATH: str = os.getenv(
12+
"CENTML_CONFIG_PATH", default=os.path.expanduser("~/.centml")
13+
)
1214
CENTML_CRED_FILE: str = os.getenv("CENTML_CRED_FILE", default="credentials.json")
1315
CENTML_CRED_FILE_PATH: str = os.path.join(CENTML_CONFIG_PATH, CENTML_CRED_FILE)
1416

15-
CENTML_PLATFORM_API_URL: str = os.getenv("CENTML_PLATFORM_API_URL", default="https://api.centml.com")
17+
CENTML_PLATFORM_API_URL: str = os.getenv(
18+
"CENTML_PLATFORM_API_URL", default="https://api.centml.com"
19+
)
1620

17-
CENTML_WORKOS_CLIENT_ID: str = os.getenv("CENTML_WORKOS_CLIENT_ID", default="client_01JP5TWW2997MF8AYQXHJEGYR0")
21+
CENTML_WORKOS_CLIENT_ID: str = os.getenv(
22+
"CENTML_WORKOS_CLIENT_ID", default="client_01JP5TWW2997MF8AYQXHJEGYR0"
23+
)
1824

1925

2026
settings = Config()

centml/sdk/utils/client_certs.py

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ def generate_ca_client_triplet(service_name: str) -> CAClientCertTriplet:
2323

2424
# Details about who we are. For a self-signed certificate, the subject
2525
# and issuer are always the same.
26-
ca_subject = x509.Name([x509.NameAttribute(NameOID.COMMON_NAME, f"ca.{service_name}.user.centml.ai")])
26+
ca_subject = x509.Name(
27+
[x509.NameAttribute(NameOID.COMMON_NAME, f"ca.{service_name}.user.centml.ai")]
28+
)
2729

2830
ca_certificate = (
2931
x509.CertificateBuilder()
@@ -44,7 +46,13 @@ def generate_ca_client_triplet(service_name: str) -> CAClientCertTriplet:
4446
client_private_key = ec.generate_private_key(ec.SECP384R1())
4547

4648
# Information about the client
47-
client_subject = x509.Name([x509.NameAttribute(NameOID.COMMON_NAME, f"client.{service_name}.user.centml.ai")])
49+
client_subject = x509.Name(
50+
[
51+
x509.NameAttribute(
52+
NameOID.COMMON_NAME, f"client.{service_name}.user.centml.ai"
53+
)
54+
]
55+
)
4856

4957
client_certificate = (
5058
x509.CertificateBuilder()
@@ -63,8 +71,12 @@ def generate_ca_client_triplet(service_name: str) -> CAClientCertTriplet:
6371
)
6472

6573
return CAClientCertTriplet(
66-
certificate_authority=ca_certificate.public_bytes(serialization.Encoding.PEM).decode("ascii"),
67-
client_certificate=client_certificate.public_bytes(serialization.Encoding.PEM).decode("ascii"),
74+
certificate_authority=ca_certificate.public_bytes(
75+
serialization.Encoding.PEM
76+
).decode("ascii"),
77+
client_certificate=client_certificate.public_bytes(
78+
serialization.Encoding.PEM
79+
).decode("ascii"),
6880
client_private_key=client_private_key.private_bytes(
6981
encoding=serialization.Encoding.PEM,
7082
format=serialization.PrivateFormat.PKCS8,
@@ -85,9 +97,11 @@ def save_pem_file(service_name, client_private_key, client_certificate):
8597

8698
try:
8799
# Save the combined PEM file
88-
with open(ca_file_path, 'w') as combined_pem_file:
100+
with open(ca_file_path, "w") as combined_pem_file:
89101
combined_pem_file.write(client_private_key + client_certificate)
90-
click.echo(f"Combined PEM file for accessing the private endpoint has been saved to {ca_file_path}")
102+
click.echo(
103+
f"Combined PEM file for accessing the private endpoint has been saved to {ca_file_path}"
104+
)
91105

92106
except Exception as e:
93107
click.echo(f"Error saving PEM files: {e}")

0 commit comments

Comments
 (0)