agilicus 1.296.2__py3-none-any.whl → 1.297.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
agilicus/__init__.py CHANGED
@@ -64,6 +64,7 @@ def GetClient(
64
64
  auth_local_webserver=True,
65
65
  api_url=None,
66
66
  expiry=None,
67
+ admin=False,
67
68
  ):
68
69
 
69
70
  config = Configuration(host=api_url, ssl_ca_cert=cacert, discard_unknown_keys=True)
@@ -86,6 +87,7 @@ def GetClient(
86
87
  client_id=client_id,
87
88
  agilicus_scopes=agilicus_scopes,
88
89
  auth_local_webserver=auth_local_webserver,
90
+ admin=admin,
89
91
  )
90
92
  config.access_token = creds.access_token
91
93
 
@@ -77,7 +77,7 @@ class ApiClient(object):
77
77
  self.default_headers[header_name] = header_value
78
78
  self.cookie = cookie
79
79
  # Set default User-Agent.
80
- self.user_agent = 'OpenAPI-Generator/1.296.2/python'
80
+ self.user_agent = 'OpenAPI-Generator/1.297.0/python'
81
81
 
82
82
  def __enter__(self):
83
83
  return self
@@ -387,7 +387,7 @@ class Configuration(object):
387
387
  "OS: {env}\n"\
388
388
  "Python Version: {pyversion}\n"\
389
389
  "Version of the API: 2025.07.28\n"\
390
- "SDK Package Version: 1.296.2".\
390
+ "SDK Package Version: 1.297.0".\
391
391
  format(env=sys.platform, pyversion=sys.version)
392
392
 
393
393
  def get_host_settings(self):
@@ -4,7 +4,7 @@ Agilicus is API-first. Modern software is controlled by other software, is open,
4
4
  The `agilicus_api` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
5
5
 
6
6
  - API version: 2025.07.28
7
- - Package version: 1.296.2
7
+ - Package version: 1.297.0
8
8
  - Build package: org.openapitools.codegen.languages.PythonClientCodegen
