API
Setup 2 uPy Package
Create and validate MicroPython package.json files based on Python setup.py files
- class setup2upypackage.setup2upypackage.Setup2uPyPackage(setup_file: Path, package_file: Optional[Path], package_changelog_file: Optional[Path], logger: Optional[Logger] = None)[source]
Bases:
object
Handle MicroPython package JSON creation and validation
- static _create_logger(logger_name: Optional[str] = None) Logger [source]
Create a logger
- Parameters
logger_name (str, optional) – The logger name
- Returns
Configured logger
- Return type
- _create_url_elements(package_files: List[str], url: str) List[str] [source]
Create URLs to all package elements.
- _exclude_package_files(package_files: List[Tuple[str, str]], excludes: List[str] = ['boot.py', 'main.py']) List[Tuple[str, str]] [source]
Exclude elements of a list if the first element matches an exclude str
- _parse_setup_file_content() dict [source]
Parse setup.py file content
see https://stackoverflow.com/a/61754034/13543363
- Returns
Parsed setup.py file content
- Return type
- create(output_path: Optional[Path] = None, pretty: bool = True) None [source]
Create package.json file in same directory as setup.py
- Parameters
output_path (Optional[Path]) – The output path
pretty (bool) – Flag to use an indentation of 4
- property data_files: List[str]
Get data files based on setup.py “data_files” entry.
- Returns
Data files based on setup.py “data_files” entry
- Return type
List[str]
- property package_changelog_version: str
Get package changelog version
- Returns
Package changelog version
- Return type
- property package_data: dict
Get mip compatible package data
- Returns
mip compatible package.json data
- Return type
- property package_deps: List[str]
Get dependencies of package based on setup.py “install_requires” entry
- Returns
Package dependencies based on setup.py “install_requires”
- Return type
List[str]
- property package_files: List[str]
Get packages based on setup.py “packages” entry.
- Returns
Packages based on setup.py “packages” entry
- Return type
List[str]
- property package_json_data: dict
Get package.json data
- Returns
Existing package.json data
- Return type
- property package_url: str
Get URL of package based on setup.py “url” entry.
- Returns
Package URL based on setup.py “url” entry
- Return type
- property package_version: str
Get version of package based on setup.py “version” entry
- Returns
Package version based on setup.py “version” entry
- Return type
- validate(ignore_version: bool = False, ignore_deps: bool = False, ignore_boot_main: bool = False) bool [source]
Validate existing package.json with setup.py based data
- property validation_diff: DeepDiff
Get difference of package.json and setup.py
- Returns
The deep difference.
- Return type
DeepDiff