wry 0.5.1.dev4__tar.gz → 0.5.1.dev5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/.cursorrules +6 -1
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/CHANGELOG.md +8 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/CONTRIBUTING.md +10 -1
- {wry-0.5.1.dev4/wry.egg-info → wry-0.5.1.dev5}/PKG-INFO +45 -1
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/README.md +44 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/RELEASE_PROCESS.md +8 -1
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/_version.py +3 -3
- {wry-0.5.1.dev4 → wry-0.5.1.dev5/wry.egg-info}/PKG-INFO +45 -1
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/.github/workflows/ci-cd.yml +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/.gitignore +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/.markdownlint.json +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/.pre-commit-config.yaml +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/AI_KNOWLEDGE_BASE.md +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/LICENSE +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/TODO.md +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/check.sh +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/examples/autowrymodel_comprehensive.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/examples/config.json +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/examples/multimodel_comprehensive.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/examples/sample_config.json +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/examples/wrymodel_comprehensive.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/pyproject.toml +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/scripts/README.md +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/scripts/extract_release_notes.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/scripts/test_all_versions.sh +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/scripts/test_ci_locally.sh +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/scripts/test_with_act.sh +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/scripts/update-dependencies.sh +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/setup.cfg +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/README.md +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/__init__.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/features/__init__.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/features/test_auto_model.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/features/test_inheritance.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/features/test_multi_model.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/features/test_source_precedence.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/integration/__init__.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/integration/test_click_edge_cases.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/integration/test_click_integration.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/integration/test_click_integration_extended.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/integration/test_context_handling.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/__init__.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/__init__.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_auto_model_annotation_inference.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_auto_model_edge_cases.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_auto_model_field_processing.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_auto_model_list_fields.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_comma_separated_lists.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_field_annotation_handling.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_field_annotations.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_type_inference.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/README_TESTING_STRATEGY.md +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/__init__.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_argument_types.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_bool_flag_handling.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_click_config_building.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_click_constraint_formatting.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_click_decorator_edge_cases.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_click_interval_constraints.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_click_lambda_parsing.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_click_length_constraints.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_click_parameter_generation.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_click_predicate_handling.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_closure_extraction_errors.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_closure_handling.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_constraint_behavior.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_constraint_edge_cases.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_env_vars_option.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_explicit_argument_help_injection.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_field_alias_with_click_options.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_format_constraint_text.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_json_config_loading.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_lambda_behavior.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_lambda_error_handling.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_predicate_source_errors.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_strict_mode_errors.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_type_handling.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/__init__.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_accessors.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_advanced_features.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_core.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_edge_cases.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_env_utils.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_field_constraint_extraction.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_field_utils.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_field_utils_edge_cases.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_sources.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_type_checking_blocks.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/__init__.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_accessor_caching.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_extract_edge_cases.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_extract_subset_edge_cases.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_click_context_handling.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_data_extraction.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_default_handling.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_edge_cases.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_environment_integration.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_extract_subset_edge_cases.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_extraction_methods.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_field_errors.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_object_extraction.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_non_dict_object_extraction.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_object_attribute_extraction.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/multi_model/__init__.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/multi_model/test_multi_model.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/multi_model/test_type_checking.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_argument_help_injection.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_auto_model_field_processing.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_comprehensive_imports.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_exclude_enum.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_generate_click_classmethod.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_help_system.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_init.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_init_edge_cases.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_init_version_edge_cases.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_model_extraction_methods.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_multiple_option_bug.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_type_checking_imports.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_variadic_argument_bug.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_version_fallback.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_version_parsing.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/__init__.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/auto_model.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/click_integration.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/comma_separated.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/core/__init__.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/core/accessors.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/core/env_utils.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/core/field_utils.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/core/model.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/core/sources.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/help_system.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/multi_model.py +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/py.typed +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry.egg-info/SOURCES.txt +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry.egg-info/dependency_links.txt +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry.egg-info/requires.txt +0 -0
- {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry.egg-info/top_level.txt +0 -0
|
@@ -29,7 +29,12 @@ Before making any commit, AI assistants MUST:
|
|
|
29
29
|
- Fix linter errors (ruff, mypy)
|
|
30
30
|
- Format code properly (ruff format)
|
|
31
31
|
|
|
32
|
-
5. **
|
|
32
|
+
5. **Update TODO.md** (if applicable):
|
|
33
|
+
- Mark completed tasks as done
|
|
34
|
+
- Remove completed items or move to archive section
|
|
35
|
+
- Update progress on ongoing work
|
|
36
|
+
|
|
37
|
+
6. **Follow Conventional Commits**:
|
|
33
38
|
- Use format: `type: description`
|
|
34
39
|
- Types: feat, fix, docs, refactor, test, chore, build
|
|
35
40
|
|
|
@@ -32,6 +32,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
32
32
|
- RELEASE_PROCESS.md: Documented that commits add to [Unreleased] during development
|
|
33
33
|
- RELEASE_PROCESS.md: Explained that release commit converts [Unreleased] to [X.Y.Z]
|
|
34
34
|
|
|
35
|
+
- **TODO.md integration** 📋
|
|
36
|
+
- .cursorrules: Added TODO.md update as step 5 in pre-commit requirements
|
|
37
|
+
- CONTRIBUTING.md: Added TODO.md checklist item (mark completed, update progress)
|
|
38
|
+
- RELEASE_PROCESS.md: Check TODO.md before release, update after release
|
|
39
|
+
- README.md: Added comprehensive "Documentation Index" section
|
|
40
|
+
- README.md: Listed TODO.md in "For Contributors" section
|
|
41
|
+
- README.md: Added "Quick Start Navigation" for users/contributors/AI assistants
|
|
42
|
+
|
|
35
43
|
### Tests
|
|
36
44
|
|
|
37
45
|
- **Additional comma-separated test** (494 total tests)
|
|
@@ -485,7 +485,15 @@ mypy wry/
|
|
|
485
485
|
|
|
486
486
|
**Note**: Git commits automatically run pre-commit hooks (ruff, mypy, pytest). All must pass.
|
|
487
487
|
|
|
488
|
-
### 5.
|
|
488
|
+
### 5. Update TODO.md (if applicable)
|
|
489
|
+
|
|
490
|
+
- [ ] **TODO.md**: Update if working on tracked tasks
|
|
491
|
+
- Mark completed tasks as done (✅)
|
|
492
|
+
- Remove completed items or move to archive
|
|
493
|
+
- Update progress notes on ongoing work
|
|
494
|
+
- Add new tasks if discovered during development
|
|
495
|
+
|
|
496
|
+
### 6. wry-Specific Checks
|
|
489
497
|
|
|
490
498
|
- [ ] **Source tracking works**: If touching config/model code, verify source tracking
|
|
491
499
|
- [ ] **Precedence correct**: CLI > JSON > ENV > DEFAULT (verify if changing)
|
|
@@ -648,5 +656,6 @@ For information about creating releases, see **`RELEASE_PROCESS.md`**.
|
|
|
648
656
|
- Check `AI_KNOWLEDGE_BASE.md` for complete technical reference
|
|
649
657
|
- Check `README.md` for user documentation
|
|
650
658
|
- Check `RELEASE_PROCESS.md` for release workflow
|
|
659
|
+
- Check `TODO.md` for current tasks and planned features
|
|
651
660
|
- Check `tests/features/test_source_precedence.py` for source tracking examples
|
|
652
661
|
- Open an issue for questions or clarifications
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wry
|
|
3
|
-
Version: 0.5.1.
|
|
3
|
+
Version: 0.5.1.dev5
|
|
4
4
|
Summary: Why Repeat Yourself? - Define your CLI once with Pydantic models
|
|
5
5
|
Author-email: Tyler House <26489166+tahouse@users.noreply.github.com>
|
|
6
6
|
License: MIT
|
|
@@ -1066,6 +1066,50 @@ mypy wry
|
|
|
1066
1066
|
- Start a discussion for general questions
|
|
1067
1067
|
- Check existing issues/PRs before creating new ones
|
|
1068
1068
|
|
|
1069
|
+
## Documentation Index
|
|
1070
|
+
|
|
1071
|
+
wry has comprehensive documentation for different audiences:
|
|
1072
|
+
|
|
1073
|
+
### For Users
|
|
1074
|
+
- 📘 **`README.md`** (this file) - Getting started, features, usage examples
|
|
1075
|
+
- 📁 **`examples/`** - Working code examples
|
|
1076
|
+
- `examples/autowrymodel_comprehensive.py` - Complete AutoWryModel features
|
|
1077
|
+
- `examples/wrymodel_comprehensive.py` - WryModel with source tracking
|
|
1078
|
+
- `examples/multimodel_comprehensive.py` - Multi-model usage
|
|
1079
|
+
|
|
1080
|
+
### For Contributors
|
|
1081
|
+
- 📖 **`CONTRIBUTING.md`** - Complete contributor guide with code patterns and checklists
|
|
1082
|
+
- 🤖 **`.cursorrules`** - AI assistant quick reference (references CONTRIBUTING.md)
|
|
1083
|
+
- 🚀 **`RELEASE_PROCESS.md`** - How to create releases and manage versions
|
|
1084
|
+
- 📋 **`TODO.md`** - Current tasks, planned features, and work in progress
|
|
1085
|
+
|
|
1086
|
+
### Technical Reference
|
|
1087
|
+
- 📚 **`AI_KNOWLEDGE_BASE.md`** - Complete technical reference for AI/LLMs (also useful for humans)
|
|
1088
|
+
- 📝 **`CHANGELOG.md`** - Version history and all changes
|
|
1089
|
+
- 🧪 **`tests/README.md`** - Test organization and structure
|
|
1090
|
+
- 🔧 **`scripts/README.md`** - Development scripts and tools
|
|
1091
|
+
|
|
1092
|
+
### Quick Start Navigation
|
|
1093
|
+
|
|
1094
|
+
**I'm a user, I want to...**
|
|
1095
|
+
- Get started → README.md "Quick Start" section
|
|
1096
|
+
- See examples → `examples/` directory
|
|
1097
|
+
- Understand features → README.md "Features" section
|
|
1098
|
+
- Track config sources → README.md "Value Source Tracking" section
|
|
1099
|
+
|
|
1100
|
+
**I'm a contributor, I want to...**
|
|
1101
|
+
- Set up development → CONTRIBUTING.md "Development Setup" section
|
|
1102
|
+
- Add a feature → CONTRIBUTING.md "Adding New Features" section
|
|
1103
|
+
- Run tests → CONTRIBUTING.md "Testing" section
|
|
1104
|
+
- Create a release → RELEASE_PROCESS.md
|
|
1105
|
+
- Check current tasks → TODO.md
|
|
1106
|
+
|
|
1107
|
+
**I'm an AI assistant, I want to...**
|
|
1108
|
+
- Quick reference → `.cursorrules`
|
|
1109
|
+
- Technical details → `AI_KNOWLEDGE_BASE.md`
|
|
1110
|
+
- Code patterns → `CONTRIBUTING.md`
|
|
1111
|
+
- Test examples → `tests/features/test_source_precedence.py`
|
|
1112
|
+
|
|
1069
1113
|
## License
|
|
1070
1114
|
|
|
1071
1115
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
@@ -1022,6 +1022,50 @@ mypy wry
|
|
|
1022
1022
|
- Start a discussion for general questions
|
|
1023
1023
|
- Check existing issues/PRs before creating new ones
|
|
1024
1024
|
|
|
1025
|
+
## Documentation Index
|
|
1026
|
+
|
|
1027
|
+
wry has comprehensive documentation for different audiences:
|
|
1028
|
+
|
|
1029
|
+
### For Users
|
|
1030
|
+
- 📘 **`README.md`** (this file) - Getting started, features, usage examples
|
|
1031
|
+
- 📁 **`examples/`** - Working code examples
|
|
1032
|
+
- `examples/autowrymodel_comprehensive.py` - Complete AutoWryModel features
|
|
1033
|
+
- `examples/wrymodel_comprehensive.py` - WryModel with source tracking
|
|
1034
|
+
- `examples/multimodel_comprehensive.py` - Multi-model usage
|
|
1035
|
+
|
|
1036
|
+
### For Contributors
|
|
1037
|
+
- 📖 **`CONTRIBUTING.md`** - Complete contributor guide with code patterns and checklists
|
|
1038
|
+
- 🤖 **`.cursorrules`** - AI assistant quick reference (references CONTRIBUTING.md)
|
|
1039
|
+
- 🚀 **`RELEASE_PROCESS.md`** - How to create releases and manage versions
|
|
1040
|
+
- 📋 **`TODO.md`** - Current tasks, planned features, and work in progress
|
|
1041
|
+
|
|
1042
|
+
### Technical Reference
|
|
1043
|
+
- 📚 **`AI_KNOWLEDGE_BASE.md`** - Complete technical reference for AI/LLMs (also useful for humans)
|
|
1044
|
+
- 📝 **`CHANGELOG.md`** - Version history and all changes
|
|
1045
|
+
- 🧪 **`tests/README.md`** - Test organization and structure
|
|
1046
|
+
- 🔧 **`scripts/README.md`** - Development scripts and tools
|
|
1047
|
+
|
|
1048
|
+
### Quick Start Navigation
|
|
1049
|
+
|
|
1050
|
+
**I'm a user, I want to...**
|
|
1051
|
+
- Get started → README.md "Quick Start" section
|
|
1052
|
+
- See examples → `examples/` directory
|
|
1053
|
+
- Understand features → README.md "Features" section
|
|
1054
|
+
- Track config sources → README.md "Value Source Tracking" section
|
|
1055
|
+
|
|
1056
|
+
**I'm a contributor, I want to...**
|
|
1057
|
+
- Set up development → CONTRIBUTING.md "Development Setup" section
|
|
1058
|
+
- Add a feature → CONTRIBUTING.md "Adding New Features" section
|
|
1059
|
+
- Run tests → CONTRIBUTING.md "Testing" section
|
|
1060
|
+
- Create a release → RELEASE_PROCESS.md
|
|
1061
|
+
- Check current tasks → TODO.md
|
|
1062
|
+
|
|
1063
|
+
**I'm an AI assistant, I want to...**
|
|
1064
|
+
- Quick reference → `.cursorrules`
|
|
1065
|
+
- Technical details → `AI_KNOWLEDGE_BASE.md`
|
|
1066
|
+
- Code patterns → `CONTRIBUTING.md`
|
|
1067
|
+
- Test examples → `tests/features/test_source_precedence.py`
|
|
1068
|
+
|
|
1025
1069
|
## License
|
|
1026
1070
|
|
|
1027
1071
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
@@ -26,6 +26,7 @@ Follow these steps IN ORDER:
|
|
|
26
26
|
|
|
27
27
|
1. **Verify all changes are in [Unreleased]**
|
|
28
28
|
- Check that CHANGELOG.md `[Unreleased]` section has all changes since last release
|
|
29
|
+
- Check TODO.md - all planned release items should be completed
|
|
29
30
|
- Ensure all tests pass (`pytest`)
|
|
30
31
|
- Fix any linting issues
|
|
31
32
|
|
|
@@ -68,7 +69,13 @@ Follow these steps IN ORDER:
|
|
|
68
69
|
|
|
69
70
|
### After the Release
|
|
70
71
|
|
|
71
|
-
Continue development by
|
|
72
|
+
Continue development by:
|
|
73
|
+
1. Adding new changes to the (now empty) `[Unreleased]` section in CHANGELOG.md
|
|
74
|
+
2. Updating TODO.md:
|
|
75
|
+
- Archive or remove completed items from the released version
|
|
76
|
+
- Add new tasks or features planned for next release
|
|
77
|
+
- Update roadmap and priorities
|
|
78
|
+
3. Update version numbers in AI_KNOWLEDGE_BASE.md if not already done
|
|
72
79
|
|
|
73
80
|
## Example
|
|
74
81
|
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.5.1.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 5, 1, '
|
|
31
|
+
__version__ = version = '0.5.1.dev5'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 5, 1, 'dev5')
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g1a3d554bc'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wry
|
|
3
|
-
Version: 0.5.1.
|
|
3
|
+
Version: 0.5.1.dev5
|
|
4
4
|
Summary: Why Repeat Yourself? - Define your CLI once with Pydantic models
|
|
5
5
|
Author-email: Tyler House <26489166+tahouse@users.noreply.github.com>
|
|
6
6
|
License: MIT
|
|
@@ -1066,6 +1066,50 @@ mypy wry
|
|
|
1066
1066
|
- Start a discussion for general questions
|
|
1067
1067
|
- Check existing issues/PRs before creating new ones
|
|
1068
1068
|
|
|
1069
|
+
## Documentation Index
|
|
1070
|
+
|
|
1071
|
+
wry has comprehensive documentation for different audiences:
|
|
1072
|
+
|
|
1073
|
+
### For Users
|
|
1074
|
+
- 📘 **`README.md`** (this file) - Getting started, features, usage examples
|
|
1075
|
+
- 📁 **`examples/`** - Working code examples
|
|
1076
|
+
- `examples/autowrymodel_comprehensive.py` - Complete AutoWryModel features
|
|
1077
|
+
- `examples/wrymodel_comprehensive.py` - WryModel with source tracking
|
|
1078
|
+
- `examples/multimodel_comprehensive.py` - Multi-model usage
|
|
1079
|
+
|
|
1080
|
+
### For Contributors
|
|
1081
|
+
- 📖 **`CONTRIBUTING.md`** - Complete contributor guide with code patterns and checklists
|
|
1082
|
+
- 🤖 **`.cursorrules`** - AI assistant quick reference (references CONTRIBUTING.md)
|
|
1083
|
+
- 🚀 **`RELEASE_PROCESS.md`** - How to create releases and manage versions
|
|
1084
|
+
- 📋 **`TODO.md`** - Current tasks, planned features, and work in progress
|
|
1085
|
+
|
|
1086
|
+
### Technical Reference
|
|
1087
|
+
- 📚 **`AI_KNOWLEDGE_BASE.md`** - Complete technical reference for AI/LLMs (also useful for humans)
|
|
1088
|
+
- 📝 **`CHANGELOG.md`** - Version history and all changes
|
|
1089
|
+
- 🧪 **`tests/README.md`** - Test organization and structure
|
|
1090
|
+
- 🔧 **`scripts/README.md`** - Development scripts and tools
|
|
1091
|
+
|
|
1092
|
+
### Quick Start Navigation
|
|
1093
|
+
|
|
1094
|
+
**I'm a user, I want to...**
|
|
1095
|
+
- Get started → README.md "Quick Start" section
|
|
1096
|
+
- See examples → `examples/` directory
|
|
1097
|
+
- Understand features → README.md "Features" section
|
|
1098
|
+
- Track config sources → README.md "Value Source Tracking" section
|
|
1099
|
+
|
|
1100
|
+
**I'm a contributor, I want to...**
|
|
1101
|
+
- Set up development → CONTRIBUTING.md "Development Setup" section
|
|
1102
|
+
- Add a feature → CONTRIBUTING.md "Adding New Features" section
|
|
1103
|
+
- Run tests → CONTRIBUTING.md "Testing" section
|
|
1104
|
+
- Create a release → RELEASE_PROCESS.md
|
|
1105
|
+
- Check current tasks → TODO.md
|
|
1106
|
+
|
|
1107
|
+
**I'm an AI assistant, I want to...**
|
|
1108
|
+
- Quick reference → `.cursorrules`
|
|
1109
|
+
- Technical details → `AI_KNOWLEDGE_BASE.md`
|
|
1110
|
+
- Code patterns → `CONTRIBUTING.md`
|
|
1111
|
+
- Test examples → `tests/features/test_source_precedence.py`
|
|
1112
|
+
|
|
1069
1113
|
## License
|
|
1070
1114
|
|
|
1071
1115
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_auto_model_annotation_inference.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|