-
Notifications
You must be signed in to change notification settings - Fork 2
Hello world #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Hello world #4
Conversation
Reviewer's GuideRefactors build and link processes to default to static libraries with metadata output, disable shared library support, adjust compiler configurations for Nuitka-Python, improve library resolution, and introduce a Pylint CI workflow. Sequence diagram for static library build and metadata outputsequenceDiagram
participant BuildExt as "build_ext.py:build_extension()"
participant Compiler as "Compiler"
participant FS as "Filesystem"
BuildExt->>Compiler: create_static_lib(objects, ext_path, ...)
Compiler->>FS: Write static library file
BuildExt->>Compiler: library_filename(ext_path, output_dir)
Compiler->>FS: Return library filename
BuildExt->>FS: Write metadata to result_path.link.json
Sequence diagram for library file resolution and installationsequenceDiagram
participant BuildExt as "build_ext.py:build_extension()"
participant FS as "Filesystem"
loop for each library
loop for each library_dir
BuildExt->>FS: Check if lib file exists in dir
alt If file exists and dir is relative
BuildExt->>FS: Create install dir if needed
BuildExt->>FS: Copy lib file to install dir
end
end
end
Class diagram for updated UnixCCompiler and CCompiler methodsclassDiagram
class UnixCCompiler {
+executables
+link(objects, output_dir, libraries, library_dirs, runtime_library_dirs, extra_preargs, extra_postargs, build_temp, target_lang, extra_midargs)
+find_library_file(dirs, lib, debug=False)
}
class CCompiler {
+link(objects, output_dir, libraries, library_dirs, runtime_library_dirs, extra_preargs, extra_postargs, build_temp, target_lang, extra_midargs)
+link_shared_lib(objects, output_dir, libraries, library_dirs, runtime_library_dirs, extra_preargs, extra_postargs, build_temp, target_lang)
+link_shared_object(objects, output_dir, libraries, library_dirs, runtime_library_dirs, extra_preargs, extra_postargs, build_temp, target_lang)
+link_executable(objects, output_dir, libraries, library_dirs, runtime_library_dirs, extra_preargs, extra_postargs, target_lang, extra_midargs)
+library_filename(libname, lib_type, strip_dir)
+gen_lib_options(compiler, library_dirs, runtime_library_dirs, libraries)
}
UnixCCompiler --|> CCompiler
Class diagram for updated MSVCCompiler methodsclassDiagram
class MSVCCompiler {
+initialize(plat_name=None)
+link(objects, output_dir, libraries, library_dirs, runtime_library_dirs, extra_preargs, extra_postargs, build_temp, target_lang, extra_midargs)
+library_option(lib)
+find_library_file(dirs, lib, debug=False)
+compile_options
+compile_options_debug
+dumpbin
}
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
setuptools/command/build_ext.py
Outdated
|
||
result_path = self.library_filename(basename, output_dir=os.path.abspath(".")) | ||
|
||
with open(result_path + '.link.json', 'w') as f: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
issue (code-quality): Use f-string instead of string concatenation [×4] (use-fstring-for-concatenation
)
Summary of changes
Closes
Pull Request Checklist
newsfragments/
.(See documentation for details)
Summary by Sourcery
Enable static library builds with metadata support and enhance Nuitka-Python compatibility by disabling shared libraries, adjusting compiler/linker behavior, and updating packaging tags, plus introduce Pylint CI workflow.
New Features:
Enhancements:
CI: