Skip to main content

A library for 'gemini' language models 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.'

message = [{"role": "user", "content": 'Once upon a time, when pigs drank wine '}]

machine_responses = cp.continuation(
    messages=message,
    instructions=instruction,
    **yl(kwargs)
)

A continuation with sources:

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
  sources:
    - https://github.com/machina-ratiocinatrix
    - https://github.com/alxfed
"""

previous_turns = """
  - role: user
    content: Can we change human nature?
    
  - role: model
    content: 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(
    messages=yl(previous_turns),
    instructions=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.1.1.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.1.1-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: castor_pollux-0.1.1.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.1.1.tar.gz
Algorithm Hash digest
SHA256 49ca061240d86960064d2ee382632d5e04bd19eb10fb12f55ae2eef4999b511e
MD5 75d4320d19da1e02f6e0a721a1b958e0
BLAKE2b-256 fbd0cc1889a94a713bcd0879c8019d199ea44dec82e89f5338b5163dc656bf54

See more details on using hashes here.

File details

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

File metadata

  • Download URL: castor_pollux-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.3 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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 745abcbe7385b02c28e34ffa4a8efdc3f5a3414a55fe2158c6c04a24f2f2bf7a
MD5 c3179645a5d303834f9cd6244d6bc8af
BLAKE2b-256 35b277e21658f7b5dd2c1a5c28c0dc44a8f27881443c8396b9e9416ccf9bb564

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