springbootAI 2.3.5__tar.gz → 2.3.7__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.
- {springbootai-2.3.5 → springbootai-2.3.7}/CHANGELOG.md +16 -0
- {springbootai-2.3.5/springbootAI.egg-info → springbootai-2.3.7}/PKG-INFO +12 -11
- {springbootai-2.3.5 → springbootai-2.3.7}/README.md +11 -10
- {springbootai-2.3.5 → springbootai-2.3.7}/pyproject.toml +1 -1
- {springbootai-2.3.5 → springbootai-2.3.7/springbootAI.egg-info}/PKG-INFO +12 -11
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/__init__.py +1 -1
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/ai/__init__.py +1 -1
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/csv/__init__.py +1 -1
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/data/__init__.py +1 -1
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/datasource/__init__.py +1 -1
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/excel/__init__.py +1 -1
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/i18n/__init__.py +1 -1
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/__init__.py +1 -1
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/__init__.py +1 -1
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/version.py +1 -1
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/test/__init__.py +1 -1
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/tx/__init__.py +1 -1
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/utils/banner.py +2 -2
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/validation/__init__.py +1 -1
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/websocket/__init__.py +1 -1
- {springbootai-2.3.5 → springbootai-2.3.7}/LICENSE +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/MANIFEST.in +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/SECURITY.md +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/requirements-ai.txt +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/requirements-langgraph.txt +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/requirements-mcp.txt +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/requirements.txt +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/setup.cfg +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/setup.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootAI.egg-info/SOURCES.txt +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootAI.egg-info/dependency_links.txt +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootAI.egg-info/entry_points.txt +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootAI.egg-info/requires.txt +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootAI.egg-info/top_level.txt +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/ai/advisors.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/ai/annotation_runtime.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/ai/annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/ai/autoconfig.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/ai/core.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/ai/etl.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/ai/memory.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/ai/observability.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/ai/providers.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/ai/resilience.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/ai/tools.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/ai/vectorstore.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/annotations/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/annotations/batch.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/annotations/cache.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/annotations/cloud.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/annotations/conditional.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/annotations/core.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/annotations/data.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/annotations/enterprise.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/annotations/langchain.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/annotations/langgraph.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/annotations/lombok.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/annotations/messaging.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/annotations/security.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/aop/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/aop/aspect.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/aop/cloud_aop.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/aop/comprehensive_aop.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/aop/method_interceptor.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/aop/proxy_factory.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/batch/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cli/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cli/main.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cli/scaffold.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cloud/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cloud/bus.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cloud/config_center.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cloud/discovery.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cloud/feign.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cloud/gateway.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cloud/load_balancer.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cloud/nacos_config.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cloud/seata.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cloud/seata_at_proxy.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cloud/seata_bridge.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cloud/sentinel.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cloud/tracer.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/cloud/transaction_store.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/config/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/config/binding.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/config/config_loader.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/config/spring-configuration-metadata.json +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/context/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/context/application_context.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/context/bean_definition.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/context/bean_factory.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/context/lifecycle.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/context/registry.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/context/scanner.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/core/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/core/graceful_shutdown.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/core/typing_utils.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/csv/annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/csv/converters.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/csv/easy_csv.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/csv/exceptions.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/csv/reader.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/csv/writer.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/data/page.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/data/repository.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/data/rest.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/data/specification.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/datasource/annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/datasource/context.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/datasource/dynamic.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/devtools.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/event/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/event/publisher.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/excel/annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/excel/converters.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/excel/easy_excel.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/excel/exceptions.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/excel/reader.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/excel/style.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/excel/writer.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/i18n/accessor.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/i18n/auto_config.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/i18n/holder.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/i18n/locale.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/i18n/locale_resolver.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/i18n/message_source.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/i18n/middleware.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/i18n/properties.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/i18n/sources.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/adapters.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/agents/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/agents/services.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/autoconfig.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/callbacks/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/callbacks/handlers.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/chains/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/chains/services.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/core.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/indexes/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/indexes/index.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/loaders/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/loaders/loaders.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/memory/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/memory/memory.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/parsers/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/parsers/parsers.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/partners.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/prompts/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/prompts/templates.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/retrievers/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/retrievers/retrievers.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/tools/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/tools/tools.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/utilities/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/utilities/utils.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/vectorstores/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langchain/vectorstores/stores.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langgraph/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langgraph/annotation_runtime.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langgraph/annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langgraph/autoconfig.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langgraph/checkpoint.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langgraph/config.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/langgraph/runtime.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/logging/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/logging/loguru_logger.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/main.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/mcp/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/mcp/annotation_runtime.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/mcp/annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/mcp/autoconfig.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/mcp/client.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/mcp/config.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/mcp/server.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/messaging/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/messaging/kafka.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/messaging/rabbitmq.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/monitoring/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/monitoring/admin_client.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/monitoring/prometheus.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/database.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/ddl_auto.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/migration.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/mybatis_integration.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/annotations/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/annotations/annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/cache/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/cache/cache.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/cache/redis_cache.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/circuit_breaker/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/circuit_breaker/circuit_breaker.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/configuration.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/core/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/core/sql_session.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/core/sql_session_factory.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/dialect/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/dialect/dialect.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/dynamic_sql/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/dynamic_sql/dynamic_sql.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/interceptor/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/interceptor/interceptor.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/mapper/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/mapper/mapper.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/metrics/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/metrics/metrics.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/pool/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/pool/connection_pool.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/security/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/security/access_control.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/security/password_encoder.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/security/sensitive_data_masker.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/security/sql_injection_detector.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/transaction/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/transaction/transaction.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/type_handler/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/type_handler/type_handler.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/xml_parser/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/orm/pymybatis/xml_parser/xml_parser.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/retry/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/retry/recovery.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/retry/retry_annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/retry/retry_decorator.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/scheduling/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/scheduling/scheduler.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/security/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/security/jwt_utils.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/security/oauth2.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/security/replay_protection.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/security/secret_manager.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/security/security_aop.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/security/security_context.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/test/slicing.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/tracing/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/tracing/skywalking.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/tx/events.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/tx/synchronization.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/utils/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/utils/bean_utils.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/utils/logger.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/utils/redis_client.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/validation/aop.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/validation/constraints.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/validation/exceptions.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/validation/validator.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/web/__init__.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/web/actuator.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/web/csrf.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/web/exception_handler.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/web/hateoas.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/web/health.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/web/interceptor.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/web/request_metrics.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/web/result.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/web/swagger.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/web/web_context.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/websocket/annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/websocket/broker.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/websocket/exceptions.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/websocket/handler.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/websocket/router.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/springbootai/websocket/session.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/sql/seata_undo_log.sql +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_actuator.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_actuator_prometheus_admin.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_ai_annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_ai_comprehensive.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_ai_declarative_annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_ai_module.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_annotation_combinations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_annotations_contract.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_aop_annotations_full.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_aop_pointcut_enhancements.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_audit_time.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_batch.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_bean_utils.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_bus.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_cache_annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_cli.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_cloud_embedded_full.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_component_init_error.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_compositional_annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_conditional_annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_config_binding.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_config_center.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_config_fixes_185.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_connection_resilience.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_core.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_core_annotations_full.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_csrf.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_csv_module.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_data_repository.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_data_rest.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_datasource_routing.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_ddl_auto.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_declarative_aop_post_authorize_recover.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_devtools.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_di_config_event_full.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_excel_module.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_hateoas.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_i18n_module.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_ioc_lifecycle_enhancements.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_jpa_version_transient.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_kafka.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_langchain_comprehensive.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_langchain_ext.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_langchain_module.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_langgraph_comprehensive.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_langgraph_module.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_logging_config.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_lombok_annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_mcp_module.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_metadata.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_migration.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_nacos_config.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_new_annotations.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_new_features.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_oauth2.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_orm_pymybatis_full.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_production_readiness.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_pymybatis_configuration_hardening.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_pymybatis_contract.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_request_metrics.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_retry.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_runtime_configuration_fixes.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_scaffold_hardening.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_scheduling.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_seata_at_proxy.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_seata_bridge.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_seata_durable_store.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_security.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_security_full.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_security_hardening.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_select_page.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_starter.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_startup_lifecycle.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_swagger_module.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_test_slicing.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_tracing.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_transactional_events.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_validation_module.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_web_annotations_full.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_web_file_upload.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_web_root_mapping.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_web_security_responses.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_web_static_files.py +0 -0
- {springbootai-2.3.5 → springbootai-2.3.7}/tests/test_websocket_module.py +0 -0
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.3.7] - 2026-08-20
|
|
4
|
+
|
|
5
|
+
### PyPI 项目说明修正
|
|
6
|
+
|
|
7
|
+
- PyPI 恢复使用完整的 `README.md`,与 GitHub 项目主页保持相同的内容、功能总览图和状态徽章。
|
|
8
|
+
- 撤销 `2.3.6` 中单独维护精简版 PyPI README 的方案,避免两处项目说明内容不一致。
|
|
9
|
+
- 发布版本升级到 `2.3.7`,同步框架主包、扩展模块、PyMyBatis 内嵌版本、README 版本矩阵和打包元数据。
|
|
10
|
+
|
|
11
|
+
## [2.3.6] - 2026-08-20
|
|
12
|
+
|
|
13
|
+
### PyPI 展示修复
|
|
14
|
+
|
|
15
|
+
- 新增不含外链图片的 `README_PYPI.md`,作为 PyPI 项目说明,避免外链图片被转换到不可访问的 PyPI Camo 代理后显示为破损图片。
|
|
16
|
+
- GitHub 继续使用包含功能总览图和状态徽章的 `README.md`,两端展示互不影响。
|
|
17
|
+
- 发布版本升级到 `2.3.6`,同步框架主包、扩展模块、PyMyBatis 内嵌版本、README 版本矩阵和打包元数据。
|
|
18
|
+
|
|
3
19
|
## [2.3.5] - 2026-08-20
|
|
4
20
|
|
|
5
21
|
### 文档与发布
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: springbootAI
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.7
|
|
4
4
|
Summary: Spring-style Python framework with Web, ORM, Cloud and AI integrations
|
|
5
5
|
Author-email: YuConggen <1516933915@qq.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -166,6 +166,12 @@ Dynamic: license-file
|
|
|
166
166
|
<img src="https://raw.githubusercontent.com/YUCONGGEN/springbootAI/master/doc/images/hero-banner.png" alt="SpringBootAI 功能总览" width="100%" />
|
|
167
167
|
</p>
|
|
168
168
|
|
|
169
|
+
[](https://pypi.org/project/springbootAI/)
|
|
170
|
+
[](https://pypi.org/project/springbootAI/)
|
|
171
|
+
[](https://github.com/YUCONGGEN/springbootAI/actions/workflows/ci.yml)
|
|
172
|
+
[](https://github.com/YUCONGGEN/springbootAI/actions/workflows/security.yml)
|
|
173
|
+
[](https://github.com/YUCONGGEN/springbootAI/blob/master/LICENSE)
|
|
174
|
+
|
|
169
175
|
## SpringBootAI 考试认证与证书
|
|
170
176
|
|
|
171
177
|
SpringBootAI 已提供配套的在线考试认证平台,学习者、团队成员和项目使用方可以通过认证考试检验自己对框架核心能力的掌握情况,并在通过考试后获得对应证书。
|
|
@@ -198,11 +204,6 @@ SpringBootAI 已提供配套的在线考试认证平台,学习者、团队成
|
|
|
198
204
|
| 安全能力 | JWT、密码加密、SQL 注入防护、CSRF、OAuth2、访问控制与常见错误处理 |
|
|
199
205
|
| AI 生态 | ChatClient、Tools、RAG、Advisor、LangChain、LangGraph、MCP client/server |
|
|
200
206
|
|
|
201
|
-
[](https://pypi.org/project/springbootAI/)
|
|
202
|
-
[](https://pypi.org/project/springbootAI/)
|
|
203
|
-
[](https://github.com/YUCONGGEN/springbootAI/actions/workflows/ci.yml)
|
|
204
|
-
[](https://github.com/YUCONGGEN/springbootAI/actions/workflows/security.yml)
|
|
205
|
-
[](https://github.com/YUCONGGEN/springbootAI/blob/master/LICENSE)
|
|
206
207
|
|
|
207
208
|
SpringBootAI 是一个采用 Spring 风格注解和分层结构的 Python 应用框架。你使用 Python 编写 `@RestController`、`@Service`、`@Mapper` 和 `@Autowired`,框架负责组件扫描、依赖注入、Web 路由、事务切面及生命周期;Web 运行时建立在 FastAPI/Starlette/Uvicorn 之上。
|
|
208
209
|
|
|
@@ -215,7 +216,7 @@ SpringBootAI 是一个采用 Spring 风格注解和分层结构的 Python 应用
|
|
|
215
216
|
| AI 与编排 | 模型调用、Tools、RAG、Chain、状态图、MCP client/server | LangChain / LangGraph / 官方 MCP SDK |
|
|
216
217
|
| 生产治理 | 健康检查、Prometheus、限流熔断、追踪、Swagger | prometheus-client / OpenTelemetry / OpenAPI |
|
|
217
218
|
|
|
218
|
-
当前版本是 `2.3.
|
|
219
|
+
当前版本是 `2.3.7`;支持 Python 3.10、3.11 和 3.12,许可证为 MIT。项目仍标记为 Beta。用于公网高并发、合规敏感或支付/订单/库存等核心系统前,必须完成目标数据库、流量模型、故障恢复和安全基线验证。内嵌 Gateway 适合内部路由,不替代公网 Nginx/Kong/WAF;Seata `distributed` 对接官方 TC + TCC 回调;`at` 模式通过 ORM 拦截器自动生成 undo_log 实现自动回滚。
|
|
219
220
|
|
|
220
221
|
[新手指南](https://github.com/YUCONGGEN/springbootAI/blob/master/doc/BEGINNER_GUIDE.md) | [全部文档](https://github.com/YUCONGGEN/springbootAI/tree/master/doc) | [变更日志](https://github.com/YUCONGGEN/springbootAI/blob/master/CHANGELOG.md) | [安全报告](https://github.com/YUCONGGEN/springbootAI/blob/master/SECURITY.md) | [发布检查](https://github.com/YUCONGGEN/springbootAI/blob/master/doc/RELEASE_CHECKLIST.md)
|
|
221
222
|
|
|
@@ -396,10 +397,10 @@ SpringBootAI 是一个 **Python Web 框架**。它把 Java Spring Boot 的"注
|
|
|
396
397
|
|
|
397
398
|
| 组件 | 当前版本 |
|
|
398
399
|
|------|----------|
|
|
399
|
-
| `springbootai` 框架 API | 2.3.
|
|
400
|
-
| `springbootai.orm.pymybatis` | 2.3.
|
|
401
|
-
| `springbootai.ai` AI 模块 | 2.3.
|
|
402
|
-
| `springbootai.langchain` LangChain 模块 | 2.3.
|
|
400
|
+
| `springbootai` 框架 API | 2.3.7 |
|
|
401
|
+
| `springbootai.orm.pymybatis` | 2.3.7 |
|
|
402
|
+
| `springbootai.ai` AI 模块 | 2.3.7 |
|
|
403
|
+
| `springbootai.langchain` LangChain 模块 | 2.3.7 |
|
|
403
404
|
| Python | 3.10+ |
|
|
404
405
|
|
|
405
406
|
### 1.4 适合什么场景
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
<img src="https://raw.githubusercontent.com/YUCONGGEN/springbootAI/master/doc/images/hero-banner.png" alt="SpringBootAI 功能总览" width="100%" />
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
|
+
[](https://pypi.org/project/springbootAI/)
|
|
8
|
+
[](https://pypi.org/project/springbootAI/)
|
|
9
|
+
[](https://github.com/YUCONGGEN/springbootAI/actions/workflows/ci.yml)
|
|
10
|
+
[](https://github.com/YUCONGGEN/springbootAI/actions/workflows/security.yml)
|
|
11
|
+
[](https://github.com/YUCONGGEN/springbootAI/blob/master/LICENSE)
|
|
12
|
+
|
|
7
13
|
## SpringBootAI 考试认证与证书
|
|
8
14
|
|
|
9
15
|
SpringBootAI 已提供配套的在线考试认证平台,学习者、团队成员和项目使用方可以通过认证考试检验自己对框架核心能力的掌握情况,并在通过考试后获得对应证书。
|
|
@@ -36,11 +42,6 @@ SpringBootAI 已提供配套的在线考试认证平台,学习者、团队成
|
|
|
36
42
|
| 安全能力 | JWT、密码加密、SQL 注入防护、CSRF、OAuth2、访问控制与常见错误处理 |
|
|
37
43
|
| AI 生态 | ChatClient、Tools、RAG、Advisor、LangChain、LangGraph、MCP client/server |
|
|
38
44
|
|
|
39
|
-
[](https://pypi.org/project/springbootAI/)
|
|
40
|
-
[](https://pypi.org/project/springbootAI/)
|
|
41
|
-
[](https://github.com/YUCONGGEN/springbootAI/actions/workflows/ci.yml)
|
|
42
|
-
[](https://github.com/YUCONGGEN/springbootAI/actions/workflows/security.yml)
|
|
43
|
-
[](https://github.com/YUCONGGEN/springbootAI/blob/master/LICENSE)
|
|
44
45
|
|
|
45
46
|
SpringBootAI 是一个采用 Spring 风格注解和分层结构的 Python 应用框架。你使用 Python 编写 `@RestController`、`@Service`、`@Mapper` 和 `@Autowired`,框架负责组件扫描、依赖注入、Web 路由、事务切面及生命周期;Web 运行时建立在 FastAPI/Starlette/Uvicorn 之上。
|
|
46
47
|
|
|
@@ -53,7 +54,7 @@ SpringBootAI 是一个采用 Spring 风格注解和分层结构的 Python 应用
|
|
|
53
54
|
| AI 与编排 | 模型调用、Tools、RAG、Chain、状态图、MCP client/server | LangChain / LangGraph / 官方 MCP SDK |
|
|
54
55
|
| 生产治理 | 健康检查、Prometheus、限流熔断、追踪、Swagger | prometheus-client / OpenTelemetry / OpenAPI |
|
|
55
56
|
|
|
56
|
-
当前版本是 `2.3.
|
|
57
|
+
当前版本是 `2.3.7`;支持 Python 3.10、3.11 和 3.12,许可证为 MIT。项目仍标记为 Beta。用于公网高并发、合规敏感或支付/订单/库存等核心系统前,必须完成目标数据库、流量模型、故障恢复和安全基线验证。内嵌 Gateway 适合内部路由,不替代公网 Nginx/Kong/WAF;Seata `distributed` 对接官方 TC + TCC 回调;`at` 模式通过 ORM 拦截器自动生成 undo_log 实现自动回滚。
|
|
57
58
|
|
|
58
59
|
[新手指南](https://github.com/YUCONGGEN/springbootAI/blob/master/doc/BEGINNER_GUIDE.md) | [全部文档](https://github.com/YUCONGGEN/springbootAI/tree/master/doc) | [变更日志](https://github.com/YUCONGGEN/springbootAI/blob/master/CHANGELOG.md) | [安全报告](https://github.com/YUCONGGEN/springbootAI/blob/master/SECURITY.md) | [发布检查](https://github.com/YUCONGGEN/springbootAI/blob/master/doc/RELEASE_CHECKLIST.md)
|
|
59
60
|
|
|
@@ -234,10 +235,10 @@ SpringBootAI 是一个 **Python Web 框架**。它把 Java Spring Boot 的"注
|
|
|
234
235
|
|
|
235
236
|
| 组件 | 当前版本 |
|
|
236
237
|
|------|----------|
|
|
237
|
-
| `springbootai` 框架 API | 2.3.
|
|
238
|
-
| `springbootai.orm.pymybatis` | 2.3.
|
|
239
|
-
| `springbootai.ai` AI 模块 | 2.3.
|
|
240
|
-
| `springbootai.langchain` LangChain 模块 | 2.3.
|
|
238
|
+
| `springbootai` 框架 API | 2.3.7 |
|
|
239
|
+
| `springbootai.orm.pymybatis` | 2.3.7 |
|
|
240
|
+
| `springbootai.ai` AI 模块 | 2.3.7 |
|
|
241
|
+
| `springbootai.langchain` LangChain 模块 | 2.3.7 |
|
|
241
242
|
| Python | 3.10+ |
|
|
242
243
|
|
|
243
244
|
### 1.4 适合什么场景
|
|
@@ -12,7 +12,7 @@ build-backend = "setuptools.build_meta"
|
|
|
12
12
|
[project]
|
|
13
13
|
# Distribution name: springbootAI (pip install springbootAI); import package: springbootai.
|
|
14
14
|
name = "springbootAI"
|
|
15
|
-
version = "2.3.
|
|
15
|
+
version = "2.3.7"
|
|
16
16
|
description = "Spring-style Python framework with Web, ORM, Cloud and AI integrations"
|
|
17
17
|
readme = "README.md"
|
|
18
18
|
license = "MIT"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: springbootAI
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.7
|
|
4
4
|
Summary: Spring-style Python framework with Web, ORM, Cloud and AI integrations
|
|
5
5
|
Author-email: YuConggen <1516933915@qq.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -166,6 +166,12 @@ Dynamic: license-file
|
|
|
166
166
|
<img src="https://raw.githubusercontent.com/YUCONGGEN/springbootAI/master/doc/images/hero-banner.png" alt="SpringBootAI 功能总览" width="100%" />
|
|
167
167
|
</p>
|
|
168
168
|
|
|
169
|
+
[](https://pypi.org/project/springbootAI/)
|
|
170
|
+
[](https://pypi.org/project/springbootAI/)
|
|
171
|
+
[](https://github.com/YUCONGGEN/springbootAI/actions/workflows/ci.yml)
|
|
172
|
+
[](https://github.com/YUCONGGEN/springbootAI/actions/workflows/security.yml)
|
|
173
|
+
[](https://github.com/YUCONGGEN/springbootAI/blob/master/LICENSE)
|
|
174
|
+
|
|
169
175
|
## SpringBootAI 考试认证与证书
|
|
170
176
|
|
|
171
177
|
SpringBootAI 已提供配套的在线考试认证平台,学习者、团队成员和项目使用方可以通过认证考试检验自己对框架核心能力的掌握情况,并在通过考试后获得对应证书。
|
|
@@ -198,11 +204,6 @@ SpringBootAI 已提供配套的在线考试认证平台,学习者、团队成
|
|
|
198
204
|
| 安全能力 | JWT、密码加密、SQL 注入防护、CSRF、OAuth2、访问控制与常见错误处理 |
|
|
199
205
|
| AI 生态 | ChatClient、Tools、RAG、Advisor、LangChain、LangGraph、MCP client/server |
|
|
200
206
|
|
|
201
|
-
[](https://pypi.org/project/springbootAI/)
|
|
202
|
-
[](https://pypi.org/project/springbootAI/)
|
|
203
|
-
[](https://github.com/YUCONGGEN/springbootAI/actions/workflows/ci.yml)
|
|
204
|
-
[](https://github.com/YUCONGGEN/springbootAI/actions/workflows/security.yml)
|
|
205
|
-
[](https://github.com/YUCONGGEN/springbootAI/blob/master/LICENSE)
|
|
206
207
|
|
|
207
208
|
SpringBootAI 是一个采用 Spring 风格注解和分层结构的 Python 应用框架。你使用 Python 编写 `@RestController`、`@Service`、`@Mapper` 和 `@Autowired`,框架负责组件扫描、依赖注入、Web 路由、事务切面及生命周期;Web 运行时建立在 FastAPI/Starlette/Uvicorn 之上。
|
|
208
209
|
|
|
@@ -215,7 +216,7 @@ SpringBootAI 是一个采用 Spring 风格注解和分层结构的 Python 应用
|
|
|
215
216
|
| AI 与编排 | 模型调用、Tools、RAG、Chain、状态图、MCP client/server | LangChain / LangGraph / 官方 MCP SDK |
|
|
216
217
|
| 生产治理 | 健康检查、Prometheus、限流熔断、追踪、Swagger | prometheus-client / OpenTelemetry / OpenAPI |
|
|
217
218
|
|
|
218
|
-
当前版本是 `2.3.
|
|
219
|
+
当前版本是 `2.3.7`;支持 Python 3.10、3.11 和 3.12,许可证为 MIT。项目仍标记为 Beta。用于公网高并发、合规敏感或支付/订单/库存等核心系统前,必须完成目标数据库、流量模型、故障恢复和安全基线验证。内嵌 Gateway 适合内部路由,不替代公网 Nginx/Kong/WAF;Seata `distributed` 对接官方 TC + TCC 回调;`at` 模式通过 ORM 拦截器自动生成 undo_log 实现自动回滚。
|
|
219
220
|
|
|
220
221
|
[新手指南](https://github.com/YUCONGGEN/springbootAI/blob/master/doc/BEGINNER_GUIDE.md) | [全部文档](https://github.com/YUCONGGEN/springbootAI/tree/master/doc) | [变更日志](https://github.com/YUCONGGEN/springbootAI/blob/master/CHANGELOG.md) | [安全报告](https://github.com/YUCONGGEN/springbootAI/blob/master/SECURITY.md) | [发布检查](https://github.com/YUCONGGEN/springbootAI/blob/master/doc/RELEASE_CHECKLIST.md)
|
|
221
222
|
|
|
@@ -396,10 +397,10 @@ SpringBootAI 是一个 **Python Web 框架**。它把 Java Spring Boot 的"注
|
|
|
396
397
|
|
|
397
398
|
| 组件 | 当前版本 |
|
|
398
399
|
|------|----------|
|
|
399
|
-
| `springbootai` 框架 API | 2.3.
|
|
400
|
-
| `springbootai.orm.pymybatis` | 2.3.
|
|
401
|
-
| `springbootai.ai` AI 模块 | 2.3.
|
|
402
|
-
| `springbootai.langchain` LangChain 模块 | 2.3.
|
|
400
|
+
| `springbootai` 框架 API | 2.3.7 |
|
|
401
|
+
| `springbootai.orm.pymybatis` | 2.3.7 |
|
|
402
|
+
| `springbootai.ai` AI 模块 | 2.3.7 |
|
|
403
|
+
| `springbootai.langchain` LangChain 模块 | 2.3.7 |
|
|
403
404
|
| Python | 3.10+ |
|
|
404
405
|
|
|
405
406
|
### 1.4 适合什么场景
|
|
@@ -54,7 +54,7 @@ from springbootai.ai.observability import AIMetrics, ai_metrics
|
|
|
54
54
|
from springbootai.ai.autoconfig import AIProperties, bind_ai_config, configure_ai
|
|
55
55
|
from springbootai.ai.annotation_runtime import ContentModerationError
|
|
56
56
|
|
|
57
|
-
__version__ = "2.3.
|
|
57
|
+
__version__ = "2.3.7"
|
|
58
58
|
|
|
59
59
|
__all__ = [
|
|
60
60
|
# core
|
|
@@ -65,7 +65,7 @@ from .properties import load_properties, parse_properties
|
|
|
65
65
|
from .middleware import LocaleResolverMiddleware, get_request_locale
|
|
66
66
|
from .auto_config import MessageSourceAutoConfiguration, configure_message_source
|
|
67
67
|
|
|
68
|
-
__version__ = "2.3.
|
|
68
|
+
__version__ = "2.3.7"
|
|
69
69
|
|
|
70
70
|
__all__ = [
|
|
71
71
|
# Locale
|
|
@@ -5,9 +5,9 @@ def _default_version() -> str:
|
|
|
5
5
|
# 读取 spring 包的 __version__,避免每次发版都要修改本文件
|
|
6
6
|
try:
|
|
7
7
|
import springbootai # noqa: WPS433 (局部导入避免循环依赖)
|
|
8
|
-
return getattr(spring, "__version__", "2.3.
|
|
8
|
+
return getattr(spring, "__version__", "2.3.7")
|
|
9
9
|
except Exception: # pragma: no cover - 极端情况下兜底
|
|
10
|
-
return "2.3.
|
|
10
|
+
return "2.3.7"
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class BannerPrinter:
|
|
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
|
{springbootai-2.3.5 → springbootai-2.3.7}/springbootai/config/spring-configuration-metadata.json
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
|