Skip to main content

A library for 'gemini' languagemodels without unnecessary dependencies.

Project description

castor-pollux

Castor-Pollux (the twin sons of Zeus, routinely called 'gemini') is a pure REST API library for interacting with Google Generative AI API.

Without (!!!):

  • any whiff of 'Vertex' or GCP;
  • any signs of 'Pydantic' or unnecessary (and mostly useless) typing;
  • any other dependencies of other google packages trashed into the dumpster google-genai package.

Installation:

  pip install castor-pollux

Then:

  # Python
  import castor_pollux.rest as cp

A text continuation request:

import castor_pollux.rest as cp
from yaml import safe_load as yl

kwargs = """  # this is a string in YAML format
  model:        gemini-3.1-pro-preview      # thingking model
  # system_instruction: ''                  # will prevail if put here
  mime_type:    text/plain                  #
  modalities:
    - TEXT                                  # text for text
  max_tokens:   10000
  n:            2                           # 1 is not mandatory
  stop_sequences:
    - STOP
    - "\nTitle"
  temperature:  0.5                         # 0 to 1.0
  top_k:        10                          # number of tokens to consider.
  top_p:        0.5                         # 0 to 1.0
  include_thoughts: True
  thinking_level: high                      # for 3+ models
"""

instruction = 'You are Joseph Jacobs, you retell folk tales.'

text_to_continue = 'Once upon a time, when pigs drank wine '

machine_responses = cp.continuation(
    text=text_to_continue,
    instruction=instruction,
    **yl(kwargs)
)

A multi-turn conversation continuation request:

import castor_pollux.rest as cp
from yaml import safe_load as yl

kwargs = """  # this is a string in YAML format
  model:        gemini-2.5-pro
  mime_type:    text/plain
  modalities:
    - TEXT
  max_tokens:   32000
  n:            1  # no longer a mandatory 1
  stop_sequences:
    - STOP
    - "\nTitle"
  temperature:  0.5
  top_k:        10
  top_p:        0.5
  include_thoughts: True
  thinking_budget: 32768   
"""

previous_turns = """
  - role: user
    parts:
      - text: Can we change human nature?
    
  - role: model
    parts:
      - text: Of course, nothing can be simpler. You just re-educate them.
"""

human_response_to_the_previous_turn = 'That is not true. Think again.'

instruction = 'I am an expert in critical thinking. I analyse.'

machine_responses = cp.continuation(
    text=human_response_to_the_previous_turn,
    contents=yl(previous_turns),
    instruction=instruction,
    **yl(kwargs)
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

castor_pollux-0.0.21.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

castor_pollux-0.0.21-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file castor_pollux-0.0.21.tar.gz.

File metadata

  • Download URL: castor_pollux-0.0.21.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for castor_pollux-0.0.21.tar.gz
Algorithm Hash digest
SHA256 52562b6c1da4469e52ffa3926e8c1be88a9c65f94e3667e24e6329313b8ae9c2
MD5 770b3e11a4ce8b1cf636e586de4027f2
BLAKE2b-256 8a23c0e07480684638565f1a918b6f276477d57ad6c91096523c7acbfb0e5152

See more details on using hashes here.

File details

Details for the file castor_pollux-0.0.21-py3-none-any.whl.

File metadata

  • Download URL: castor_pollux-0.0.21-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for castor_pollux-0.0.21-py3-none-any.whl
Algorithm Hash digest
SHA256 f15dca889725fa8bea8602520d581b757a8a5283f5402f4a7ceb88eec3f4f1f7
MD5 695e892912d89540ef2bb864d7e20e60
BLAKE2b-256 9d53ef4165cbf6343efd84b87893ee2db33c5538a5df6d340d87fa905517197a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page