Skip to content
This repository has been archived by the owner on Oct 28, 2024. It is now read-only.

Commit

Permalink
Merge pull request #8 from allmonday/dev
Browse files Browse the repository at this point in the history
v2.1.0
  • Loading branch information
allmonday authored Apr 8, 2024
2 parents b6569bd + a527ed3 commit 89b3a6a
Show file tree
Hide file tree
Showing 27 changed files with 1,334 additions and 639 deletions.
362 changes: 57 additions & 305 deletions README.md

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

# pydantic2-resolve

## v.2.1.0 (2024.04.08)
- bugfix: https://github.com/allmonday/pydantic2-resolve/issues/7
- migrating collctor and internal optimization from pydantic-resolve

## v.2.0.0 (2024.02.29)
- rename pydantic2_resolve -> pydantic_resolve to align with pydantic-resolve (v1)
- add more diagrams in readme.
Expand Down
Binary file added doc/intro.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion examples/6_sqlalchemy_loaderdepend_global_filter.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ async def query_tasks(private_comment=True):
task_objs = [TaskSchema.from_orm(t) for t in tasks]

# !!!============= resolve =============!!!
resolver = Resolver(loader_filters={FeedbackLoader: {'private': private_comment}},
resolver = Resolver(loader_params={FeedbackLoader: {'private': private_comment}},
ensure_type=True) # <----- global filter
resolved_results = await resolver.resolve(task_objs)

Expand Down
2 changes: 1 addition & 1 deletion examples/readme_demo/1_filter.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ async def main():
departments = [Department(**d) for d in datum.departments if d['id'] in department_ids]
result = Result(departments=departments)
resolver = Resolver(
loader_filters={
loader_params={
MemberDataLoader: {'gender': 'female'}
})
data = await resolver.resolve(result)
Expand Down
19 changes: 16 additions & 3 deletions pydantic_resolve/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,30 @@
ResolverTargetAttrNotFound,
DataloaderDependCantBeResolved,
LoaderFieldNotProvidedError,
MissingAnnotationError)
from .resolver import Resolver, LoaderDepend
from .util import build_list, build_object, mapper, ensure_subset, output, copy_dataloader_kls, model_config
MissingAnnotationError,
GlobalLoaderFieldOverlappedError)
from .resolver import Resolver
from .core import LoaderDepend, Collector, ICollector
from .util import (
build_list,
build_object,
mapper,
ensure_subset,
output,
model_config,
copy_dataloader_kls)

__all__ = [
'Resolver',
'LoaderDepend',
'Collector',
'ICollector',
'ResolverTargetAttrNotFound',
'DataloaderDependCantBeResolved',
'LoaderFieldNotProvidedError',
'MissingAnnotationError',
'GlobalLoaderFieldOverlappedError',

'build_list',
'build_object',
'mapper',
Expand Down
5 changes: 3 additions & 2 deletions pydantic_resolve/constant.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
PREFIX = 'resolve_'
RESOLVE_PREFIX = 'resolve_'
POST_PREFIX = 'post_'
PYDANTIC_FORWARD_REF_UPDATED = '__pydantic_resolve_forward_refs_updated__'
DATACLASS_FORWARD_REF_UPDATED = '__pydantic_resolve_dataclass_forward_refs_updated__'
HAS_MAPPER_FUNCTION = '__pydantic_resolve_mapper_provided__'
POST_DEFAULT_HANDLER = 'post_default_handler'
EXPOSE_TO_DESCENDANT = '__pydantic_resolve_expose__'
EXPOSE_TO_DESCENDANT = '__pydantic_resolve_expose__'
COLLECT_FROM_ANCESTOR = '__pydantic_resolve_collect__'
Loading

0 comments on commit 89b3a6a

Please sign in to comment.