Skip to content

Conversation

@tazlin
Copy link
Member

@tazlin tazlin commented Jan 26, 2025

--todo--

@tazlin tazlin changed the title Even better tests rebase feat: worker abstractions; fix: various improvements and bug fixes Jan 26, 2025
@tazlin

This comment was marked as outdated.

@tazlin

This comment was marked as outdated.

@QodoAI-Agent

This comment was marked as outdated.

@QodoAI-Agent

This comment was marked as outdated.

@tazlin tazlin force-pushed the even-better-tests-rebase branch 4 times, most recently from a2a6db0 to 27e6932 Compare March 1, 2025 17:03
@tazlin

This comment was marked as outdated.

@QodoAI-Agent

This comment was marked as outdated.

@tazlin tazlin force-pushed the even-better-tests-rebase branch from 055117e to 60350da Compare March 1, 2025 19:45
@tazlin tazlin force-pushed the even-better-tests-rebase branch from d12fced to 6d44d18 Compare May 4, 2025 13:17
This includes scenarios where, for example, JobIDs and WorkerIDs.
This more accurately reflects the usage of this field type

fix: rename `job_id` vars to `gen_id`
`object` and `any` have distinct meanings. particularly, I do in fact mean "any" here rather than expecting an object compatible with `object`
`id_factory`, `default_testing_image_bytes`, `default_testing_image_PIL`
- Fixes the `SharedKeyCreateRequest` class to use the `PUT` method instead of `POST`.
- A new mixin class, `MessageSpecifiesSharedKeyMixin`
- Accordingly updates the api <-> sdk map json
- Adds a warning when shared keys are empty (probably unintended but still useful for testing)

docs: add missing shared keys mkdocs stub
The `time_constructed` property is the time at which the model is constructed and will be used to infer pop times if not otherwise specified for jobs. It may also serve some purpose with testing and/or debugging.
Includes reworked contrib.md, a new code style guide, and the start of a package structure guide. Inserts a link to the mkdocs to an onboarding documentation map.
Allows extrapolation from a parameter set what features are required in order to complete the request. Also implements some basic facilities to evaluate if a given image worker is capable of fulfilling a given generation. Text and alchemy worker evaluation is not yet supported as of this commit.
…read safety

refactor: dynamic params via `additional_params` for image gen

This allows extendibility, allowing parameter types or categories either unknown the SDK or as implemented by third parties.

style: catch up

fix/style: missing import, lingering style issues

[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

fix: remove `type` syntax for now

I am unclear how to guard it from raising an exception right now and its not terribly important as it just helps my IDE color it a certain way

fix: use compat version of horde_model_reference

fix: using `typing_extensions` for `override`

This namespace migration is only effective as of python 3.12 and later, and the old namespace appears to still be valid in 3.12 and 3.13 at this time.
Unordered indents were locally configured to lint as 2-space, which mkdocs does not support.
This more accurately reflects that they are simply the well defined and known to the SDK types. "Any" implies a generic (child class) relationship which these type aliases do not actually encapsulate.
Due to the evolution of the design of the sdk, most of the usages of the `generation_id`(s) variables were confusingly named. In the current iteration, `generations` are instances of inference (or generating) , where `results` are the actual outputs from those. There can be 1...N results, but generations are always a single, discrete, entity from the perspective of the SDK.
This closes a gap in testing where if an endpoint was supported in the SDK by any verb, but not all verbs, testing would still pass. This was specifically in response that a newly added DELETE verb to a previously existing endpoint (`/users/`) did not cause the testing to fail.
…pdates

- A substantial rework of the job/generation systems, their semantic meanings, and improved their separation of responsibilities
- Introduces backend_parsing modules and example worker generation scripts.
- Updates API payload/response maps and field descriptions for user endpoints, including support for user deletion and undeletion.
- Enhances documentation with backend values mapper and client design guides,
- Reworks package structure
- Improves many test methodologies, and adds tests for new/changed modules/classes
- Uses python 3.12+ typing features to better define the relationships for generations and jobs, especially when generics/generic parameters.
- Adjust the logging system for logfire
- Also includes a number of ruff lint fixes
- Fixes docstring test to properly identify and correct docstrings for API models
- Fixes missing docstrings in API models
@tazlin tazlin force-pushed the even-better-tests-rebase branch from 8e377ed to 517a6e8 Compare December 24, 2025 15:29
@tazlin tazlin force-pushed the even-better-tests-rebase branch from d92eeaa to 2d88b17 Compare December 24, 2025 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants