feat: implement comprehensive configuration management system with multi-mirror support

- Add ServerSettings class with pydantic-settings for type-safe configuration
- Support multiple PyPI mirror sources with priority-based fallback mechanism
- Implement RepositoryConfig and RepositoryManager for multi-repository support
- Add environment variable support for all configuration options
- Include private repository authentication configuration
- Add advanced dependency analysis settings (max depth, concurrency, security)
- Provide secure credential management with sensitive data masking
- Update documentation and configuration examples
- Add comprehensive test suite with 23 test cases covering all features
- Include demo script showcasing multi-mirror configuration capabilities

Configuration features:
- Primary, additional, and fallback index URLs
- Automatic duplicate URL removal with priority preservation
- Runtime configuration reloading
- Integration with repository manager for seamless multi-source queries

Signed-off-by: longhao <hal.long@outlook.com>
This commit is contained in:
longhao 2025-05-27 17:36:25 +08:00 committed by Hal
parent f27493d8d2
commit a0c507c3ff
20 changed files with 1276 additions and 165 deletions

View file

@ -19,7 +19,7 @@ def sample_package_data():
"requires_dist": [
"requests>=2.25.0",
"click>=8.0.0",
"pytest>=6.0.0; extra == 'test'"
"pytest>=6.0.0; extra == 'test'",
],
"classifiers": [
"Development Status :: 4 - Beta",
@ -30,30 +30,30 @@ def sample_package_data():
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: Implementation :: CPython"
]
"Programming Language :: Python :: Implementation :: CPython",
],
},
"releases": {
"1.0.0": [
{
"filename": "test_package-1.0.0-py3-none-any.whl",
"packagetype": "bdist_wheel",
"python_version": "py3"
"python_version": "py3",
},
{
"filename": "test-package-1.0.0.tar.gz",
"packagetype": "sdist",
"python_version": "source"
}
"python_version": "source",
},
],
"0.9.0": [
{
"filename": "test-package-0.9.0.tar.gz",
"packagetype": "sdist",
"python_version": "source"
"python_version": "source",
}
]
}
],
},
}