Releases: BasisResearch/effectful
Releases · BasisResearch/effectful
v0.3.1
What's Changed
- Remove
uv.lockby @eb8680 in #488 - Update encodable type class to have optional prompt prefix (closes #498) by @kiranandcode in #501
- Adds context parameter to
encodeanddecodecalls (closes #499) by @kiranandcode in #500 - Implements Polymorphic Templates by @kiranandcode in #504
- Revert "Implements Polymorphic Templates (#504)" by @kiranandcode in #507
- Drop cacheLLMhandler in favour of
LiteLLM's built in caching mechanisms. by @kiranandcode in #510 - Remove
LoggingLLMHandlerby @kiranandcode in #508 - Support for literal type annotations by @kiranandcode in #512
- Switch
type_to_encodable_typeinterface to lexically-sensitiveEncodabledesign by @kiranandcode in #521 - Clean up internal LLM API by @eb8680 in #484
- Implement internal synthesis API by @kiranandcode in #519
- EvalProvider using
RestrictedPython[Depends on #519] by @kiranandcode in #520 - Implement RetryHandler on top of new internal API (closes #495) by @kiranandcode in #522
- Update internal interface to enforce message ids by @kiranandcode in #527
- Abstract message sequence to handlers that can be overriden. by @kiranandcode in #528
- Bump version from 0.3.0 to 0.3.1 by @eb8680 in #530
Full Changelog: v0.3.0...v0.3.1
v0.3.0
What's Changed
- Install prettyprinter for term when library is available by @jfeser in #386
- Fix pypandoc issue in CI by @jfeser in #397
- Convert evaluate to a singledispatch by @jfeser in #398
- add jnp.pi and ArrayTerm.T by @cooijmanstim in #394
- Deprecate defterm by @jfeser in #399
- Rework numpyro distribution handling to enable symbolic distributions and handling of distribution methods by @jfeser in #311
- Box the output of
__type_rule__by @jfeser in #387 - Fix
syntactic_eqimplementation for jax arrays by @jfeser in #405 - Fix recursion error in sizesof by @jfeser in #406
- Allow
_BaseOperationsubclasses to have an overrideableapplymethod by @jfeser in #414 - Try pulling in pyproject.toml from staging-llm to master by @eb8680 in #425
- Generate instance-level
Operations for bound methods by @eb8680 in #351 - Fix dataclass
@defopsand added dataclass metaclass by @kiranandcode in #439 - Type check and lint example code by @jfeser in #449
- Add beam search example using thermometer continuations by @jfeser in #431
- Fix for jax 0.8.2 by @jfeser in #455
- Enabled term construction for all numerical comparison operators by @kiranandcode in #465
- Deprecate raising notimplementederror by @jfeser in #472
- Remove defterm by @jfeser in #473
- Replace remaining uses of
dm-treewith pytrees by @eb8680 in #480 - Move LLM interface code from
robotlby @jfeser in #358 - Implement basic tool calling by @jfeser in #366
- Fix
product_nwhen used on terms containing dataclasses by @jfeser in #373 - Enable strict tool calling by @jfeser in #375
- Enable structured generation by @jfeser in #376
- Add support for methods in
Template.define(#377) by @kiranandcode in #378 - Adding a lower-level event and a logger example by @datvo06 in #382
- Add support for tools returning images by @kiranandcode in #385
- Implement Caching Handler for LLM by @datvo06 in #392
- Implement
FirstToKAheadSampler by @kiranandcode in #412 - Add inheritable class for stateful templates by @jfeser in #416
- Support multiple providers (via
litellm) by @kiranandcode in #418 - store source of generated functions in
__src__attribute by @kiranandcode in #403 - Adds type-based encoding and support for legacy APIs by @kiranandcode in #411
- Add LLM Integration tests to the workflows. by @kiranandcode in #420
- Merge master into llm-staging by @jfeser in #423
- Fix
staging-llmdiff againstmasterby @eb8680 in #426 - Implement a RetryHandler for LLM module by @datvo06 in #428
- Merge
masterintostaging-llmagain by @eb8680 in #443 - Implements a unified
encodeing/decodeing pipeline forllmby @kiranandcode in #442 - Initial version of Lexical Context Collection - Collecting Tools and Template by @datvo06 in #434
- Update
staging-llmfrommasterby @eb8680 in #457 - Convert
Templateinto an operation by @jfeser in #424 - Fail when encoding terms or operations by @jfeser in #474
- Implemented record and replay fixtures for LLM calls by @kiranandcode in #467
- Remove program synthesis code by @jfeser in #475
- Disables direct recursion on templates by default by @kiranandcode in #466
- Remove k-ahead sampler by @jfeser in #479
- Document
TemplateandToolby @jfeser in #478 - Remove
agent.pyfrom handler and add docs on how to implement Agents by @kiranandcode in #464 - Fix RetryHandler not to use Template.replace() by @datvo06 in #483
- Rename
handlers.llm.providerstocompletionsby @eb8680 in #485 - Land
staging-llmonmasterby @eb8680 in #486 - Bump version from 0.2.3 to 0.3.0 by @eb8680 in #487
New Contributors
- @datvo06 made their first contribution in #382
- @cooijmanstim made their first contribution in #394
Full Changelog: v0.2.3...v0.3.0
v0.2.3
v0.2.2
v0.2.1
v0.2.0
Breaking Changes
- In operation definitions,
effectful.ops.types.NotHandledshould be raised instead ofNotImplementedError(#312). RaisingNotImplementedErrorwill now produce a warning.
What's Changed
- Fix missing typing of to_tensor by @jfeser in #212
- Add a
__str__implementation forTermand simplify__repr__by @jfeser in #218 - Enable doctests in ci by @jfeser in #217
- Implement sizesof for named and positional distributions by @jfeser in #214
- Fix bugs in PyroShim by @jfeser in #223
- Drop isort, black, flake8 in favor of ruff by @jfeser in #219
- Remove unused kwargs by @jfeser in #229
- Fix performance bug in vmap call by @jfeser in #230
- Disable code coverage by @jfeser in #231
- Clean up lint and test actions by @jfeser in #232
- Enable notebook lint in CI by @jfeser in #235
- Enable index tensor as index argument by @jfeser in #237
- Support arithmetic operations on
TensorTerms by @jfeser in #245 - Switch to tensor-valued index variables by @jfeser in #248
- Support ordering
Operationsby @jfeser in #250 - Add indexed distribution tests by @jfeser in #255
- Add features needed by
counterfactualby @jfeser in #241 - Fixes for distribution embedding by @jfeser in #254
- Make
to_tensoran operation by @jfeser in #247 - Fix
typeofbug when returningNoneby @jfeser in #256 - Register
_DistributionTermwithdefdataby @jfeser in #258 - Remove unused test parameters by @jfeser in #261
- Stop marking passing tests as xfail by @jfeser in #264
- Introduce
bind_dims/unbind_dimsby @jfeser in #257 - Switch to pyproject.toml and uv by @jfeser in #260
- Add jax implementation of named dimensions & partial evaluation by @jfeser in #259
- Move callable term conversion to a new function by @jfeser in #278
- Implement
__iter__and__len__for jax arrays by @jfeser in #268 - Pretty printing for terms containing collections by @jfeser in #265
- Disable flaky test by @jfeser in #286
- Extend scoping rule to handle collections of bound variables by @jfeser in #282
- Implement .at for jax array terms by @jfeser in #284
- Add special case handling for singledispatch functions in defop by @jfeser in #283
- Add support for using
defopas a method decorator by @eb8680 in #290 - Allow isinstance checks for Interpretations by @jfeser in #291
- Add
defdatapatterns and operations forIterables andIterators by @eb8680 in #295 - Fix evaluation of operations that return reducible terms by @jfeser in #293
- Correctly rename bound variables that appear as dict keys by @jfeser in #297
- Add module for jax.scipy.special by @jfeser in #294
- Remove buggy check in jax tensor indexing by @jfeser in #302
- Bump minimum Python version to 3.12 by @eb8680 in #303
- Remove non-uniform behavior for numeric equality by @jfeser in #306
- Free array iter bugfix by @jjcmoon in #307
- Restrict jax version by @jfeser in #313
- Support terms that contain jax.array, jax.asarray by @jfeser in #317
- Add jax.numpy.linalg by @jfeser in #316
- Add type inference module for embedding polymorphic types by @eb8680 in #299
- Remove dependency of
opsondm-treeby @eb8680 in #323 - Add support for
dataclassinevaluateby @eb8680 in #324 - Support jax 0.7 by bumping numpyro by @jfeser in #325
- Add parallel CI builds for Python 3.12 and 3.13 by @eb8680 in #326
- Introduce NotHandled replacement for NotImplementedError by @jfeser in #327
- Remove intp argument from apply by @eb8680 in #333
- Absorb
callintoCallableTermby @eb8680 in #334 - Remove
handlers.numbersby @eb8680 in #335 - Fix vestigial calls to apply.default_rule by @eb8680 in #336
- Use
sphinx_autodoc_typehintsto replace manual type annotations in sphinx docs by @jfeser in #338 - Make
dm-treedependency optional by @eb8680 in #339 - Move docs requirements into pyproject toml by @eb8680 in #341
- Fix lambda_example docstring by @eb8680 in #344
- Convert
syntactic_eqto a singledispatch and add tensor support by @jfeser in #342 - Make
defdataand__fvs_rule__rely oninspect.BoundArgumentsby @eb8680 in #343 - Fix bug in
fvsofby @eb8680 in #346 - Add jnp methods to _ArrayTerm by @jjcmoon in #340
- Bump project version from 0.1.0 to 0.2.0 by @eb8680 in #350
New Contributors
Full Changelog: v0.1.0...v0.2.0
Initial GitHub release
Initial release to test package deployment