| pinjected/test_helper/test_runner.py |
473 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| pinjected/run_config_utils.py |
614 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| pinjected/demo.py |
7 |
__meta_design__: Design = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| pinjected/exporter/llm_exporter.py |
801 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| pinjected/_dev_tools/init.py |
14 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| pinjected/test_package/child/example_experiments.py |
96 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| pinjected/test_package/child/module_with.py |
13 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| pinjected/test_package/child/module1.py |
94 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| pinjected/test_package/init.py |
30 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| pinjected/helper_structure.py |
263 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| pinjected/di/tools/add_overload.py |
122 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| packages/injected_utils/src/injected_utils/injected_cache_utils.py |
704 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| packages/niji_voice/src/pinjected_niji_voice/api.py |
284 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| packages/injected_utils/src/injected_utils/async_caching/async_cache.py |
74 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| packages/injected_utils/src/injected_utils/async_caching/decorators.py |
132 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| packages/injected_utils/src/injected_utils/batched_cache.py |
149 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| packages/openai_support/src/pinjected_openai/openrouter/util.py |
945 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| packages/openai_support/src/pinjected_openai/openrouter/instances.py |
104 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| packages/anthropic/src/pinjected_anthropic/llm.py |
546 |
__meta_design__ = instances(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| packages/reviewer/src/pinjected_reviewer/init.py |
14 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| packages/reviewer/src/pinjected_reviewer/entrypoint.py |
35 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| packages/reviewer/src/pinjected_reviewer/pytest_reviewer/inspect_code.py |
551 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| packages/reviewer/src/pinjected_reviewer/pytest_reviewer/coding_rule_plugin_impl.py |
285 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| test/test_args_pure.py |
31 |
__meta_design__ = design() |
Create a __pinjected__.py file with __design__ = design() |
| test/s/test_env.py |
8 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| test/test_package/child/pinjected.py |
3 |
__meta_design__ = design(...) |
Replace with __design__ = design(...) in the same file |
| test/test_package/child/config.py |
3 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| test/test_package/child/module1.py |
8 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
| test/test_package/pinjected.py |
5 |
__meta_design__ = design(...) |
Replace with __design__ = design(...) in the same file |
| test/test_visualization.py |
18 |
__meta_design__ = design(...) |
Create a __pinjected__.py file with __design__ = design(...) |
---\nMigrated from CyberAgentAILab/pinjected#187\nOriginally created by @app/devin-ai-integration on null\n\n---\n\n# Deprecated Code Patterns in Pinjected Repository
This issue documents all remaining instances of deprecated code patterns in the pinjected repository that need to be updated. The goal is to provide a comprehensive roadmap for future migration work.
Background
The pinjected framework is migrating from older API patterns to newer, more consistent ones:
instances(),providers(), andclasses()→ unifieddesign()function__meta_design__→__design__in__pinjected__.pyfilesDesign.bind_instance→design()Deprecated Code Patterns Found
The following table lists all instances of deprecated code patterns found in the repository:
1.
__meta_design__Usage__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__: Design = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = instances(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design()__pinjected__.pyfile with__design__ = design()__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__design__ = design(...)in the same file__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)__meta_design__ = design(...)__design__ = design(...)in the same file__meta_design__ = design(...)__pinjected__.pyfile with__design__ = design(...)2.
instances()Usageasync_test_design += instances(...)async_test_design = design(...)def instances(**kwargs):design(**kwargs)directly__meta_design__ = instances(...)__pinjected__.pyfile with__design__ = design(...)d = d + instances(repo_root=repo_path)d = d + design(repo_root=repo_path)たとえば、base_urlをinstances()で定義し...たとえば、base_urlをdesign()で定義し...base_design = instances(...)base_design = design(...)conf_lr_001 = base_design + instances(...)conf_lr_001 = base_design + design(...)model_resnet = instances(...)model_resnet = design(...)loss_crossentropy = instances(...)loss_crossentropy = design(...)学習率やモデル、データセット、ロス関数など、あらゆるパラメトリックな選択肢をinstances()やproviders()で記述し...学習率やモデル、データセット、ロス関数など、あらゆるパラメトリックな選択肢をdesign()で記述し...design += instances(...)design = design(...)design = instances(...)design = design(...)design = instances(...)design = design(...)3.
providers()UsageUse providers() context manager for testing specific implementationsUse design() for testing specific implementationsdef providers(**kwargs):design(**kwargs)withInjected.bind()for functions学習率やモデル、データセット、ロス関数など、あらゆるパラメトリックな選択肢をinstances()やproviders()で記述し...学習率やモデル、データセット、ロス関数など、あらゆるパラメトリックな選択肢をdesign()で記述し...design += providers(...)design = design(...)withInjected.bind()for functionsdesign = instances(...) + providers(...)design = design(...)withInjected.bind()for functionsdesign += providers(...)design = design(...)withInjected.bind()for functionsdesign = instances(...) + providers(...)design = design(...)withInjected.bind()for functions4.
Design.bind_instanceUsaged = EmptyDesign.bind_instance(...)d = design(...)d1 = EmptyDesign.bind_instance(...)d1 = design(...)d2 = EmptyDesign.bind_instance(...)d2 = design(...)d3 = EmptyDesign.bind_instance(...)d3 = design(...)d = EmptyDesign.bind_instance(...)d = design(...)d = EmptyDesign.bind_instance(x=0)(commented out)d = design(x=0)Migration Strategy
1. Migrating from
__meta_design__to__design____pinjected__.pyfile in the same directory as the file containing__meta_design____meta_design__to__design__in the new file__meta_design__usesoverrides, flatten the content directly into__design____meta_design__in the codebaseExample:
2. Migrating from
instances()todesign()Direct replacement:
3. Migrating from
providers()todesign()withInjected.bind()For functions that need to be wrapped:
For
@injectedor@instancedecorated functions:4. Migrating from
Design.bind_instancetodesign()Direct replacement:
Priority Areas
pinjected/di/directoryNext Steps
Related PRs and Issues