def _build_distribution(extensions: List[Extension]) -> Distribution: # Build a Distribution using cythonize() # Determine the build output directory if DEBUG_MODE: # For subsequent debugging, the C source needs to be in # the same tree as the Cython code (not in a separate build directory). build_dir = None elif ANNOTATION_MODE: build_dir = "build/annotated" else: build_dir = "build/optimized" distribution = Distribution( dict( name="nautilus_trader", ext_modules=cythonize( module_list=extensions, compiler_directives=CYTHON_COMPILER_DIRECTIVES, nthreads=os.cpu_count(), build_dir=build_dir, gdb_debug=DEBUG_MODE, ), zip_safe=False, ) ) distribution.package_dir = "nautilus_trader" return distribution
def test_distribution_files_package_dir(): """ Test packages collection when pacakge_dir is used to get packages from sub-directory. """ dist = Distribution() with change_dir(TEST_PATH): dist.packages = find_packages("data") dist.package_dir = {"": "data"} files = FormatCommand(dist).distribution_files() # Ensure data is appended to fake_package assert list(files) == [os.path.join("data", "fake_package")]