athena-intelligence 0.1.62__py3-none-any.whl → 0.1.63__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.
athena/__init__.py CHANGED
@@ -17,6 +17,7 @@ from .types import (
17
17
  MessageOut,
18
18
  MessageOutDto,
19
19
  Model,
20
+ PublishFormats,
20
21
  Report,
21
22
  ResearcherOut,
22
23
  Snippet,
@@ -52,6 +53,7 @@ __all__ = [
52
53
  "MessageOut",
53
54
  "MessageOutDto",
54
55
  "Model",
56
+ "PublishFormats",
55
57
  "Report",
56
58
  "ResearcherOut",
57
59
  "Snippet",
@@ -17,7 +17,7 @@ class BaseClientWrapper:
17
17
  headers: typing.Dict[str, str] = {
18
18
  "X-Fern-Language": "Python",
19
19
  "X-Fern-SDK-Name": "athena-intelligence",
20
- "X-Fern-SDK-Version": "0.1.62",
20
+ "X-Fern-SDK-Version": "0.1.63",
21
21
  }
22
22
  headers["X-API-KEY"] = self.api_key
23
23
  return headers
athena/tools/client.py CHANGED
@@ -16,6 +16,7 @@ from ..types.firecrawl_scrape_url_data_reponse_dto import FirecrawlScrapeUrlData
16
16
  from ..types.http_validation_error import HttpValidationError
17
17
  from ..types.langchain_documents_request_out import LangchainDocumentsRequestOut
18
18
  from ..types.llm_model import LlmModel
19
+ from ..types.publish_formats import PublishFormats
19
20
  from ..types.researcher_out import ResearcherOut
20
21
 
21
22
  # this is used as the default value for optional parameters
@@ -248,6 +249,7 @@ class ToolsClient:
248
249
  query: str,
249
250
  max_sections: int,
250
251
  guidelines: typing.Sequence[str],
252
+ publish_formats: typing.Optional[PublishFormats] = OMIT,
251
253
  request_options: typing.Optional[RequestOptions] = None,
252
254
  ) -> ResearcherOut:
253
255
  """
@@ -258,8 +260,11 @@ class ToolsClient:
258
260
 
259
261
  - guidelines: typing.Sequence[str].
260
262
 
263
+ - publish_formats: typing.Optional[PublishFormats].
264
+
261
265
  - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
262
266
  ---
267
+ from athena import PublishFormats
263
268
  from athena.client import Athena
264
269
 
265
270
  client = Athena(
@@ -273,18 +278,30 @@ class ToolsClient:
273
278
  "Each sub section MUST include supporting sources using hyperlinks. If none exist, erase the sub section or rewrite it to be a part of the previous section",
274
279
  "The report MUST be written in english",
275
280
  ],
281
+ publish_formats=PublishFormats(
282
+ markdown=False,
283
+ pdf=True,
284
+ docx=False,
285
+ ),
276
286
  )
277
287
  """
288
+ _request: typing.Dict[str, typing.Any] = {
289
+ "query": query,
290
+ "max_sections": max_sections,
291
+ "guidelines": guidelines,
292
+ }
293
+ if publish_formats is not OMIT:
294
+ _request["publish_formats"] = publish_formats
278
295
  _response = self._client_wrapper.httpx_client.request(
279
296
  method="POST",
280
297
  url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api/v0/tools/researcher"),
281
298
  params=jsonable_encoder(
282
299
  request_options.get("additional_query_parameters") if request_options is not None else None
283
300
  ),
284
- json=jsonable_encoder({"query": query, "max_sections": max_sections, "guidelines": guidelines})
301
+ json=jsonable_encoder(_request)
285
302
  if request_options is None or request_options.get("additional_body_parameters") is None
286
303
  else {
287
- **jsonable_encoder({"query": query, "max_sections": max_sections, "guidelines": guidelines}),
304
+ **jsonable_encoder(_request),
288
305
  **(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
289
306
  },
290
307
  headers=jsonable_encoder(
@@ -540,6 +557,7 @@ class AsyncToolsClient:
540
557
  query: str,
541
558
  max_sections: int,
542
559
  guidelines: typing.Sequence[str],
560
+ publish_formats: typing.Optional[PublishFormats] = OMIT,
543
561
  request_options: typing.Optional[RequestOptions] = None,
544
562
  ) -> ResearcherOut:
545
563
  """
@@ -550,8 +568,11 @@ class AsyncToolsClient:
550
568
 
551
569
  - guidelines: typing.Sequence[str].
552
570
 
571
+ - publish_formats: typing.Optional[PublishFormats].
572
+
553
573
  - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
554
574
  ---
575
+ from athena import PublishFormats
555
576
  from athena.client import AsyncAthena
556
577
 
557
578
  client = AsyncAthena(
@@ -565,18 +586,30 @@ class AsyncToolsClient:
565
586
  "Each sub section MUST include supporting sources using hyperlinks. If none exist, erase the sub section or rewrite it to be a part of the previous section",
566
587
  "The report MUST be written in english",
567
588
  ],
589
+ publish_formats=PublishFormats(
590
+ markdown=False,
591
+ pdf=True,
592
+ docx=False,
593
+ ),
568
594
  )
569
595
  """
596
+ _request: typing.Dict[str, typing.Any] = {
597
+ "query": query,
598
+ "max_sections": max_sections,
599
+ "guidelines": guidelines,
600
+ }
601
+ if publish_formats is not OMIT:
602
+ _request["publish_formats"] = publish_formats
570
603
  _response = await self._client_wrapper.httpx_client.request(
571
604
  method="POST",
572
605
  url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api/v0/tools/researcher"),
573
606
  params=jsonable_encoder(
574
607
  request_options.get("additional_query_parameters") if request_options is not None else None
575
608
  ),
576
- json=jsonable_encoder({"query": query, "max_sections": max_sections, "guidelines": guidelines})
609
+ json=jsonable_encoder(_request)
577
610
  if request_options is None or request_options.get("additional_body_parameters") is None
578
611
  else {
579
- **jsonable_encoder({"query": query, "max_sections": max_sections, "guidelines": guidelines}),
612
+ **jsonable_encoder(_request),
580
613
  **(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
581
614
  },
582
615
  headers=jsonable_encoder(
athena/types/__init__.py CHANGED
@@ -16,6 +16,7 @@ from .map_reduce_chain_out import MapReduceChainOut
16
16
  from .message_out import MessageOut
17
17
  from .message_out_dto import MessageOutDto
18
18
  from .model import Model
19
+ from .publish_formats import PublishFormats
19
20
  from .report import Report
20
21
  from .researcher_out import ResearcherOut
21
22
  from .snippet import Snippet
@@ -45,6 +46,7 @@ __all__ = [
45
46
  "MessageOut",
46
47
  "MessageOutDto",
47
48
  "Model",
49
+ "PublishFormats",
48
50
  "Report",
49
51
  "ResearcherOut",
50
52
  "Snippet",
@@ -0,0 +1,27 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ from ..core.datetime_utils import serialize_datetime
7
+ from ..core.pydantic_utilities import pydantic_v1
8
+
9
+
10
+ class PublishFormats(pydantic_v1.BaseModel):
11
+ markdown: bool
12
+ pdf: bool
13
+ docx: bool
14
+
15
+ def json(self, **kwargs: typing.Any) -> str:
16
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
17
+ return super().json(**kwargs_with_defaults)
18
+
19
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
20
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
21
+ return super().dict(**kwargs_with_defaults)
22
+
23
+ class Config:
24
+ frozen = True
25
+ smart_union = True
26
+ extra = pydantic_v1.Extra.allow
27
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: athena-intelligence
3
- Version: 0.1.62
3
+ Version: 0.1.63
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Programming Language :: Python :: 3
@@ -1,11 +1,11 @@
1
- athena/__init__.py,sha256=kwliHRjVo_SMeMCAvmreg1pycpiErrhKeFX-tgn3JA4,1697
1
+ athena/__init__.py,sha256=-N4qsB1z2ih5Q_2RCJdjK6leI91ECuHp6JdTP3YvPZQ,1739
2
2
  athena/base_client.py,sha256=7bAebRvrpMkwOoEVP1rtWJulF9W3V2bwua4b6FxFm4w,6867
3
3
  athena/chain/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
4
4
  athena/chain/client.py,sha256=2vSu7d4RvgbGc7jbWpKkCs5dU-ryCIJ1i0I1EsoCEdQ,16177
5
5
  athena/client.py,sha256=8QypiDlbZ0C1YsJh6GzhylLVCZXDQc1MCJTURo2_vvI,3576
6
6
  athena/core/__init__.py,sha256=1pNSKkwyQvMl_F0wohBqmoQAITptg3zlvCwsoSSzy7c,853
7
7
  athena/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
8
- athena/core/client_wrapper.py,sha256=M9RdU8r1ZxZ8pnSehNGROhbhC9YYBedrfwP3er_jV10,1495
8
+ athena/core/client_wrapper.py,sha256=-jPtbqA0iRJ7OCtuckoLXMzGxv5VlABm2v-0Qo1USgY,1495
9
9
  athena/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
10
10
  athena/core/file.py,sha256=sy1RUGZ3aJYuw998bZytxxo6QdgKmlnlgBaMvwEKCGg,1480
11
11
  athena/core/http_client.py,sha256=5ok6hqgZDJhg57EHvMnr0BBaHdG50QxFPKaCZ9aVWTc,5059
@@ -31,8 +31,8 @@ athena/search/client.py,sha256=j0DYo1WWFMlrssybtQAH71O889eRJdDHheADms5Q9yE,7640
31
31
  athena/snippet/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
32
32
  athena/snippet/client.py,sha256=EE2ADdtSvk_c3-NkVMfwS1r29-y7YhozPoqXc4DPj8k,11323
33
33
  athena/tools/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
34
- athena/tools/client.py,sha256=eILS3_ErH3rhYpMMFhTnDz00QochB0Bvh0njn7qFSy0,26539
35
- athena/types/__init__.py,sha256=9XwKPDwCBCtoRh1rSQTgsJdR3IVfmigA6n1iRuOiM0E,1957
34
+ athena/tools/client.py,sha256=YQrZh5ZjRMfRt53hV7id4gF3QTAAGNAWnkDLTPxF2uo,27502
35
+ athena/types/__init__.py,sha256=cgWcjSrr80vIrXOkXOzeLLtrwmOaRX8lG4UKo4LEC3Q,2023
36
36
  athena/types/dataset.py,sha256=ShFYop4Pj-pscWrjWZQFboUmK5TDX3NzP0xNRZimpp8,994
37
37
  athena/types/document.py,sha256=evK_-wGk07kB8y5xyPMFCgqDbItuxCAawdUN20b6zFg,1061
38
38
  athena/types/excecute_tool_first_workflow_out.py,sha256=T4GxP3yzTY3XkumdpUdXbn8Tx_iNc1exed8N2SnwV2w,875
@@ -49,6 +49,7 @@ athena/types/map_reduce_chain_out.py,sha256=6R-fuxHaww60dhUAuwrdZPp5lV-DyFZh9SGL
49
49
  athena/types/message_out.py,sha256=HJZizmFH7crD3OHm0fdTy3189F2gv5qR8aaUbTTfWFI,845
50
50
  athena/types/message_out_dto.py,sha256=1G8srlYaIYmoYRstLKm97xZGxK87DK57CiO9hYnt3gQ,1031
51
51
  athena/types/model.py,sha256=K2OAggAs9-ljK2TSr1XrlnmfRaLyH374wWrIJGcyU0s,3125
52
+ athena/types/publish_formats.py,sha256=1_F5vyEwDtxshFG0S2gNx05V8jZHFEK6ZoZkjIJVhyQ,885
52
53
  athena/types/report.py,sha256=km2CgCbHBXQQbPai1y5sGlsQpO7WAlUVvdsRC_7f4KI,926
53
54
  athena/types/researcher_out.py,sha256=v9Sx2Nm3ptwScV-JoSX0z-oKhmjEZTmWMUOKsTcQ6jQ,879
54
55
  athena/types/snippet.py,sha256=Mrc92_hBABJQjCSToAA-FgwhvO-Jn8Kjm-lYI6aMlUY,1106
@@ -63,6 +64,6 @@ athena/types/validation_error_loc_item.py,sha256=LAtjCHIllWRBFXvAZ5QZpp7CPXjdtN9
63
64
  athena/upload/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
64
65
  athena/upload/client.py,sha256=e5h10wZ7lGBasJ6X907x7nXHRhX600mLSkdw2qz6pmY,6385
65
66
  athena/version.py,sha256=8aYAOJtVLaJLpRp6mTiEIhnl8gXA7yE0aDtZ-3mKQ4k,87
66
- athena_intelligence-0.1.62.dist-info/METADATA,sha256=cToasjyHMK9NNiqf7w3ShaiwaD8ZFemT37qUwZ4P6Y8,4738
67
- athena_intelligence-0.1.62.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
68
- athena_intelligence-0.1.62.dist-info/RECORD,,
67
+ athena_intelligence-0.1.63.dist-info/METADATA,sha256=qN34g4UsXLXpSJShvksZncctE2qYz_Jdcl165eSV0yQ,4738
68
+ athena_intelligence-0.1.63.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
69
+ athena_intelligence-0.1.63.dist-info/RECORD,,