sycommon-python-lib 0.2.0b26__tar.gz → 0.2.0b27__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.
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/PKG-INFO +1 -1
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/pyproject.toml +1 -1
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/Config.py +34 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/LLMConfig.py +2 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/get_llm.py +64 -10
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/nacos_config_manager.py +15 -35
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/nacos_service.py +0 -3
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon_python_lib.egg-info/PKG-INFO +1 -1
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/README.md +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/setup.cfg +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/command/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/command/cli.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/command/core/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/command/core/console.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/command/core/models.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/command/core/project.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/command/core/utils.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/command/templates/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/command/templates/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/command/templates/base/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/command/templates/web/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/01_basic_agent.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/02_tool_agent.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/03_structured_output.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/04_memory_agent.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/05_streaming.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/06_multi_agent.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/07_skills_agent.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/08_middleware.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/09_interrupt.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/10_custom_llm.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/11_complex_workflow.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/12_batch_processing.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/middleware/01_basic_monitoring.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/middleware/02_permission_control.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/middleware/03_tool_skill_filter.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/middleware/04_caching_retry.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/middleware/05_sanitization.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/middleware/06_tracking.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/middleware/07_advanced.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/middleware/08_progressive_skills.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/middleware/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/middleware/override_examples.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/examples/virtual_employee_demo.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/exports.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/get_agent.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/skills/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/skills/examples/faq_handler/scripts/search.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/skills/exports.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/virtual_employee.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/DatabaseConfig.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/ElasticsearchConfig.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/EmbeddingConfig.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/LangfuseConfig.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/MQConfig.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/RedisConfig.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/RerankerConfig.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/SentryConfig.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/database/async_base_db_service.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/database/async_database_service.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/database/base_db_service.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/database/database_service.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/database/elasticsearch_service.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/database/redis_service.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/database/token_usage_db_service.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/health/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/health/health_check.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/health/metrics.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/health/ping.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/heartbeat_process/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/embedding.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/llm_logger.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/llm_tokens.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/llm_with_token_tracking.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/native_smart_retry_runnable.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/smart_retry_runnable.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/struct_token.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/sy_langfuse.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/token_usage_es_service.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/usage_token.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/logging/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/logging/async_sql_logger.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/logging/kafka_log.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/logging/logger_levels.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/logging/logger_wrapper.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/logging/process_logger.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/logging/sql_logger.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/context.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/cors.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/docs.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/exception.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/middleware.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/monitor_memory.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/mq.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/timeout.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/traceid.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/models/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/models/base_http.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/models/log.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/models/mqlistener_config.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/models/mqmsg_model.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/models/mqsend_config.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/models/sso_user.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/models/token_usage.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/models/token_usage_mysql.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/notice/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/notice/uvicorn_monitor.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/rabbitmq/rabbitmq_client.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/sentry/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/sentry/sy_sentry.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/services.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/sse/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/sse/event.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/sse/sse.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/example.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/example2.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/feign.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/feign_client.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/nacos_client_base.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/nacos_service_registration.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/param.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/tests/test_email.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/tests/test_mq.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/tools/__init__.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/tools/async_utils.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/tools/docs.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/tools/env.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/tools/merge_headers.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/tools/snowflake.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/tools/syemail.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/tools/timing.py +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon_python_lib.egg-info/SOURCES.txt +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon_python_lib.egg-info/entry_points.txt +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon_python_lib.egg-info/requires.txt +0 -0
- {sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon_python_lib.egg-info/top_level.txt +0 -0
|
@@ -2,6 +2,11 @@ import yaml
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class SingletonMeta(type):
|
|
5
|
+
"""单例元类
|
|
6
|
+
|
|
7
|
+
注意:非线程安全,应在程序启动时(同步环境)提前初始化单例,
|
|
8
|
+
避免在协程环境中首次调用导致问题。
|
|
9
|
+
"""
|
|
5
10
|
_instances = {}
|
|
6
11
|
|
|
7
12
|
def __call__(cls, *args, **kwargs):
|
|
@@ -31,6 +36,35 @@ class Config(metaclass=SingletonMeta):
|
|
|
31
36
|
return llm
|
|
32
37
|
raise ValueError(f"No configuration found for model: {model_name}")
|
|
33
38
|
|
|
39
|
+
def get_default_llm_config(self):
|
|
40
|
+
"""获取默认的 LLM 配置
|
|
41
|
+
|
|
42
|
+
Returns:
|
|
43
|
+
dict: 默认模型的配置,如果没有设置 default=True 则返回第一个配置
|
|
44
|
+
|
|
45
|
+
Raises:
|
|
46
|
+
ValueError: 如果没有任何 LLM 配置
|
|
47
|
+
"""
|
|
48
|
+
if not self.llm_configs:
|
|
49
|
+
raise ValueError("No LLM configuration found")
|
|
50
|
+
|
|
51
|
+
# 查找 default=True 的配置
|
|
52
|
+
for llm in self.llm_configs:
|
|
53
|
+
if llm.get('default') is True:
|
|
54
|
+
return llm
|
|
55
|
+
|
|
56
|
+
# 如果没有设置 default,返回第一个配置
|
|
57
|
+
return self.llm_configs[0]
|
|
58
|
+
|
|
59
|
+
def get_default_llm_model_name(self):
|
|
60
|
+
"""获取默认模型名称
|
|
61
|
+
|
|
62
|
+
Returns:
|
|
63
|
+
str: 默认模型的名称
|
|
64
|
+
"""
|
|
65
|
+
config = self.get_default_llm_config()
|
|
66
|
+
return config.get('model')
|
|
67
|
+
|
|
34
68
|
def get_embedding_config(self, model_name):
|
|
35
69
|
for llm in self.embedding_configs:
|
|
36
70
|
if llm.get('model') == model_name:
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/LLMConfig.py
RENAMED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from typing import Optional
|
|
1
2
|
from pydantic import BaseModel
|
|
2
3
|
|
|
3
4
|
|
|
@@ -8,6 +9,7 @@ class LLMConfig(BaseModel):
|
|
|
8
9
|
maxTokens: int
|
|
9
10
|
vision: bool
|
|
10
11
|
callFunction: bool
|
|
12
|
+
default: Optional[bool] = False
|
|
11
13
|
|
|
12
14
|
@classmethod
|
|
13
15
|
def from_config(cls, model_name: str):
|
|
@@ -4,32 +4,36 @@ from sycommon.config.LLMConfig import LLMConfig
|
|
|
4
4
|
from sycommon.llm.llm_with_token_tracking import LLMWithTokenTracking
|
|
5
5
|
from sycommon.llm.sy_langfuse import LangfuseInitializer
|
|
6
6
|
from sycommon.llm.usage_token import LLMWithAutoTokenUsage
|
|
7
|
-
from typing import Any, Union
|
|
7
|
+
from typing import Any, Optional, Union
|
|
8
8
|
from langchain_core.language_models import BaseChatModel
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
def get_llm(
|
|
12
|
-
model: str =
|
|
12
|
+
model: Optional[str] = None,
|
|
13
13
|
*,
|
|
14
14
|
streaming: bool = False,
|
|
15
|
-
temperature: float =
|
|
15
|
+
temperature: Optional[float] = None,
|
|
16
16
|
timeout: float = 180,
|
|
17
17
|
max_retries: int = 3,
|
|
18
18
|
wrap_structured: bool = True,
|
|
19
|
+
thinking: bool = False,
|
|
19
20
|
**kwargs: Any
|
|
20
21
|
) -> Union[LLMWithAutoTokenUsage, LLMWithTokenTracking, BaseChatModel]:
|
|
21
22
|
"""
|
|
22
23
|
获取LLM实例
|
|
23
24
|
|
|
24
25
|
Args:
|
|
25
|
-
model:
|
|
26
|
+
model: 模型名称,如果为 None 则使用配置中 default=True 的模型
|
|
26
27
|
streaming: 是否启用流式输出
|
|
27
|
-
temperature:
|
|
28
|
+
temperature: 温度参数,如果为 None 则根据 thinking 模式自动设置
|
|
28
29
|
timeout: 请求超时时间(秒),默认180秒
|
|
29
30
|
max_retries: 最大重试次数,默认3次
|
|
30
31
|
wrap_structured: 是否包装为结构化输出实例,默认True
|
|
31
32
|
- True: 返回 LLMWithAutoTokenUsage,支持 with_structured_output()
|
|
32
33
|
- False: 返回 LLMWithTokenTracking,保留日志、Langfuse 跟踪和 Token 统计
|
|
34
|
+
thinking: 是否启用思考模式,默认 False(指令模式)
|
|
35
|
+
- 思考模式: temperature=0.6, top_p=0.95, top_k=20, min_p=0.0, presence_penalty=0.0, repetition_penalty=1.0
|
|
36
|
+
- 指令模式: temperature=0.7, top_p=0.8, top_k=20, min_p=0.0, presence_penalty=1.5, repetition_penalty=1.0
|
|
33
37
|
**kwargs: 其他透传参数,支持 langchain init_chat_model 所有参数
|
|
34
38
|
- presence_penalty: 存在惩罚
|
|
35
39
|
- extra_body: 额外请求体参数,如 {"top_k": 20, "chat_template_kwargs": {"enable_thinking": False}}
|
|
@@ -43,7 +47,19 @@ def get_llm(
|
|
|
43
47
|
|
|
44
48
|
Example:
|
|
45
49
|
```python
|
|
46
|
-
#
|
|
50
|
+
# 使用默认模型(配置中 default=True 的模型)
|
|
51
|
+
llm = get_llm()
|
|
52
|
+
|
|
53
|
+
# 使用指定模型
|
|
54
|
+
llm = get_llm("Qwen3.5-122B-A10B")
|
|
55
|
+
|
|
56
|
+
# 思考模式
|
|
57
|
+
llm = get_llm("Qwen3.5-122B-A10B", thinking=True)
|
|
58
|
+
|
|
59
|
+
# 指令模式(默认)
|
|
60
|
+
llm = get_llm("Qwen3.5-122B-A10B", thinking=False)
|
|
61
|
+
|
|
62
|
+
# 结构化输出
|
|
47
63
|
llm = get_llm("Qwen3.5-122B-A10B")
|
|
48
64
|
chain = llm.with_structured_output(MyModel)
|
|
49
65
|
result = await chain.ainvoke([HumanMessage(content="你好")])
|
|
@@ -66,13 +82,51 @@ def get_llm(
|
|
|
66
82
|
)
|
|
67
83
|
```
|
|
68
84
|
"""
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
85
|
+
from sycommon.config.Config import Config
|
|
86
|
+
|
|
87
|
+
# 如果没有传递模型名或使用旧模型别名,则使用默认模型
|
|
88
|
+
if model is None or model in ("Qwen2.5-72B", "Qwen3.5-122B-A10B"):
|
|
89
|
+
model = Config().get_default_llm_model_name()
|
|
90
|
+
|
|
91
|
+
# 根据 thinking 模式设置默认参数
|
|
92
|
+
if thinking:
|
|
93
|
+
# 思考模式
|
|
94
|
+
default_temperature = 0.6
|
|
95
|
+
default_top_p = 0.95
|
|
96
|
+
default_extra_body = {
|
|
97
|
+
"top_k": 20,
|
|
98
|
+
"min_p": 0.0,
|
|
99
|
+
"repetition_penalty": 1.0,
|
|
100
|
+
"chat_template_kwargs": {"enable_thinking": True}
|
|
101
|
+
}
|
|
102
|
+
default_presence_penalty = 0.0
|
|
103
|
+
else:
|
|
104
|
+
# 指令模式
|
|
105
|
+
default_temperature = 0.7
|
|
106
|
+
default_top_p = 0.8
|
|
107
|
+
default_extra_body = {
|
|
73
108
|
"top_k": 20,
|
|
109
|
+
"min_p": 0.0,
|
|
110
|
+
"repetition_penalty": 1.0,
|
|
74
111
|
"chat_template_kwargs": {"enable_thinking": False}
|
|
75
112
|
}
|
|
113
|
+
default_presence_penalty = 1.5
|
|
114
|
+
|
|
115
|
+
# 应用默认参数(用户未指定时才使用默认值)
|
|
116
|
+
if temperature is None:
|
|
117
|
+
temperature = default_temperature
|
|
118
|
+
if "top_p" not in kwargs:
|
|
119
|
+
kwargs["top_p"] = default_top_p
|
|
120
|
+
if "presence_penalty" not in kwargs:
|
|
121
|
+
kwargs["presence_penalty"] = default_presence_penalty
|
|
122
|
+
|
|
123
|
+
# 合并 extra_body
|
|
124
|
+
if "extra_body" not in kwargs:
|
|
125
|
+
kwargs["extra_body"] = default_extra_body
|
|
126
|
+
else:
|
|
127
|
+
# 用户提供了 extra_body,合并默认值
|
|
128
|
+
merged_extra_body = {**default_extra_body, **kwargs["extra_body"]}
|
|
129
|
+
kwargs["extra_body"] = merged_extra_body
|
|
76
130
|
|
|
77
131
|
llmConfig = LLMConfig.from_config(model)
|
|
78
132
|
if not llmConfig:
|
|
@@ -8,20 +8,15 @@ from sycommon.logging.kafka_log import SYLogger
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class NacosConfigManager:
|
|
11
|
-
"""Nacos配置管理类 -
|
|
11
|
+
"""Nacos配置管理类 - 负责配置读取和监听"""
|
|
12
12
|
|
|
13
13
|
def __init__(self, client_base: NacosClientBase):
|
|
14
14
|
self.client_base = client_base
|
|
15
15
|
|
|
16
|
-
# 配置
|
|
17
|
-
self.config_watch_interval = self.client_base.nacos_config.get(
|
|
18
|
-
'configWatchInterval', 30)
|
|
19
|
-
|
|
20
16
|
# 状态
|
|
21
17
|
self.share_configs: Dict = {}
|
|
22
18
|
self._config_listeners: Dict[str, Callable[[str], None]] = {}
|
|
23
19
|
self._config_cache: Dict[str, str] = {}
|
|
24
|
-
self._watch_thread: Optional[threading.Thread] = None
|
|
25
20
|
# Nacos原生监听器跟踪
|
|
26
21
|
self._nacos_watchers: Dict[str, bool] = {}
|
|
27
22
|
self._watcher_lock = threading.Lock()
|
|
@@ -112,6 +107,9 @@ class NacosConfigManager:
|
|
|
112
107
|
if data_id in self._config_listeners:
|
|
113
108
|
self._config_listeners[data_id](new_content)
|
|
114
109
|
|
|
110
|
+
# 同步更新到全局 Config 单例
|
|
111
|
+
self._sync_to_global_config()
|
|
112
|
+
|
|
115
113
|
SYLogger.info(f"nacos:配置热更新完成 - dataId: {data_id}")
|
|
116
114
|
except Exception as e:
|
|
117
115
|
SYLogger.error(f"nacos:配置变更回调处理失败: {e}")
|
|
@@ -139,33 +137,15 @@ class NacosConfigManager:
|
|
|
139
137
|
SYLogger.error(f"nacos:获取配置 {data_id} 失败: {str(e)}")
|
|
140
138
|
return None
|
|
141
139
|
|
|
142
|
-
def
|
|
143
|
-
"""
|
|
144
|
-
self._watch_thread = threading.Thread(
|
|
145
|
-
target=self._watch_configs, daemon=True)
|
|
146
|
-
self._watch_thread.start()
|
|
147
|
-
|
|
148
|
-
def _watch_configs(self):
|
|
149
|
-
"""配置监听线程(兜底机制,确保配置变更不会遗漏)"""
|
|
150
|
-
check_interval = self.config_watch_interval
|
|
140
|
+
def _sync_to_global_config(self):
|
|
141
|
+
"""同步配置到全局 Config 单例
|
|
151
142
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
self.share_configs[data_id] = json.loads(
|
|
162
|
-
new_config)
|
|
163
|
-
except json.JSONDecodeError:
|
|
164
|
-
try:
|
|
165
|
-
self.share_configs[data_id] = yaml.safe_load(
|
|
166
|
-
new_config)
|
|
167
|
-
except yaml.YAMLError:
|
|
168
|
-
SYLogger.error(f"nacos:无法解析 {data_id} 的内容")
|
|
169
|
-
except Exception as e:
|
|
170
|
-
SYLogger.error(f"nacos:配置监视线程异常: {str(e)}")
|
|
171
|
-
self.client_base._shutdown_event.wait(check_interval)
|
|
143
|
+
当 Nacos 配置变更时,更新 Config 单例中的 LLMConfig 等配置,
|
|
144
|
+
使得 get_llm() 等函数能获取到最新的配置。
|
|
145
|
+
"""
|
|
146
|
+
try:
|
|
147
|
+
from sycommon.config.Config import Config
|
|
148
|
+
Config().set_attr(self.share_configs)
|
|
149
|
+
SYLogger.debug("nacos:配置已同步到全局 Config 单例")
|
|
150
|
+
except Exception as e:
|
|
151
|
+
SYLogger.error(f"nacos:同步配置到全局单例失败: {e}")
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/nacos_service.py
RENAMED
|
@@ -68,9 +68,6 @@ class NacosService(metaclass=SingletonMeta):
|
|
|
68
68
|
self.nacos_config.get('sharedConfigs', []))
|
|
69
69
|
Config().set_attr(self.share_configs)
|
|
70
70
|
|
|
71
|
-
# 启动配置监视线程
|
|
72
|
-
self.config_manager.start_watch_configs()
|
|
73
|
-
|
|
74
71
|
# 仅在需要注册时启动心跳
|
|
75
72
|
if self.enable_register_nacos:
|
|
76
73
|
# 如果启用进程模式,跳过线程模式的心跳启动
|
|
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
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/command/templates/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/command/templates/base/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/command/templates/web/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/__init__.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
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/get_agent.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/skills/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/skills/exports.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/agent/virtual_employee.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/DatabaseConfig.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/EmbeddingConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/LangfuseConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/MQConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/RedisConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/RerankerConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/SentryConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/config/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/database/redis_service.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/health/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/health/health_check.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/health/metrics.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
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/llm_logger.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/llm_tokens.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/struct_token.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/sy_langfuse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/llm/usage_token.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/logging/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/logging/kafka_log.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/logging/logger_levels.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/logging/logger_wrapper.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/logging/process_logger.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/logging/sql_logger.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/context.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/cors.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/docs.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/exception.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/middleware.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/timeout.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/middleware/traceid.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/models/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/models/base_http.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/models/mqmsg_model.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/models/mqsend_config.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/models/sso_user.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/models/token_usage.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/notice/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/notice/uvicorn_monitor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/rabbitmq/rabbitmq_pool.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/sentry/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/sentry/sy_sentry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/example.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/example2.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/synacos/feign_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/tests/test_email.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/tools/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/tools/async_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/tools/merge_headers.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.0b26 → sycommon_python_lib-0.2.0b27}/src/sycommon/tools/snowflake.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
|