Project Analyzer
Project analyzer - extracts metadata from existing Python projects.
- class pypreset.project_analyzer.PackageManager[source]
Bases:
StrEnumDetected package manager.
- POETRY = 'poetry'
- PDM = 'pdm'
- SETUPTOOLS = 'setuptools'
- HATCH = 'hatch'
- FLIT = 'flit'
- UNKNOWN = 'unknown'
- __new__(value)
- class pypreset.project_analyzer.DetectedLinter[source]
Bases:
StrEnumDetected linting/formatting tools.
- RUFF = 'ruff'
- BLACK = 'black'
- FLAKE8 = 'flake8'
- ISORT = 'isort'
- NONE = 'none'
- __new__(value)
- class pypreset.project_analyzer.DetectedTestFramework[source]
Bases:
StrEnumDetected testing framework.
- PYTEST = 'pytest'
- UNITTEST = 'unittest'
- NONE = 'none'
- __new__(value)
- class pypreset.project_analyzer.DetectedTypeChecker[source]
Bases:
StrEnumDetected type checker.
- MYPY = 'mypy'
- PYRIGHT = 'pyright'
- NONE = 'none'
- __new__(value)
- class pypreset.project_analyzer.AnalysisConfidence[source]
Bases:
objectConfidence levels for detected values.
- class pypreset.project_analyzer.DetectedValue[source]
Bases:
GenericA detected value with confidence level.
- value: T
- class pypreset.project_analyzer.MissingField[source]
Bases:
objectRepresents a field that could not be detected.
- class pypreset.project_analyzer.ProjectAnalysis[source]
Bases:
objectComplete analysis of an existing project.
- Parameters:
project_name (
DetectedValue[str] |None)package_name (
DetectedValue[str] |None)version (
DetectedValue[str] |None)description (
DetectedValue[str] |None)python_version (
DetectedValue[str] |None)package_manager (
DetectedValue[PackageManager] |None)test_framework (
DetectedValue[DetectedTestFramework] |None)has_tests_dir (
bool)linter (
DetectedValue[DetectedLinter] |None)type_checker (
DetectedValue[DetectedTypeChecker] |None)line_length (
DetectedValue[int] |None)has_github_dir (
bool)has_dependabot (
bool)has_readme (
bool)repository_url (
DetectedValue[str] |None)license_id (
DetectedValue[str] |None)has_gitignore (
bool)has_src_layout (
bool)missing_fields (
list[MissingField])
- project_name: DetectedValue[str] | None = None
- package_name: DetectedValue[str] | None = None
- version: DetectedValue[str] | None = None
- description: DetectedValue[str] | None = None
- python_version: DetectedValue[str] | None = None
- package_manager: DetectedValue[PackageManager] | None = None
- test_framework: DetectedValue[DetectedTestFramework] | None = None
- linter: DetectedValue[DetectedLinter] | None = None
- type_checker: DetectedValue[DetectedTypeChecker] | None = None
- line_length: DetectedValue[int] | None = None
- repository_url: DetectedValue[str] | None = None
- license_id: DetectedValue[str] | None = None
- missing_fields: list[MissingField]
- get_uncertain_values()[source]
Get values that were detected but need confirmation.
- Return type:
dict[str,DetectedValue[Any]]
- __init__(project_name=None, package_name=None, version=None, description=None, python_version=None, package_manager=None, test_framework=None, has_tests_dir=False, existing_tests=<factory>, linter=None, type_checker=None, line_length=None, has_github_dir=False, existing_workflows=<factory>, has_dependabot=False, has_readme=False, repository_url=None, license_id=None, has_gitignore=False, has_src_layout=False, source_dirs=<factory>, main_dependencies=<factory>, dev_dependencies=<factory>, missing_fields=<factory>)
- Parameters:
project_name (
DetectedValue[str] |None)package_name (
DetectedValue[str] |None)version (
DetectedValue[str] |None)description (
DetectedValue[str] |None)python_version (
DetectedValue[str] |None)package_manager (
DetectedValue[PackageManager] |None)test_framework (
DetectedValue[DetectedTestFramework] |None)has_tests_dir (
bool)linter (
DetectedValue[DetectedLinter] |None)type_checker (
DetectedValue[DetectedTypeChecker] |None)line_length (
DetectedValue[int] |None)has_github_dir (
bool)has_dependabot (
bool)has_readme (
bool)repository_url (
DetectedValue[str] |None)license_id (
DetectedValue[str] |None)has_gitignore (
bool)has_src_layout (
bool)missing_fields (
list[MissingField])
- Return type:
None
- class pypreset.project_analyzer.ProjectAnalyzer[source]
Bases:
objectAnalyzes an existing Python project to extract metadata and configuration.
- Parameters:
project_dir (
Path)