Skip to content

Releases: humanloop/humanloop-python

0.8.40b6

22 May 15:00
9e184d9

Choose a tag to compare

Release 0.8.40b6: Introduce async decorators (#75)

* Introduce async versions of the File decorators
* The decorators are compatible with the `eval.run(...)` utility
* The new decorators are available on the sync version of the Humanloop client. In the near future, we'll work on providing feature parity between the sync and async client, and move the async decorator versions there.

0.8.40b5

20 May 14:53
018e847

Choose a tag to compare

Release 0.8.40b1 (#72)

* Updated doc-strings to match the changes made in observability, per [16.05 changelog](https://humanloop.com/docs/v5/changelog/2025/05#improved-observability-for-traces)

0.8.40b4

16 May 18:49

Choose a tag to compare

chore: Bump SDK version

0.8.40b3

16 May 18:39

Choose a tag to compare

chore: Bump SDK version

0.8.40b2

16 May 18:23
60fee63

Choose a tag to compare

Fix/consistent path normalization (#73)

* fix: improve path handling in sync client pull operation

* Improve and make path handling more consistent in call and log overloads

* refactor(tests): update normalize_path test to cover strip_extension parameter

* fix: improve path validation for SDK calls

- Enhance safety in path extension handling
- Fix path validation tests to work with actual error messages
- Prioritize extension validation over other path format issues
- Ensure consistent error handling across prompt and agent clients

* feat: add path utils for centralized path validation

* Further refined path handling and added more tests

* refactor: use pytest tmp_path fixture to isolate test file operations

This change:
- Replaces hardcoded directories with pytest's tmp_path fixture
- Eliminates filesystem pollution between tests
- Enables safe test parallelization
- Improves path validation and error messages
- Removes redundant cleanup code
- Makes tests follow pytest best practices

* test: fix type errors in local file operations test by using proper ChatMessageParams type

* docs(cli): clarify SyncClient log level control and OpenTelemetry isolation

* refactor: simplified path processing to use pathlib where possible

* docs: improve comment clarity

* test: improve path normalization tests with parametrize and edge cases

* docs: clarify pull_file docstring with failure example

* docs: expand normalize_path docstring with usage and examples

- Add detailed explanation of function's purpose and usage contexts\n- Document rationale for stripping leading/trailing slashes\n- Add comprehensive examples for different path formats\n- Reference SyncClient.pull usage for context

* refactor: SyncClient -> FileSyncer

* fix(sync): Convert base_dir to string in FileSyncer fixture

* fix(dosc): correct logger namespace reference

* docs: Improve error messages and comments in FileSyncer

* refactor(test): use pytest.mark.parametrize for path validation tests

Consolidate the three similar test loops (extension paths, slash paths, and combined paths)
into a single parametrized test. This reduces code duplication while making test cases
more maintainable and test output more descriptive.

- Replace repetitive test loops with @pytest.mark.parametrize
- Use descriptive test IDs for better test output
- Group test cases by type with clear comments
- Make parameter names more explicit (path_generator, test_case_description)

* fix(test): use proper typing.Callable for path generator

0.8.40b1

16 May 17:27
60fee63

Choose a tag to compare

Fix/consistent path normalization (#73)

* fix: improve path handling in sync client pull operation

* Improve and make path handling more consistent in call and log overloads

* refactor(tests): update normalize_path test to cover strip_extension parameter

* fix: improve path validation for SDK calls

- Enhance safety in path extension handling
- Fix path validation tests to work with actual error messages
- Prioritize extension validation over other path format issues
- Ensure consistent error handling across prompt and agent clients

* feat: add path utils for centralized path validation

* Further refined path handling and added more tests

* refactor: use pytest tmp_path fixture to isolate test file operations

This change:
- Replaces hardcoded directories with pytest's tmp_path fixture
- Eliminates filesystem pollution between tests
- Enables safe test parallelization
- Improves path validation and error messages
- Removes redundant cleanup code
- Makes tests follow pytest best practices

* test: fix type errors in local file operations test by using proper ChatMessageParams type

* docs(cli): clarify SyncClient log level control and OpenTelemetry isolation

* refactor: simplified path processing to use pathlib where possible

* docs: improve comment clarity

* test: improve path normalization tests with parametrize and edge cases

* docs: clarify pull_file docstring with failure example

* docs: expand normalize_path docstring with usage and examples

- Add detailed explanation of function's purpose and usage contexts\n- Document rationale for stripping leading/trailing slashes\n- Add comprehensive examples for different path formats\n- Reference SyncClient.pull usage for context

* refactor: SyncClient -> FileSyncer

* fix(sync): Convert base_dir to string in FileSyncer fixture

* fix(dosc): correct logger namespace reference

* docs: Improve error messages and comments in FileSyncer

* refactor(test): use pytest.mark.parametrize for path validation tests

Consolidate the three similar test loops (extension paths, slash paths, and combined paths)
into a single parametrized test. This reduces code duplication while making test cases
more maintainable and test output more descriptive.

- Replace repetitive test loops with @pytest.mark.parametrize
- Use descriptive test IDs for better test output
- Group test cases by type with clear comments
- Make parameter names more explicit (path_generator, test_case_description)

* fix(test): use proper typing.Callable for path generator

0.8.39

14 May 16:37
cf3f97f

Choose a tag to compare

Release 0.8.39: Sync functionality and CLI

- Humanloop SDK can now use local .prompt and .agent file definitions. By default, the local worskpace is placed in the `humanloop` directory of your project
- You can clone Files from the Humanloop workspace into your local one. After cloning, the local will mirror the directory structure on remote.
- To use local files, refer to them by path in `call` and `log` operations
- In code, the feature can be toggled via the `use_local_files` flag in the Humanloop client constructor
- The feature can also be accessed via CLI: to clone Files, use the `humanloop pull` CLI command

0.8.38

09 May 17:14
6e1ba26

Choose a tag to compare

What's Changed

Full Changelog: 0.8.37...0.8.38

0.8.37

09 May 15:58
9851d90

Choose a tag to compare

What's Changed

Full Changelog: 0.8.36...0.8.37

0.8.36

09 May 15:54
f94af1d

Choose a tag to compare

:herb: Fern Regeneration -- May 9, 2025 (#64)

* SDK regeneration

* Add type ignore

---------

Co-authored-by: fern-api <115122769+fern-api[bot]@users.noreply.github.com>
Co-authored-by: James Baskerville <jameswbaskerville@gmail.com>