pyvider
2025-10-25
Added `test_only` flag to component decorators for test-mode-gated components, enhanced install...
200 files · 192,904+ · 4,388-
Test_only Flag
198 files changed
settings.local.jsonUpdated settings.local.json (+37/-1 lines).gitignoreAdded .gitignore (+1 lines).terraform.lock.hclAdded .terraform.lock.hcl (+10 lines)darwin_arm64Added darwin_arm64 (+1 lines)CLAUDE.mdUpdated CLAUDE.md (+1/-2 lines)CONTRIBUTING.mdAdded CONTRIBUTING.md (+6 lines)DEVELOPMENT.mdUpdated DEVELOPMENT.md (+21/-20 lines)GEMINI.mdUpdated GEMINI.md (+5/-5 lines)HANDOFF.mdAdded HANDOFF.md (+392 lines)HANDOFF_COMPLETE.mdAdded HANDOFF_COMPLETE.md (+207 lines)README.mdUpdated README.md (+53/-347 lines)TEST_STATUS.mdAdded TEST_STATUS.md (+99 lines)_DOCS_NEXT_STEPS.mdAdded _DOCS_NEXT_STEPS.md (+626 lines)coverage.jsonUpdated coverage.json (+1/-1 lines)index.mdUpdated index.md (+293/-27 lines)data_sources.mdUpdated data_sources.md (+446/-2 lines)ephemerals.mdAdded ephemerals.md (+291 lines)exceptions.mdAdded exceptions.md (+517 lines)index.mdUpdated index.md (+261/-1 lines)observability.mdAdded observability.md (+360 lines)index.mdAdded index.md (+305 lines)resources.mdUpdated resources.md (+308/-7 lines)overview.mdUpdated overview.md (+173/-297 lines)guidelines.mdUpdated guidelines.md (+433/-21 lines)architecture.mdUpdated architecture.md (+71/-19 lines)component-model.mdUpdated component-model.md (+189/-530 lines)schema-system.mdUpdated schema-system.md (+72/-467 lines)roadmap.mdUpdated roadmap.md (+66/-8 lines)faq.mdAdded faq.md (+474 lines)installation.mdUpdated installation.md (+24/-50 lines)quick-start.mdUpdated quick-start.md (+189/-476 lines)what-is-pyvider.mdUpdated what-is-pyvider.md (+49/-12 lines)glossary.mdAdded glossary.md (+311 lines)advanced-examples.mdRemoved content from advanced-examples.md (-24 lines)advanced-usage.mdRemoved content from advanced-usage.md (-43 lines)advanced-patterns.mdAdded advanced-patterns.md (+560 lines)advanced-provider-features.mdAdded advanced-provider-features.md (+385 lines)provider-lifecycle.mdUpdated provider-lifecycle.md (+0/-0 lines)creating-data-sources.mdUpdated creating-data-sources.md (+0/-0 lines)creating-functions.mdUpdated creating-functions.md (+0/-0 lines)creating-providers.mdUpdated creating-providers.md (+0/-0 lines)creating-resources.mdUpdated creating-resources.md (+0/-0 lines)using-decorators.mdUpdated using-decorators.md (+0/-0 lines)configuration.mdRemoved content from configuration.md (-36 lines)debugging.mdUpdated debugging.md (+0/-0 lines)error-handling.mdAdded error-handling.md (+352 lines)logging.mdAdded logging.md (+389 lines)testing-providers.mdUpdated testing-providers.md (+0/-0 lines)error-handling.mdRemoved content from error-handling.md (-59 lines)logging.mdRemoved content from logging.md (-45 lines)managing-resources.mdRemoved content from managing-resources.md (-26 lines)best-practices.mdUpdated best-practices.md (+0/-0 lines)performance-optimization.mdAdded performance-optimization.md (+740 lines)production-readiness.mdAdded production-readiness.md (+419 lines)security-best-practices.mdAdded security-best-practices.md (+694 lines)configuration.mdAdded configuration.md (+562 lines)managing-resources.mdAdded managing-resources.md (+663 lines)using-data-sources.mdAdded using-data-sources.md (+384 lines)using-functions.mdAdded using-functions.md (+265 lines)using-data-sources.mdRemoved content from using-data-sources.md (-27 lines)using-functions.mdRemoved content from using-functions.md (-23 lines)index.mdUpdated index.md (+51/-37 lines)pyvider-provider-concept.mdRemoved content from pyvider-provider-concept.md (-292 lines)quick-reference.mdAdded quick-reference.md (+292 lines)best-practices.mdUpdated best-practices.md (+323/-10 lines)blocks.mdUpdated blocks.md (+1/-1 lines)computed-attributes.mdUpdated computed-attributes.md (+1/-1 lines)overview.mdUpdated overview.md (+1/-1 lines)schema-by-example.mdUpdated schema-by-example.md (+1/-1 lines)sensitive-data.mdUpdated sensitive-data.md (+1/-1 lines)types.mdAdded types.md (+40 lines)README.mdAdded README.md (+37 lines)bundling-components.mdUpdated bundling-components.md (+0/-0 lines)capability-composition.mdUpdated capability-composition.md (+0/-0 lines)capability-lifecycle.mdUpdated capability-lifecycle.md (+0/-0 lines)capability-marketplace.mdUpdated capability-marketplace.md (+0/-0 lines)creating-capabilities.mdUpdated creating-capabilities.md (+0/-0 lines)using-capabilities.mdUpdated using-capabilities.md (+0/-0 lines)troubleshooting.mdUpdated troubleshooting.md (+61/-49 lines)intermediate-provider.mdAdded intermediate-provider.md (+846 lines)env.shRemoved content from env.sh (-357 lines)mkdocs.ymlUpdated mkdocs.yml (+51/-38 lines)pyproject.tomlUpdated pyproject.toml (+6/-1 lines)check_doc_links.pyAdded check_doc_links.py (+4 lines)404.htmlAdded 404.html (+2942 lines)index.htmlAdded index.html (+3421 lines)index.htmlAdded index.html (+3202 lines)index.htmlAdded index.html (+3844 lines)index.htmlAdded index.html (+3736 lines)index.htmlAdded index.html (+4490 lines)index.htmlAdded index.html (+6508 lines)index.htmlAdded index.html (+4198 lines)index.htmlAdded index.html (+3780 lines)index.htmlAdded index.html (+3661 lines)index.htmlAdded index.html (+4601 lines)index.htmlAdded index.html (+3170 lines)index.htmlAdded index.html (+3075 lines)index.htmlAdded index.html (+4189 lines)index.htmlAdded index.html (+4373 lines)index.htmlAdded index.html (+3907 lines)index.htmlAdded index.html (+3773 lines)_mkdocstrings.cssAdded _mkdocstrings.css (+213 lines)favicon.pngBinary file changes in favicon.pngbundle.f55a23d4.min.jsAdded bundle.f55a23d4.min.js (+16 lines)bundle.f55a23d4.min.js.mapAdded bundle.f55a23d4.min.js.map (+7 lines)lunr.ar.min.jsAdded lunr.ar.min.js (+1 lines)lunr.da.min.jsAdded lunr.da.min.js (+18 lines)lunr.de.min.jsAdded lunr.de.min.js (+18 lines)lunr.du.min.jsAdded lunr.du.min.js (+18 lines)lunr.el.min.jsAdded lunr.el.min.js (+1 lines)lunr.es.min.jsAdded lunr.es.min.js (+18 lines)lunr.fi.min.jsAdded lunr.fi.min.js (+18 lines)lunr.fr.min.jsAdded lunr.fr.min.js (+18 lines)lunr.he.min.jsAdded lunr.he.min.js (+1 lines)lunr.hi.min.jsAdded lunr.hi.min.js (+1 lines)lunr.hu.min.jsAdded lunr.hu.min.js (+18 lines)lunr.hy.min.jsAdded lunr.hy.min.js (+1 lines)lunr.it.min.jsAdded lunr.it.min.js (+18 lines)lunr.ja.min.jsAdded lunr.ja.min.js (+1 lines)lunr.jp.min.jsAdded lunr.jp.min.js (+1 lines)lunr.kn.min.jsAdded lunr.kn.min.js (+1 lines)lunr.ko.min.jsAdded lunr.ko.min.js (+1 lines)lunr.multi.min.jsAdded lunr.multi.min.js (+1 lines)lunr.nl.min.jsAdded lunr.nl.min.js (+18 lines)lunr.no.min.jsAdded lunr.no.min.js (+18 lines)lunr.pt.min.jsAdded lunr.pt.min.js (+18 lines)lunr.ro.min.jsAdded lunr.ro.min.js (+18 lines)lunr.ru.min.jsAdded lunr.ru.min.js (+18 lines)lunr.sa.min.jsAdded lunr.sa.min.js (+1 lines)lunr.stemmer.support.min.jsAdded lunr.stemmer.support.min.js (+1 lines)lunr.sv.min.jsAdded lunr.sv.min.js (+18 lines)lunr.ta.min.jsAdded lunr.ta.min.js (+1 lines)lunr.te.min.jsAdded lunr.te.min.js (+1 lines)lunr.th.min.jsAdded lunr.th.min.js (+1 lines)lunr.tr.min.jsAdded lunr.tr.min.js (+18 lines)lunr.vi.min.jsAdded lunr.vi.min.js (+1 lines)lunr.zh.min.jsAdded lunr.zh.min.js (+1 lines)tinyseg.jsAdded tinyseg.js (+206 lines)wordcut.jsAdded wordcut.js (+6708 lines)search.973d3a69.min.jsAdded search.973d3a69.min.js (+42 lines)search.973d3a69.min.js.mapAdded search.973d3a69.min.js.map (+7 lines)main.84d31ad4.min.cssAdded main.84d31ad4.min.css (+1 lines)main.84d31ad4.min.css.mapAdded main.84d31ad4.min.css.map (+1 lines)palette.06af60db.min.cssAdded palette.06af60db.min.css (+1 lines)palette.06af60db.min.css.mapAdded palette.06af60db.min.css.map (+1 lines)index.htmlAdded index.html (+3418 lines)index.htmlAdded index.html (+3214 lines)index.htmlAdded index.html (+3742 lines)index.htmlAdded index.html (+3962 lines)index.htmlAdded index.html (+3726 lines)index.htmlAdded index.html (+3243 lines)index.htmlAdded index.html (+3432 lines)index.htmlAdded index.html (+3643 lines)index.htmlAdded index.html (+3667 lines)index.htmlAdded index.html (+3132 lines)index.htmlAdded index.html (+3538 lines)objects.invBinary file changes in objects.invindex.htmlAdded index.html (+3685 lines)index.htmlAdded index.html (+3662 lines)index.htmlAdded index.html (+3500 lines)index.htmlAdded index.html (+3751 lines)index.htmlAdded index.html (+3518 lines)index.htmlAdded index.html (+3547 lines)index.htmlAdded index.html (+3649 lines)index.htmlAdded index.html (+3881 lines)index.htmlAdded index.html (+3512 lines)index.htmlAdded index.html (+3615 lines)index.htmlAdded index.html (+3585 lines)search_index.jsonAdded search_index.json (+1 lines)sitemap.xmlAdded sitemap.xml (+283 lines)index.htmlAdded index.html (+3033 lines)index.htmlAdded index.html (+2988 lines)index.htmlAdded index.html (+2984 lines)index.htmlAdded index.html (+3031 lines)index.htmlAdded index.html (+2988 lines)index.htmlAdded index.html (+3026 lines)index.htmlAdded index.html (+2993 lines)index.htmlAdded index.html (+4022 lines)update.txtAdded update.txt (+2 lines)install_command.pyUpdated install_command.py (+97/-3 lines)provide_command.pyUpdated provide_command.py (+49/-13 lines)utils.pyAdded utils.py (+54 lines)discovery.pyUpdated discovery.py (+10/-15 lines)__init__.pyUpdated __init__.py (+2/-3 lines)base.pyUpdated base.py (+62/-6 lines)__init__.pyUpdated __init__.py (+0/-0 lines)core.pyRemoved content from core.py (-18 lines)provider.pyRemoved content from provider.py (-53 lines)__init__.pyAdded __init__.py (+2 lines)base.pyAdded base.py (+8 lines)object.pyUpdated object.py (+1/-1 lines)test_provider.tfAdded test_provider.tf (+36 lines)test_install_command.pyUpdated test_install_command.py (+142/-1 lines)test_install_utils.pyUpdated test_install_utils.py (+89/-1 lines)test_provide_command.pyAdded test_provide_command.py (+279 lines)conftest.pyUpdated conftest.py (+4/-3 lines)test_schema_caching.pyUpdated test_schema_caching.py (+2/-2 lines)test_discovery.pyUpdated test_discovery.py (+8/-5 lines)
- Added
test_only: bool = Falseparameter toregister_data_source,register_function,register_resource, andregister_ephemeral_resourcedecorators instantiate internal161 files
settings.local.json.gitignore.terraform.lock.hcldarwin_arm64CLAUDE.mdCONTRIBUTING.mdDEVELOPMENT.mdDOCUMENTATION_REVIEW_AND_API_PROPOSAL.mdGEMINI.mdHANDOFF.mdHANDOFF_COMPLETE.mdREADME.mdTEST_STATUS.md_DOCS_NEXT_STEPS.mdcoverage.jsonindex.mddata_sources.mdephemerals.mdexceptions.mdindex.mdobservability.mdindex.mdresources.mdoverview.mdguidelines.mdarchitecture.mdcomponent-model.mdschema-system.mdroadmap.mdfaq.mdinstallation.mdquick-start.mdwhat-is-pyvider.mdglossary.mdadvanced-patterns.mdadvanced-provider-features.mdprovider-lifecycle.mdcreating-data-sources.mdcreating-functions.mdcreating-providers.mdcreating-resources.mdusing-decorators.mddebugging.mderror-handling.mdlogging.mdtesting-providers.mdbest-practices.mdperformance-optimization.mdproduction-readiness.mdsecurity-best-practices.mdconfiguration.mdmanaging-resources.mdusing-data-sources.mdusing-functions.mdindex.mdquick-reference.mdblocks.mdcomputed-attributes.mdoverview.mdschema-by-example.mdsensitive-data.mdtypes.mdREADME.mdbundling-components.mdcapability-composition.mdcapability-lifecycle.mdcapability-marketplace.mdcreating-capabilities.mdusing-capabilities.mdtroubleshooting.mdintermediate-provider.mdenv.shmkdocs.ymlpyproject.tomlcheck_doc_links.py404.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlobjects.invindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlsearch_index.jsonsitemap.xmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlinstall_command.pyprovide_command.pyutils.pydiscovery.py__init__.pybase.py__init__.pycore.pyprovider.pybase.pyobject.pytest_provider.tftest_install_command.pytest_install_utils.pytest_provide_command.pyconftest.pytest_schema_caching.pytest_discovery.pytest_handler_metrics.pytest_tdd_capability_association.py
- Components marked
test_only=Trueare only accessible when the provider is in test mode qualify internal161 files
settings.local.json.gitignore.terraform.lock.hcldarwin_arm64CLAUDE.mdCONTRIBUTING.mdDEVELOPMENT.mdDOCUMENTATION_REVIEW_AND_API_PROPOSAL.mdGEMINI.mdHANDOFF.mdHANDOFF_COMPLETE.mdREADME.mdTEST_STATUS.md_DOCS_NEXT_STEPS.mdcoverage.jsonindex.mddata_sources.mdephemerals.mdexceptions.mdindex.mdobservability.mdindex.mdresources.mdoverview.mdguidelines.mdarchitecture.mdcomponent-model.mdschema-system.mdroadmap.mdfaq.mdinstallation.mdquick-start.mdwhat-is-pyvider.mdglossary.mdadvanced-patterns.mdadvanced-provider-features.mdprovider-lifecycle.mdcreating-data-sources.mdcreating-functions.mdcreating-providers.mdcreating-resources.mdusing-decorators.mddebugging.mderror-handling.mdlogging.mdtesting-providers.mdbest-practices.mdperformance-optimization.mdproduction-readiness.mdsecurity-best-practices.mdconfiguration.mdmanaging-resources.mdusing-data-sources.mdusing-functions.mdindex.mdquick-reference.mdblocks.mdcomputed-attributes.mdoverview.mdschema-by-example.mdsensitive-data.mdtypes.mdREADME.mdbundling-components.mdcapability-composition.mdcapability-lifecycle.mdcapability-marketplace.mdcreating-capabilities.mdusing-capabilities.mdtroubleshooting.mdintermediate-provider.mdenv.shmkdocs.ymlpyproject.tomlcheck_doc_links.py404.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlobjects.invindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlsearch_index.jsonsitemap.xmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlinstall_command.pyprovide_command.pyutils.pydiscovery.py__init__.pybase.py__init__.pycore.pyprovider.pybase.pyobject.pytest_provider.tftest_install_command.pytest_install_utils.pytest_provide_command.pyconftest.pytest_schema_caching.pytest_discovery.pytest_handler_metrics.pytest_tdd_capability_association.py
- Added
check_test_only_access()utility function to protocol handlers for enforcing test-only access qualify internal161 files
settings.local.json.gitignore.terraform.lock.hcldarwin_arm64CLAUDE.mdCONTRIBUTING.mdDEVELOPMENT.mdDOCUMENTATION_REVIEW_AND_API_PROPOSAL.mdGEMINI.mdHANDOFF.mdHANDOFF_COMPLETE.mdREADME.mdTEST_STATUS.md_DOCS_NEXT_STEPS.mdcoverage.jsonindex.mddata_sources.mdephemerals.mdexceptions.mdindex.mdobservability.mdindex.mdresources.mdoverview.mdguidelines.mdarchitecture.mdcomponent-model.mdschema-system.mdroadmap.mdfaq.mdinstallation.mdquick-start.mdwhat-is-pyvider.mdglossary.mdadvanced-patterns.mdadvanced-provider-features.mdprovider-lifecycle.mdcreating-data-sources.mdcreating-functions.mdcreating-providers.mdcreating-resources.mdusing-decorators.mddebugging.mderror-handling.mdlogging.mdtesting-providers.mdbest-practices.mdperformance-optimization.mdproduction-readiness.mdsecurity-best-practices.mdconfiguration.mdmanaging-resources.mdusing-data-sources.mdusing-functions.mdindex.mdquick-reference.mdblocks.mdcomputed-attributes.mdoverview.mdschema-by-example.mdsensitive-data.mdtypes.mdREADME.mdbundling-components.mdcapability-composition.mdcapability-lifecycle.mdcapability-marketplace.mdcreating-capabilities.mdusing-capabilities.mdtroubleshooting.mdintermediate-provider.mdenv.shmkdocs.ymlpyproject.tomlcheck_doc_links.py404.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlobjects.invindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlsearch_index.jsonsitemap.xmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlinstall_command.pyprovide_command.pyutils.pydiscovery.py__init__.pybase.py__init__.pycore.pyprovider.pybase.pyobject.pytest_provider.tftest_install_command.pytest_install_utils.pytest_provide_command.pyconftest.pytest_schema_caching.pytest_discovery.pytest_handler_metrics.pytest_tdd_capability_association.py
- Propagated
test_mode_enabledflag throughResourceContextandEphemeralResourceContextdecouple behavioral17 files
DOCUMENTATION_REVIEW_AND_API_PROPOSAL.mdindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.htmlindex.html
Enhanced Install Command
2 files changed
install_command.pyChanges to install_command.pytest_install_command.pyChanges to test_install_command.py
- Added venv symlink creation/removal utilities (
_create_venv_symlink,_remove_venv_symlink) instantiate internal2 files
install_command.pytest_install_command.py
- Updated install command to use the new utility imports
baseline
behavioral
2 files
install_command.pytest_install_command.py
Test Mode Enforcement
10 files changed
TEST_STATUS.mdChanges to TEST_STATUS.mdtest_provider.tfChanges to test_provider.tftest_install_command.pyChanges to test_install_command.pytest_install_utils.pyChanges to test_install_utils.pytest_provide_command.pyChanges to test_provide_command.pyconftest.pyChanges to conftest.pytest_schema_caching.pyChanges to test_schema_caching.pytest_discovery.pyChanges to test_discovery.pytest_handler_metrics.pyChanges to test_handler_metrics.pytest_tdd_capability_association.pyChanges to test_tdd_capability_association.py
- Added
check_test_only_access()calls inapply_resource_change,call_function,read_data_source, andvalidate_provider_confighandlers instantiate internal10 files
TEST_STATUS.mdtest_provider.tftest_install_command.pytest_install_utils.pytest_provide_command.pyconftest.pytest_schema_caching.pytest_discovery.pytest_handler_metrics.pytest_tdd_capability_association.py
- Added
provider_contextlookup to propagate test mode state qualify internal10 files
TEST_STATUS.mdtest_provider.tftest_install_command.pytest_install_utils.pytest_provide_command.pyconftest.pytest_schema_caching.pytest_discovery.pytest_handler_metrics.pytest_tdd_capability_association.py
Minor Updates
2 files changed
test_handler_metrics.pyUpdated test_handler_metrics.py (+2/-2 lines)test_tdd_capability_association.pyUpdated test_tdd_capability_association.py (+2/-2 lines)