Add context casting functionality

Open
#161 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
python
Domain
tooling

Research direction

Start at ContextBase and the existing model_validate path to understand how one context is cast into another without an instance. Define the expected class-level behavior for compatible and incompatible contexts, then verify that context_validate(A) returns the corresponding boolean for the example and its failure cases.

Written by the indexing model from the issue text.

Description

Please consider functionality that allows to validate if context A can be cast into context B at model definition time even when there is no direct inheritance between A and B. Consider the following example:

from ccflow import ContextBase

class A(ContextBase):
   foo: str = "x"
class B(ContextBase):
   foo: str = "x"

B.model_validate(A())

This is fully supported use case, but the limitation is that it requires an instance of A(). It would be helpful if we could do something like:

B.context_validate(A)

which returns True if context A can be cast to context B or False otherwise.

Dominant language
Python
Stars
44
Forks
7
Avg merge
18h 20m
Merged PRs (30d)
14

Getting set up

  • No Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Point72/ccflow

All issues in Point72/ccflow

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.