Commit Graph

203 Commits

  • feat: Model Client and associated Content Types (#53)
    * feat: ModelClient and content types
    
    * refactor: Pythonify ChatResponseFormat and ChatRole
    
    * feat: Add guardrail interfaces
    
    * refactor: Remove CancellationToken
    
    * feat: Solidify the Usage APIs
    
    * Adds well-known keys for additional_counts, and guidance for how to avoid collisions between providers
    * Implement sum-aggregation for usage
    
    * refactor: Move AITool out of model_client
    
    * refactor: Copy editing
    
    * fix: CI checks (pyupgrade, ruff, etc.)
    
    * ci: Fix pre-commit to use pyright in  uv venv
    
    The existing pyright precommit hook inside of python-pyright is no longer being maintained by the owner (see  https://github.com/RobertCraigie/pyright-python/issues/265)
    
    The fix is to define the hook ourselves, relying on `uv run` to drive it. In order for that to work right we need to use the "system" language to break out of the sandbox.
    
    * fix: Pyright error fixes
    
    * docs: Update models and types design docs
    
    * Python: Refinement of content types and model client  (#112)
    
    * refinement of structure and buildup
    with ports from semantigen
    
    * refined the data and uri contents
    
    * refined chat response and updates
    
    * moved things and added tests
    
    * moved out of src folder
    
    * fixed imports and tests
    
    * small tweaks
    
    * missing build system
    
    * upgrade
    
    * add mypy
    
    * fixed typing for types
    
    * fix tests
    
    * fixed tool
    
    * disable json checks on vscode
    
    * remove print
    
    ---------
    
    Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>
    Co-authored-by: eavanvalkenburg <github@vanvalkenburg.eu>
  • Python: package setup with logger (#125)
    * package setup with logger
    
    * set config once
    
    * add unit test workflow
    
    * updated naming of workflows
    
    * add mypy check
    
    * renamed job
    
    * smaller name
    
    * ignore certain files for ruff
    
    * remove assignment
    
    * fix ruff config
    
    * removed pyright from pre-commit
    
    * fixed logging test
    
    * fix mypy setup
    
    * mypy fix
    
    * mypy
    
    * mypy
  • Add initial skeleton of package, including tooling setup and CI (#4)
    * Add initial skeleton of package, including tooling setup and CI
    
    * update workflow
    
    * update uv
    
    * add bandit