Skip to content

Releases: nchekwa/simpletool-python

v0.0.16

11 Jan 01:04
Compare
Choose a tag to compare

[0.0.16] - 2025-01-11 Milestone Alpha2

Fixed

  • incorrect SimpleToolResponseModel Pydantic model configuration + from_attributes allow easy serialize/deserialize

v0.0.15

09 Jan 03:02
Compare
Choose a tag to compare

[0.0.15] - 2025-01-09 Milestone Alpha2

Fixed

  • incorrect github action workflow for setup.py version

v0.0.14

09 Jan 02:24
Compare
Choose a tag to compare

[0.0.14] - 2025-01-09 Milestone Alpha2

Added

  • SimpleToolResponseModel
  • add correct handle repr for SimpleTool child classes
  • add get_version for setup.py to automate version update
  • auto add annotation version in __init__.py

v0.0.13

08 Jan 22:50
Compare
Choose a tag to compare

[0.0.13] - 2025-01-08 Milestone Alpha2

Fixed

  • Updated test import from BoolContents to BoolContent to match type definition

v0.0.12

08 Jan 21:30
Compare
Choose a tag to compare

[0.0.12] - 2025-01-08 Milestone Alpha2

Added

  • added input_model will be mandatory - as mapping SimpleInputModel to SimpleTool
  • input_schema will be from now generated based on input_model (and will not be able to be overriding)
  • added output_model + output_schema will be generated based on return type of run method
  • types for return (1 base + 6 subclasses):
    • Content - base class
    • TextContent - for text based content
    • ImageContent - for image based content
    • FileContent - for file based content
    • ResourceContent - for resource based content
    • BoolContent - for boolean based content
    • ErrorContent - for error based content

[0.0.10] - 2025-01-06 Milestone Alpha

Added

  • ready to use own SimpleTool class naming convention
  • added empty main to load module smoothly w/o any errors
  • adding a context manager for resource cleanup (auto clean in aexit method)
  • implement timeout mechanisms for long-running tools
  • remove execute def option from Tool class - make it SIMPLE -> handled by run method option (only)
  • added own SimpleInputSchema class which is used to extract json schema from input types
  • by default json schema extraction for SimpleInputSchema will remove title and description fields

v0.0.7

04 Jan 10:10
Compare
Choose a tag to compare

[0.0.7] - 2025-01-05

Added

  • test which cover decorator @validate_tool_output - used to check if users return only valid list of elements types
  • added FileContent which return encoded base64 file content and mime of this file
  • added in ResourceContents mandatory name attribute and optional description attribute - as server needs to be able to identify resource also by the name (which will work as id in database)

Fixed

  • run/execute should return Sequence (which is covariant) instead of List (which is invariant) - that should fully allow return mix of types with no linter warnings

v0.0.5

03 Jan 20:34
Compare
Choose a tag to compare

[0.0.5] - 2025-01-03

Fixed

  • tool should from now always return list of elements - List[ContentT]

v0.0.4

02 Jan 15:25
Compare
Choose a tag to compare

[0.0.4] - 2025-01-02

Fixed

  • select_random_api_key where value is empty string cause error

Added

  • add proper validation of run/execute output type (validate_tool_output decorator)
    this will allow only to use as output: Union[List[ContentT], ErrorData]
    where: ContentT = TypeVar('ContentT', ImageContent, TextContent, EmbeddedResource)

v0.0.3

02 Jan 14:05
Compare
Choose a tag to compare

[0.0.3] - 2025-01-02

Fixed

  • upgrade to 0.0.2 breaks loading of tool (#1).

Added

  • run test now will now run Autopep8 to fix some formating issues and Flake8 linting on test files

Full Changelog: v0.0.2...v0.0.3

v0.0.2

02 Jan 12:10
Compare
Choose a tag to compare

[0.0.2] - 2025-01-02

Added

  • documentation in README.md
  • run_test.py - manual run test

Changed

  • fix some formating flake8 comp
  • autorun github workflow on change version in setup.py