9
9
  For more information, please visit [https://www.agilicus.com/api](https://www.agilicus.com/api)
10
10
 
agilicus/context.py CHANGED
@@ -245,6 +245,10 @@ def output_json(ctx):
245
245
  return get_value(ctx, "output_format") == "json"
246
246
 
247
247
 
248
+ def output_csv(ctx):
249
+ return get_value(ctx, "output_format") == "csv"
250
+
251
+
248
252
  def output_headers(ctx):
249
253
  return get_value(ctx, "output_headers")
250
254
 
@@ -73,7 +73,7 @@ def _get_license(ctx, apiclient, license_id, **kwargs):
73
73
 
74
74
  def show_license(ctx, license_id, **kwargs):
75
75
  apiclient = context.get_apiclient_from_ctx(ctx)
76
- return _get_license(ctx, apiclient, license_id, **kwargs).to_dict()
76
+ return _get_license(ctx, apiclient, license_id, **kwargs)
77
77
 
78
78
 
79
79
  def delete_license(ctx, license_id, **kwargs):
@@ -199,7 +199,7 @@ def get_licensed_product(product_label, product_table):
199
199
  product_tokens = product_label.split("-")
200
200
 
201
201
  if len(product_tokens) < 2:
202
- return None
202
+ return "Standard"
203
203
  elif len(product_tokens) == 2:
204
204
  normalized_product_name = product_tokens[0]
205
205
  else:
@@ -223,6 +223,9 @@ def add_license_to_billing_sub(ctx, bsub, product_name=None, product_table_versi
223
223
 
224
224
  product_table = product_version["spec"].get("product_table")
225
225
  if not product_name:
226
+ if not bsub.status.product:
227
+ raise Exception(f"no product for subscription {bsub.metadata.id}")
228
+
226
229
  product_name = get_licensed_product(
227
230
  bsub.status.product.spec.label, product_table
228
231
  )
agilicus/main.py CHANGED
@@ -1047,6 +1047,7 @@ def list_useful_orgs_(ctx, **kwargs):
1047
1047
  @cli.command(name="list-orgs")
1048
1048
  @click.option("--org-id", default=None)
1049
1049
  @click.option("--issuer", default=None)
1050
+ @click.option("--name", default=None)
1050
1051
  @click.option("--billing_account_id", default=None)
1051
1052
  @click.option("--enabled", type=bool, default=None)
1052
1053
  @click.option("--shard", default=None)
agilicus/orgs.py CHANGED
@@ -43,7 +43,7 @@ def get_org_by_dictionary(ctx, org_id):
43
43
  return (org_dict_by_id, org_dict_by_name)
44
44
 
45
45
 
46
- def query(ctx, org_id=None, created_since=None, page_size=None, **kwargs):
46
+ def query(ctx, org_id=None, created_since=None, page_size=None, name=None, **kwargs):
47
47
  token = context.get_token(ctx)
48
48
 
49
49
  org_id = get_org_from_input_or_ctx(ctx, org_id)
@@ -54,6 +54,9 @@ def query(ctx, org_id=None, created_since=None, page_size=None, **kwargs):
54
54
  if org_id:
55
55
  params["org_id"] = org_id
56
56
 
57
+ if name is not None:
58
+ params["organisation"] = name
59
+
57
60
  apiclient = context.get_apiclient(ctx, token)
58
61
  if kwargs.get("page_at_id", None) is not None:
59
62
  resp = get_many_entries(
agilicus/output/json.py CHANGED
@@ -21,14 +21,14 @@ def json_output_default(o):
21
21
  return None
22
22
 
23
23
 
24
- def convert_to_json(ctx, entry):
24
+ def convert_to_json(ctx, entry, indent=2):
25
25
  return json.dumps(
26
- jsonify(ctx, entry), sort_keys=True, indent=2, default=json_output_default
26
+ jsonify(ctx, entry), sort_keys=True, indent=indent, default=json_output_default
27
27
  )
28
28
 
29
29
 
30
- def output_json(ctx, entry):
31
- print(convert_to_json(ctx, entry))
30
+ def output_json(ctx, entry, indent=2):
31
+ print(convert_to_json(ctx, entry, indent=indent))
32
32
 
33
33
 
34
34
  def output_json_to_file(ctx, doc, outfile):
agilicus/output/table.py CHANGED
@@ -21,9 +21,11 @@ def format_date_only(date_input):
21
21
  return date_input.strftime("%Y-%m-%d")
22
22
 
23
23
 
24
- def date_else_identity(input_obj):
24
+ def date_else_identity(input_obj, ctx=None):
25
25
  if isinstance(input_obj, datetime):
26
26
  return format_date(input_obj)
27
+ if ctx and not context.output_console(ctx):
28
+ return input_obj
27
29
  if isinstance(input_obj, list):
28
30
  list_as_str = ""
29
31
  for obj in input_obj:
@@ -43,11 +45,11 @@ def date_else_identity(input_obj):
43
45
  return input_obj
44
46
 
45
47
 
46
- def format_timestamp(input_obj):
48
+ def format_timestamp(input_obj, ctx=None):
47
49
  return datetime.fromtimestamp(input_obj)
48
50
 
49
51
 
50
- def format_currency_from_cents(cents, currency=None):
52
+ def format_currency_from_cents(cents, currency=None, ctx=None):
51
53
  currency_symbol = ""
52
54
  if currency:
53
55
  currency_symbol = numbers.get_currency_symbol(currency.upper(), locale="en")
@@ -97,8 +99,12 @@ def subtable(
97
99
  if not out_name:
98
100
  out_name = in_name
99
101
 
100
- def format_fn(records):
101
- return format_table(ctx, records, columns, getter=table_getter)
102
+ outer_ctx = ctx
103
+
104
+ def format_fn(records, ctx=None):
105
+ return format_table(
106
+ outer_ctx, records, columns, getter=table_getter, nested=True
107
+ )
102
108
 
103
109
  def getter(record, base_getter):
104
110
  subobject = base_getter(subobject_name)(record)
@@ -184,9 +190,9 @@ def status_column(in_name, out_name=None, **kwargs):
184
190
  def constant_if_exists(column: OutputColumn, constant, default=None):
185
191
  orig = column.format_fn
186
192
 
187
- def check(val):
193
+ def check(val, ctx=None):
188
194
  if orig:
189
- val = orig(val)
195
+ val = orig(val, ctx=ctx)
190
196
 
191
197
  if val:
192
198
  return constant
@@ -199,11 +205,11 @@ def constant_if_exists(column: OutputColumn, constant, default=None):
199
205
  def list_count(column: OutputColumn):
200
206
  orig = column.format_fn
201
207
 
202
- def formatter(val):
208
+ def formatter(val, ctx=None):
203
209
  if isinstance(val, list):
204
210
  return len(val)
205
211
  if orig:
206
- val = orig(val)
212
+ val = orig(val, ctx=ctx)
207
213
  return val
208
214
 
209
215
  column.format_fn = formatter
@@ -247,10 +253,10 @@ def expand_dict(column: OutputColumn):
247
253
  def summarize(column: OutputColumn, max_length: int):
248
254
  orig = column.format_fn
249
255
 
250
- def format_list(val):
256
+ def format_list(val, ctx=None):
251
257
  if len(val) <= max_length:
252
258
  if orig:
253
- val = orig(val)
259
+ val = orig(val, ctx=ctx)
254
260
  return val
255
261
 
256
262
  val = val[:max_length]
@@ -258,9 +264,9 @@ def summarize(column: OutputColumn, max_length: int):
258
264
  val = orig(val)
259
265
  return val + "[truncated]"
260
266
 
261
- def formatter(val):
267
+ def formatter(val, ctx=None):
262
268
  if isinstance(val, list):
263
- return format_list(val)
269
+ return format_list(val, ctx=ctx)
264
270
 
265
271
  if orig:
266
272
  val = orig(val)
@@ -286,7 +292,7 @@ def short_circuit_attrgetter(item):
286
292
  return func
287
293
 
288
294
 
289
- def _dump_json(ctx, to_dump):
295
+ def _dump_json(ctx, to_dump, indent=2):
290
296
  # Sometimes a compound table can be a dict at its root. When formatting as json
291
297
  # handle that case
292
298
  if not isinstance(to_dump, list):
@@ -299,13 +305,17 @@ def _dump_json(ctx, to_dump):
299
305
  for record in to_dump
300
306
  ]
301
307
 
302
- return convert_to_json(ctx, to_dump_as_dict)
308
+ return convert_to_json(ctx, to_dump_as_dict, indent=indent)
309
+
310
+
311
+ def output_is_formatted(ctx):
312
+ return context.get_value(ctx, "output_format") in ("console", "csv")
303
313
 
304
314
 
305
315
  def get_table_style(ctx):
306
316
  table_style_str = context.get_value(ctx, "output_format")
307
317
  table_style = None
308
- if table_style_str and table_style_str != "console":
318
+ if table_style_str and not output_is_formatted(ctx):
309
319
  from prettytable import (
310
320
  DEFAULT,
311
321
  MARKDOWN,
@@ -327,7 +337,12 @@ def get_table_style(ctx):
327
337
 
328
338
 
329
339
  def format_table(
330
- ctx, records, columns, getter=short_circuit_attrgetter, row_filter=None
340
+ ctx,
341
+ records,
342
+ columns,
343
+ getter=short_circuit_attrgetter,
344
+ row_filter=None,
345
+ nested=False,
331
346
  ):
332
347
  if context.output_json(ctx):
333
348
  return _dump_json(ctx, records)
@@ -338,7 +353,7 @@ def format_table(
338
353
  table.set_style(table_style)
339
354
 
340
355
  if not records:
341
- return table
356
+ records = []
342
357
 
343
358
  if not isinstance(records, list):
344
359
  records = [records]
@@ -366,11 +381,20 @@ def format_table(
366
381
 
367
382
  out_value = "---"
368
383
  if in_value is not None:
369
- out_value = column.format_fn(in_value)
384
+ out_value = column.format_fn(in_value, ctx=ctx)
370
385
  row.append(out_value)
371
386
 
372
387
  table.add_row(row)
373
388
  table.align = "l"
389
+
390
+ return _table_to_console(ctx, table, nested)
391
+
392
+
393
+ def _table_to_console(ctx, table, nested):
394
+ if context.output_csv(ctx):
395
+ if nested:
396
+ return table.get_json_string(header=False, indent=None, default=str)
397
+ return table.get_csv_string()
374
398
  return table
375
399
 
376
400
 
@@ -440,7 +464,9 @@ def object_subtable(
440
464
 
441
465
  subtable_columns = [column("name"), column("value")]
442
466
 
443
- def format_fn(records):
467
+ outer_ctx = ctx
468
+
469
+ def format_fn(records, ctx=None):
444
470
  subtable_records = []
445
471
  namer = scalar_name
446
472
  if isinstance(records, list):
@@ -459,7 +485,13 @@ def object_subtable(
459
485
  ]
460
486
  )
461
487
 
462
- return format_table(ctx, subtable_records, subtable_columns, getter=table_getter)
488
+ return format_table(
489
+ outer_ctx,
490
+ subtable_records,
491
+ subtable_columns,
492
+ getter=table_getter,
493
+ nested=True,
494
+ )
463
495
 
464
496
  def getter(record, base_getter):
465
497
  subobject = base_getter(subobject_name)(record)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: agilicus
3
- Version: 1.296.2
3
+ Version: 1.297.0
4
4
  Summary: Agilicus SDK
5
5
  Home-page: https://www.agilicus.com/
6
6
  License: MIT
@@ -2,7 +2,7 @@ agilicus/.gitignore,sha256=TyHq6BCuVrFiqgUb1QAayLxWcBseKwEOoKJTQb_-iW8,5
2
2
  agilicus/.openapi-generator/FILES,sha256=627nT8VSdcWyv-WHsLvgw9fe1lTSpaHBusxZrwVOPHQ,126159
3
3
  agilicus/.openapi-generator/VERSION,sha256=LXsIFraL1muXBEww1sZWaewc9ji87Ih3gIa04Z37RYM,14
4
4
  agilicus/.openapi-generator-ignore,sha256=pu2PTide7pJtJ-DFLzDy0cTYQJRlrB-8RRH3zGLeUds,1040
5
- agilicus/__init__.py,sha256=Qxd9iQtVIZzzogmw8JjNvA6nSbgUJ22sAK-ibvB4hg8,4095
5
+ agilicus/__init__.py,sha256=wKcHA5i7adxUCWhmNwq5bn10OXInnp7vJvbK8UVpKt4,4137
6
6
  agilicus/access.py,sha256=UEHHhE3cCaCjxXQDjhKxQAoUEMWandygN0d-yEIIf8A,5457
7
7
  agilicus/admin.py,sha256=rPXaddSiGpq3MBMQyFagy2RAHPhZkKN8ZGkMuN-MZqg,9991
8
8
  agilicus/agilicus_api/__init__.py,sha256=pL-bPYbnJoFEugUDt05_ViJP7_cQ7lcyPjhJKaz1BWI,71326
@@ -73,9 +73,9 @@ agilicus/agilicus_api/api/users_api.py,sha256=fqDJg9_ViIRLGfqLIG17mBw1za-dAtfwAl
73
73
  agilicus/agilicus_api/api/users_api_mock.py,sha256=GP0l1NcvX0ynOiZhRtuArS4D7lviWYADG_5KZNSNY-s,18930
74
74
  agilicus/agilicus_api/api/whoami_api.py,sha256=ljHaQGYYuuz6XWELsXPCbOCFu28ho7N5ELDNflfDbd4,7941
75
75
  agilicus/agilicus_api/api/whoami_api_mock.py,sha256=rlvZoWnMCqORMZBg7SOv6d3xp52kELdh6wXcCaIZ93w,346
76
- agilicus/agilicus_api/api_client.py,sha256=Fj7tO3r9l-MCUrGrXvAN-xfRT96pO9IZYBnsrTKTfA4,38845
76
+ agilicus/agilicus_api/api_client.py,sha256=iB0Vv0wBQq3TAurjiVsD757g21PeavP-09ZxpTzncg0,38845
77
77
  agilicus/agilicus_api/apis/__init__.py,sha256=ijG84bKeWq8lCvqXBtmWXrEnDMfw2t5qu5nQwgAyckU,2280
78
- agilicus/agilicus_api/configuration.py,sha256=8YH9FFwD36XksAJ3oZdnumLVqWi5VLyevo4PMmTjyWI,18447
78
+ agilicus/agilicus_api/configuration.py,sha256=vh-I1wYuSpigozWIslDchY3KVJioF0uali54EWhA5iw,18447
79
79
  agilicus/agilicus_api/docs/APIKey.md,sha256=4cKuz4_l9HcEDnUrLwYbEnn9C2WoDayrjfrY1Ixgaf4,1747
80
80
  agilicus/agilicus_api/docs/APIKeyIntrospect.md,sha256=nJ-zkuFm3JMbWFDYYN_vYyQk1snGBtBvIxtCQxamhAU,1019
81
81
  agilicus/agilicus_api/docs/APIKeyIntrospectAuthorizationInfo.md,sha256=7RApOOLjvWQs5sw2jb25g7i3Kta1BiEY-s8VRXfppH8,725
@@ -2797,7 +2797,7 @@ agilicus/agilicus_api/test/test_x509_root_certificate.py,sha256=Brl5wKCrtt3cZmT6
2797
2797
  agilicus/agilicus_api/test/test_x509_root_certificate_spec.py,sha256=p3AIJK4qqp3kbOkDrh9E5DeNbK9lLTxaF-0tefvcjxA,2832
2798
2798
  agilicus/agilicus_api/test/test_x509_root_certificate_status.py,sha256=lm1qjvnwOJbxN01TLmXKAZFmTgF0nczcJjhW7o19OTs,2846
2799
2799
  agilicus/agilicus_api/test/test_xss_settings.py,sha256=yxg0br0SByreMUAWxTB-PMPqcdAd8kjkJmVoQwFQjnQ,2746
2800
- agilicus/agilicus_api_README.md,sha256=DNISPI8zx6rs2IJMihjnQoPGZRiJcvQg8cUSwk4Dngs,179388
2800
+ agilicus/agilicus_api_README.md,sha256=mM5x9SsEIXXTF8c-1EeAdpWzuoSTvVNV0cNq4n_KO88,179388
2801
2801
  agilicus/aliases.ini,sha256=MxqiVo2f2xdUDVF1YDkNW36AIqN8hrYjlTVfraEUZXY,455
2802
2802
  agilicus/amq.py,sha256=yxi-YTbJPVl10s78Hlr1dmrQR63iaSIoROGVILzFPmE,1775
2803
2803
  agilicus/apps.py,sha256=Mdc_pRXyfa-IvIFH7gNbx0Ob64gUHggZyeSyLUDpjMs,54048
@@ -2812,7 +2812,7 @@ agilicus/client_secrets.json,sha256=eyPFVzziH48RuwWl66cfi0JE4jpmoec0Vo_F2TzYOeI,
2812
2812
  agilicus/command_helpers/__init__.py,sha256=6oUAOlb7IC_UfBgK3EmWVSIxKR546rjm3A2a2IEc-6s,67
2813
2813
  agilicus/command_helpers/command_wrapper.py,sha256=_oZeSe6ZllrD6Ij731xX_yZ8l6gruMOcodmZ-uZg2Z8,1099
2814
2814
  agilicus/connectors.py,sha256=gp1WqYUHtiWUJJMw7_iA0pdXCJVp76BBrpTX1UntVGc,44839
2815
- agilicus/context.py,sha256=uBcrU61FoOrzfL6t2LaRsadfz8VWbjeFsT6EaRBk3sE,8362
2815
+ agilicus/context.py,sha256=NzTnWZ7OAcpYgPDMxLiBFvFir84jabTirpc1haQdJ_c,8437
2816
2816
  agilicus/create.py,sha256=ndMbOxQasyyUY7aW4U2TU8EKGcUla72xCjAwAwfTBVA,3270
2817
2817
  agilicus/credentials.py,sha256=F3yPAwoMcziP1OLmzeJ8jIz1W-91-HXu4zcymyMp1E4,4730
2818
2818
  agilicus/credentials_commands/credentials.py,sha256=YduI2SJR8nJgFuAloNowy16_s-rdVLZLDkuQvk_YmAg,3574
@@ -2853,22 +2853,22 @@ agilicus/labels/labels_main.py,sha256=l2z_41X3sMJoSM483LmAzJE6bKKHVAEvrPjfz7QvFg
2853
2853
  agilicus/launchers.py,sha256=r4nctnVtfP-Ho_HXEfAiMaMqJI0u7pbieHSS3Vd0QBE,11361
2854
2854
  agilicus/licensing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2855
2855
  agilicus/licensing/formatters.py,sha256=oZAey_PTD8ywy8ujhgsOTcMcIRnIkVqgNFBEJhViyxE,608
2856
- agilicus/licensing/licenses.py,sha256=Yt1z04lk8zbfXUOD8QIPUJ1NjKUuPivhDftQ7mzNHoI,7045
2856
+ agilicus/licensing/licenses.py,sha256=Xxb9rThz5qrUHP-oV3lPfRwuYloIynaxPXXQopElPto,7157
2857
2857
  agilicus/licensing/licensing_main.py,sha256=go1GCWK3evgpwsA2TnHLZgi7joGG2s1vwKX3gYq_QaU,5481
2858
2858
  agilicus/licensing/product_table_versions.py,sha256=Zk8L--z8wu6DPnbtYMGifc2J2KdNtnTBgyJv-CRAbr8,3038
2859
2859
  agilicus/logs.py,sha256=Y4XVcLctY-2O-Q_CXbJs9sAqu0NknHKSsqilKiDM_A0,804
2860
2860
  agilicus/lookups.py,sha256=MNmNsKpP7Fq_poLAnL9xo_iptFilKM9ziGLyIe8VKaw,669
2861
- agilicus/main.py,sha256=pt_iGryVQ3jGMSxmOAtNcrTYX-I-kQn_i6Y_rVDoNyI,295610
2861
+ agilicus/main.py,sha256=yJ9EVNWT4xt9OMpVOm-pAGui3REzYKBOi3ceoonJnTg,295648
2862
2862
  agilicus/messages/__init__.py,sha256=cVqfaKUndO-AYfppkdFICM5WvYFFB1hRjXihFWmiGPQ,174
2863
2863
  agilicus/messages/messages.py,sha256=b2eO6BaWI9UZTLETcdy1NotyuNlKIJf6CS_TUzehuk4,9175
2864
2864
  agilicus/messages/messages_main.py,sha256=A0xucYwwUZFIuUc0bAyAqVwofErakmyawq5bwhZKcOU,1598
2865
2865
  agilicus/metrics.py,sha256=v4rwpvqDzeNG5GKNoZ7t34X5qUgly5IW2s-kXlS2vQM,2315
2866
- agilicus/orgs.py,sha256=cmGAq3nWwAec7NQwaE15RThPm6Eq4VL7iEzHQi_HnNg,16218
2866
+ agilicus/orgs.py,sha256=w4EfnQ0xtVl_LCYjfw4kF-H5C-oyc-JCfqfc89GS_iU,16293
2867
2867
  agilicus/output/__init__.py,sha256=UKZbHS4t15vazJuN46FN-3HHqkxMXU0p3df2VcsSLcY,110
2868
2868
  agilicus/output/column_builder.py,sha256=TWo4t8ygaTUv7qjD_moDroD1bKzzyTIao0FmLy5gs4o,4284
2869
2869
  agilicus/output/console.py,sha256=xBURxlA7H1kmQ7zIKuifs_aQJq1cvmCJ5CtQVSo3_Ns,400
2870
- agilicus/output/json.py,sha256=-5bX7ud1hIxux4l3P-K2gJXrE2gdZ0Ua1hfUOCX9MUM,899
2871
- agilicus/output/table.py,sha256=8UIYPtgbJdJoDaqGq3lDJTk923GUcVf1QrRtRMtiWXM,12434
2870
+ agilicus/output/json.py,sha256=eR-3gVU9yrgcmvcVVLq3L5kTSK3723gQG9kWl1qLkfA,939
2871
+ agilicus/output/table.py,sha256=_IEouTyMWsb2Whbtp8UCr_KfaHR-AIkO4t6GfI49qEA,13245
2872
2872
  agilicus/output/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2873
2873
  agilicus/output/tests/column_builder_test.py,sha256=fKP4V5sqXtmEIr-Q0gWVSFdBqCUtugZkP6G5gML_T7I,2130
2874
2874
  agilicus/pagination/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -2905,8 +2905,8 @@ agilicus/trusted_certs/trusted_certs_main.py,sha256=6dHHWXvNIcUa_nA9ptigL4Vibe4n
2905
2905
  agilicus/users.py,sha256=14Q18XjNh45JUuM4uOJa8UzoVHYCi11M16oI9zPqirE,44522
2906
2906
  agilicus/version.py,sha256=G9OFdL1v_4dLDfk6I6taDNypM5bbO-JHAwilsu9LYgg,23
2907
2907
  agilicus/whoami.py,sha256=kqghtWMgZOd2rhKmfguDwCTm6A3gNS8Kj-S2IBxBtl0,206
2908
- agilicus-1.296.2.dist-info/LICENSE.txt,sha256=Zq4tqiCroC2CVrBB_PWjapRdvpae23nljdiaSkOzUho,1061
2909
- agilicus-1.296.2.dist-info/METADATA,sha256=4LmonrAzNqNKsBciQacQsxqd7vEqZgpvgYCad7wpZeI,3878
2910
- agilicus-1.296.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
2911
- agilicus-1.296.2.dist-info/entry_points.txt,sha256=a66hGozzLkHu0IewFzIMbSAhMTNTddUaA2T3_16Gb_s,51
2912
- agilicus-1.296.2.dist-info/RECORD,,
2908
+ agilicus-1.297.0.dist-info/LICENSE.txt,sha256=Zq4tqiCroC2CVrBB_PWjapRdvpae23nljdiaSkOzUho,1061
2909
+ agilicus-1.297.0.dist-info/METADATA,sha256=M5sBStRFqU3P72l-p8yJ3OsJlA7OHepHUV8oa0eXYJ4,3878
2910
+ agilicus-1.297.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
2911
+ agilicus-1.297.0.dist-info/entry_points.txt,sha256=a66hGozzLkHu0IewFzIMbSAhMTNTddUaA2T3_16Gb_s,51
2912
+ agilicus-1.297.0.dist-info/RECORD,,