From bcc8d8181082bcb5be41d157accef6f7e839a161 Mon Sep 17 00:00:00 2001 From: Frederik Hennig <frederik.hennig@fau.de> Date: Tue, 16 Jan 2024 08:50:35 +0100 Subject: [PATCH] Refactor source tree layout --- .flake8 | 6 +-- .gitignore | 14 +++---- .gitlab-ci.yml | 35 ++++++++++++------ conftest.py | 30 +++++++-------- pyproject.toml | 10 +++-- pytest.ini | 21 ++++++----- quicktest.py | 2 +- setup.py | 10 ++++- {pystencils => src/pystencils}/__init__.py | 0 {pystencils => src/pystencils}/_version.py | 0 .../pystencils}/alignedarray.py | 0 {pystencils => src/pystencils}/assignment.py | 0 {pystencils => src/pystencils}/astnodes.py | 0 .../pystencils}/backends/__init__.py | 0 .../backends/arm_instruction_sets.py | 0 .../pystencils}/backends/cbackend.py | 0 .../pystencils}/backends/cuda_backend.py | 0 .../pystencils}/backends/dot.py | 0 .../pystencils}/backends/json.py | 0 .../backends/ppc_instruction_sets.py | 0 .../backends/riscv_instruction_sets.py | 0 .../backends/simd_instruction_sets.py | 0 .../backends/x86_instruction_sets.py | 0 {pystencils => src/pystencils}/bit_masks.py | 0 .../pystencils}/boundaries/__init__.py | 0 .../boundaries/boundaryconditions.py | 0 .../boundaries/boundaryhandling.py | 0 .../pystencils}/boundaries/createindexlist.py | 0 .../boundaries/createindexlistcython.pyx | 0 .../pystencils}/boundaries/inkernel.py | 0 {pystencils => src/pystencils}/cache.py | 0 {pystencils => src/pystencils}/config.py | 0 .../pystencils}/cpu/__init__.py | 0 {pystencils => src/pystencils}/cpu/cpujit.py | 0 .../pystencils}/cpu/kernelcreation.py | 0 .../pystencils}/cpu/msvc_detection.py | 0 .../pystencils}/cpu/vectorization.py | 0 .../pystencils}/datahandling/__init__.py | 0 .../datahandling/blockiteration.py | 0 .../datahandling/datahandling_interface.py | 0 .../datahandling/parallel_datahandling.py | 0 .../datahandling/serial_datahandling.py | 0 .../pystencils}/datahandling/vtk.py | 0 .../pystencils}/display_utils.py | 0 {pystencils => src/pystencils}/enums.py | 0 .../pystencils}/fast_approximation.py | 0 {pystencils => src/pystencils}/fd/__init__.py | 0 .../pystencils}/fd/derivation.py | 0 .../pystencils}/fd/derivative.py | 0 .../pystencils}/fd/finitedifferences.py | 0 .../pystencils}/fd/finitevolumes.py | 0 {pystencils => src/pystencils}/fd/spatial.py | 0 {pystencils => src/pystencils}/field.py | 0 {pystencils => src/pystencils}/functions.py | 0 .../pystencils}/gpu/__init__.py | 0 .../pystencils}/gpu/gpu_array_handler.py | 0 {pystencils => src/pystencils}/gpu/gpujit.py | 0 .../pystencils}/gpu/indexing.py | 0 .../pystencils}/gpu/kernelcreation.py | 0 .../pystencils}/gpu/periodicity.py | 0 .../pystencils}/include/PyStencilsField.h | 0 .../pystencils}/include/__init__.py | 0 .../pystencils}/include/aesni_rand.h | 0 .../pystencils}/include/arm_neon_helpers.h | 0 .../pystencils}/include/gpu_defines.h | 0 .../pystencils}/include/half_precision.h | 0 .../pystencils}/include/myintrin.h | 0 .../pystencils}/include/philox_rand.h | 0 .../pystencils}/include/ppc_altivec_helpers.h | 0 .../pystencils}/integer_functions.py | 0 .../pystencils}/integer_set_analysis.py | 0 {pystencils => src/pystencils}/jupyter.py | 0 .../pystencils}/kernel_contrains_check.py | 0 .../pystencils}/kernel_decorator.py | 0 .../pystencils}/kernel_wrapper.py | 0 .../pystencils}/kernelcreation.py | 0 .../pystencils}/node_collection.py | 0 .../pystencils}/placeholder_function.py | 0 {pystencils => src/pystencils}/plot.py | 0 {pystencils => src/pystencils}/rng.py | 0 .../pystencils}/runhelper/__init__.py | 0 .../pystencils}/runhelper/db.py | 0 .../pystencils}/runhelper/parameterstudy.py | 0 {pystencils => src/pystencils}/session.py | 0 .../pystencils}/simp/__init__.py | 0 .../pystencils}/simp/assignment_collection.py | 0 .../pystencils}/simp/simplifications.py | 0 .../simp/simplificationstrategy.py | 0 .../simp/subexpression_insertion.py | 0 .../pystencils}/simplificationfactory.py | 0 {pystencils => src/pystencils}/slicing.py | 0 .../pystencils}/spatial_coordinates.py | 0 {pystencils => src/pystencils}/stencil.py | 0 .../pystencils}/sympyextensions.py | 0 {pystencils => src/pystencils}/timeloop.py | 0 .../pystencils}/transformations.py | 0 .../pystencils}/typing/__init__.py | 0 .../pystencils}/typing/cast_functions.py | 0 .../pystencils}/typing/leaf_typing.py | 0 .../pystencils}/typing/transformations.py | 0 .../pystencils}/typing/typed_sympy.py | 0 .../pystencils}/typing/types.py | 0 .../pystencils}/typing/utilities.py | 0 {pystencils => src/pystencils}/utils.py | 0 {pystencils_tests => tests}/__init__.py | 0 {pystencils_tests => tests}/test_Min_Max.py | 0 {pystencils_tests => tests}/test_abs.py | 0 .../test_address_of.py | 0 .../test_aligned_array.py | 0 .../test_assignment_collection.py | 0 ...t_assignment_collection_dict_conversion.py | 0 .../test_assignment_from_stencil.py | 0 {pystencils_tests => tests}/test_astnodes.py | 0 .../test_augmented_assignment.py | 0 .../test_base_pointer_specification.py | 0 {pystencils_tests => tests}/test_bit_masks.py | 0 {pystencils_tests => tests}/test_blocking.py | 0 .../test_blocking_staggered.py | 0 {pystencils_tests => tests}/test_boundary.py | 0 .../test_boundary_indexlist_creation.py | 0 {pystencils_tests => tests}/test_buffer.py | 0 .../test_buffer_gpu.py | 0 .../test_conditional_field_access.py | 0 .../test_conditional_vec.py | 0 {pystencils_tests => tests}/test_config.py | 0 .../test_create_kernel_config.py | 0 .../test_custom_backends.py | 0 .../test_data/datahandling_load_test.npz | Bin .../datahandling_parallel_load_test/dst.dat | Bin .../datahandling_parallel_load_test/src.dat | Bin .../datahandling_parallel_save_test/dst.dat | Bin .../datahandling_parallel_save_test/src.dat | Bin .../test_data/datahandling_save_test.npz | Bin .../test_data/lenna.png | Bin .../test_data/test_vessel2d_mask.png | Bin .../test_datahandling.py | 0 .../test_datahandling_parallel.py | 2 +- .../test_derivative.py | 0 .../test_dot_printer.ipynb | 0 .../test_dot_printer.py | 0 .../test_dtype_check.py | 0 .../test_fast_approximation.py | 0 .../test_fd_derivation.ipynb | 0 .../test_fd_derivation_via_rotation.ipynb | 0 .../test_fd_derivative.py | 0 {pystencils_tests => tests}/test_field.py | 0 .../test_field_access_poly.py | 0 .../test_field_equality.ipynb | 0 .../test_finite_differences.py | 0 .../test_floor_ceil_int_optimization.py | 0 {pystencils_tests => tests}/test_fvm.py | 0 .../test_global_definitions.py | 0 {pystencils_tests => tests}/test_gpu.py | 0 .../test_half_precision.py | 0 .../test_helpful_errors.py | 0 .../test_indexed_kernels.py | 0 .../test_jacobi_cbackend.py | 0 .../test_json_backend.py | 0 .../test_json_serializer.py | 0 .../test_jupyter_extensions.ipynb | 0 {pystencils_tests => tests}/test_logarithm.py | 0 .../test_loop_cutting.py | 0 ...st_match_subs_for_assignment_collection.py | 0 .../test_math_functions.py | 0 {pystencils_tests => tests}/test_modulo.py | 0 .../test_move_constant_before_loop.py | 0 .../test_nodecollection.py | 0 .../test_parameterstudy.py | 0 .../test_phasefield_dentritic_3D.ipynb | 0 .../test_pickle_support.py | 0 {pystencils_tests => tests}/test_plot.py | 0 {pystencils_tests => tests}/test_printing.py | 0 .../test_quicktests.py | 0 {pystencils_tests => tests}/test_random.py | 0 .../test_sharedmethodcache.py | 0 .../test_simplification_strategy.py | 0 .../test_simplifications.py | 0 .../test_size_and_layout_checks.py | 0 .../test_sliced_iteration.py | 0 {pystencils_tests => tests}/test_slicing.py | 0 .../test_small_block_benchmark.ipynb | 0 .../test_source_code_comment.py | 0 .../test_staggered_kernel.py | 0 .../test_stencil_plot.ipynb | 0 {pystencils_tests => tests}/test_stencils.py | 0 .../test_struct_types.py | 0 .../test_subexpression_insertion.py | 0 {pystencils_tests => tests}/test_sum_prod.py | 0 .../test_sympyextensions.py | 0 {pystencils_tests => tests}/test_timeloop.py | 0 .../test_transformations.py | 0 .../test_type_interference.py | 0 {pystencils_tests => tests}/test_types.py | 0 {pystencils_tests => tests}/test_utils.py | 0 .../test_vectorization.py | 0 .../test_vectorization_specific.py | 0 .../test_version_string.py | 0 197 files changed, 76 insertions(+), 54 deletions(-) rename {pystencils => src/pystencils}/__init__.py (100%) rename {pystencils => src/pystencils}/_version.py (100%) rename {pystencils => src/pystencils}/alignedarray.py (100%) rename {pystencils => src/pystencils}/assignment.py (100%) rename {pystencils => src/pystencils}/astnodes.py (100%) rename {pystencils => src/pystencils}/backends/__init__.py (100%) rename {pystencils => src/pystencils}/backends/arm_instruction_sets.py (100%) rename {pystencils => src/pystencils}/backends/cbackend.py (100%) rename {pystencils => src/pystencils}/backends/cuda_backend.py (100%) rename {pystencils => src/pystencils}/backends/dot.py (100%) rename {pystencils => src/pystencils}/backends/json.py (100%) rename {pystencils => src/pystencils}/backends/ppc_instruction_sets.py (100%) rename {pystencils => src/pystencils}/backends/riscv_instruction_sets.py (100%) rename {pystencils => src/pystencils}/backends/simd_instruction_sets.py (100%) rename {pystencils => src/pystencils}/backends/x86_instruction_sets.py (100%) rename {pystencils => src/pystencils}/bit_masks.py (100%) rename {pystencils => src/pystencils}/boundaries/__init__.py (100%) rename {pystencils => src/pystencils}/boundaries/boundaryconditions.py (100%) rename {pystencils => src/pystencils}/boundaries/boundaryhandling.py (100%) rename {pystencils => src/pystencils}/boundaries/createindexlist.py (100%) rename {pystencils => src/pystencils}/boundaries/createindexlistcython.pyx (100%) rename {pystencils => src/pystencils}/boundaries/inkernel.py (100%) rename {pystencils => src/pystencils}/cache.py (100%) rename {pystencils => src/pystencils}/config.py (100%) rename {pystencils => src/pystencils}/cpu/__init__.py (100%) rename {pystencils => src/pystencils}/cpu/cpujit.py (100%) rename {pystencils => src/pystencils}/cpu/kernelcreation.py (100%) rename {pystencils => src/pystencils}/cpu/msvc_detection.py (100%) rename {pystencils => src/pystencils}/cpu/vectorization.py (100%) rename {pystencils => src/pystencils}/datahandling/__init__.py (100%) rename {pystencils => src/pystencils}/datahandling/blockiteration.py (100%) rename {pystencils => src/pystencils}/datahandling/datahandling_interface.py (100%) rename {pystencils => src/pystencils}/datahandling/parallel_datahandling.py (100%) rename {pystencils => src/pystencils}/datahandling/serial_datahandling.py (100%) rename {pystencils => src/pystencils}/datahandling/vtk.py (100%) rename {pystencils => src/pystencils}/display_utils.py (100%) rename {pystencils => src/pystencils}/enums.py (100%) rename {pystencils => src/pystencils}/fast_approximation.py (100%) rename {pystencils => src/pystencils}/fd/__init__.py (100%) rename {pystencils => src/pystencils}/fd/derivation.py (100%) rename {pystencils => src/pystencils}/fd/derivative.py (100%) rename {pystencils => src/pystencils}/fd/finitedifferences.py (100%) rename {pystencils => src/pystencils}/fd/finitevolumes.py (100%) rename {pystencils => src/pystencils}/fd/spatial.py (100%) rename {pystencils => src/pystencils}/field.py (100%) rename {pystencils => src/pystencils}/functions.py (100%) rename {pystencils => src/pystencils}/gpu/__init__.py (100%) rename {pystencils => src/pystencils}/gpu/gpu_array_handler.py (100%) rename {pystencils => src/pystencils}/gpu/gpujit.py (100%) rename {pystencils => src/pystencils}/gpu/indexing.py (100%) rename {pystencils => src/pystencils}/gpu/kernelcreation.py (100%) rename {pystencils => src/pystencils}/gpu/periodicity.py (100%) rename {pystencils => src/pystencils}/include/PyStencilsField.h (100%) rename {pystencils => src/pystencils}/include/__init__.py (100%) rename {pystencils => src/pystencils}/include/aesni_rand.h (100%) rename {pystencils => src/pystencils}/include/arm_neon_helpers.h (100%) rename {pystencils => src/pystencils}/include/gpu_defines.h (100%) rename {pystencils => src/pystencils}/include/half_precision.h (100%) rename {pystencils => src/pystencils}/include/myintrin.h (100%) rename {pystencils => src/pystencils}/include/philox_rand.h (100%) rename {pystencils => src/pystencils}/include/ppc_altivec_helpers.h (100%) rename {pystencils => src/pystencils}/integer_functions.py (100%) rename {pystencils => src/pystencils}/integer_set_analysis.py (100%) rename {pystencils => src/pystencils}/jupyter.py (100%) rename {pystencils => src/pystencils}/kernel_contrains_check.py (100%) rename {pystencils => src/pystencils}/kernel_decorator.py (100%) rename {pystencils => src/pystencils}/kernel_wrapper.py (100%) rename {pystencils => src/pystencils}/kernelcreation.py (100%) rename {pystencils => src/pystencils}/node_collection.py (100%) rename {pystencils => src/pystencils}/placeholder_function.py (100%) rename {pystencils => src/pystencils}/plot.py (100%) rename {pystencils => src/pystencils}/rng.py (100%) rename {pystencils => src/pystencils}/runhelper/__init__.py (100%) rename {pystencils => src/pystencils}/runhelper/db.py (100%) rename {pystencils => src/pystencils}/runhelper/parameterstudy.py (100%) rename {pystencils => src/pystencils}/session.py (100%) rename {pystencils => src/pystencils}/simp/__init__.py (100%) rename {pystencils => src/pystencils}/simp/assignment_collection.py (100%) rename {pystencils => src/pystencils}/simp/simplifications.py (100%) rename {pystencils => src/pystencils}/simp/simplificationstrategy.py (100%) rename {pystencils => src/pystencils}/simp/subexpression_insertion.py (100%) rename {pystencils => src/pystencils}/simplificationfactory.py (100%) rename {pystencils => src/pystencils}/slicing.py (100%) rename {pystencils => src/pystencils}/spatial_coordinates.py (100%) rename {pystencils => src/pystencils}/stencil.py (100%) rename {pystencils => src/pystencils}/sympyextensions.py (100%) rename {pystencils => src/pystencils}/timeloop.py (100%) rename {pystencils => src/pystencils}/transformations.py (100%) rename {pystencils => src/pystencils}/typing/__init__.py (100%) rename {pystencils => src/pystencils}/typing/cast_functions.py (100%) rename {pystencils => src/pystencils}/typing/leaf_typing.py (100%) rename {pystencils => src/pystencils}/typing/transformations.py (100%) rename {pystencils => src/pystencils}/typing/typed_sympy.py (100%) rename {pystencils => src/pystencils}/typing/types.py (100%) rename {pystencils => src/pystencils}/typing/utilities.py (100%) rename {pystencils => src/pystencils}/utils.py (100%) rename {pystencils_tests => tests}/__init__.py (100%) rename {pystencils_tests => tests}/test_Min_Max.py (100%) rename {pystencils_tests => tests}/test_abs.py (100%) rename {pystencils_tests => tests}/test_address_of.py (100%) rename {pystencils_tests => tests}/test_aligned_array.py (100%) rename {pystencils_tests => tests}/test_assignment_collection.py (100%) rename {pystencils_tests => tests}/test_assignment_collection_dict_conversion.py (100%) rename {pystencils_tests => tests}/test_assignment_from_stencil.py (100%) rename {pystencils_tests => tests}/test_astnodes.py (100%) rename {pystencils_tests => tests}/test_augmented_assignment.py (100%) rename {pystencils_tests => tests}/test_base_pointer_specification.py (100%) rename {pystencils_tests => tests}/test_bit_masks.py (100%) rename {pystencils_tests => tests}/test_blocking.py (100%) rename {pystencils_tests => tests}/test_blocking_staggered.py (100%) rename {pystencils_tests => tests}/test_boundary.py (100%) rename {pystencils_tests => tests}/test_boundary_indexlist_creation.py (100%) rename {pystencils_tests => tests}/test_buffer.py (100%) rename {pystencils_tests => tests}/test_buffer_gpu.py (100%) rename {pystencils_tests => tests}/test_conditional_field_access.py (100%) rename {pystencils_tests => tests}/test_conditional_vec.py (100%) rename {pystencils_tests => tests}/test_config.py (100%) rename {pystencils_tests => tests}/test_create_kernel_config.py (100%) rename {pystencils_tests => tests}/test_custom_backends.py (100%) rename {pystencils_tests => tests}/test_data/datahandling_load_test.npz (100%) rename {pystencils_tests => tests}/test_data/datahandling_parallel_load_test/dst.dat (100%) rename {pystencils_tests => tests}/test_data/datahandling_parallel_load_test/src.dat (100%) rename {pystencils_tests => tests}/test_data/datahandling_parallel_save_test/dst.dat (100%) rename {pystencils_tests => tests}/test_data/datahandling_parallel_save_test/src.dat (100%) rename {pystencils_tests => tests}/test_data/datahandling_save_test.npz (100%) rename {pystencils_tests => tests}/test_data/lenna.png (100%) rename {pystencils_tests => tests}/test_data/test_vessel2d_mask.png (100%) rename {pystencils_tests => tests}/test_datahandling.py (100%) rename {pystencils_tests => tests}/test_datahandling_parallel.py (99%) rename {pystencils_tests => tests}/test_derivative.py (100%) rename {pystencils_tests => tests}/test_dot_printer.ipynb (100%) rename {pystencils_tests => tests}/test_dot_printer.py (100%) rename {pystencils_tests => tests}/test_dtype_check.py (100%) rename {pystencils_tests => tests}/test_fast_approximation.py (100%) rename {pystencils_tests => tests}/test_fd_derivation.ipynb (100%) rename {pystencils_tests => tests}/test_fd_derivation_via_rotation.ipynb (100%) rename {pystencils_tests => tests}/test_fd_derivative.py (100%) rename {pystencils_tests => tests}/test_field.py (100%) rename {pystencils_tests => tests}/test_field_access_poly.py (100%) rename {pystencils_tests => tests}/test_field_equality.ipynb (100%) rename {pystencils_tests => tests}/test_finite_differences.py (100%) rename {pystencils_tests => tests}/test_floor_ceil_int_optimization.py (100%) rename {pystencils_tests => tests}/test_fvm.py (100%) rename {pystencils_tests => tests}/test_global_definitions.py (100%) rename {pystencils_tests => tests}/test_gpu.py (100%) rename {pystencils_tests => tests}/test_half_precision.py (100%) rename {pystencils_tests => tests}/test_helpful_errors.py (100%) rename {pystencils_tests => tests}/test_indexed_kernels.py (100%) rename {pystencils_tests => tests}/test_jacobi_cbackend.py (100%) rename {pystencils_tests => tests}/test_json_backend.py (100%) rename {pystencils_tests => tests}/test_json_serializer.py (100%) rename {pystencils_tests => tests}/test_jupyter_extensions.ipynb (100%) rename {pystencils_tests => tests}/test_logarithm.py (100%) rename {pystencils_tests => tests}/test_loop_cutting.py (100%) rename {pystencils_tests => tests}/test_match_subs_for_assignment_collection.py (100%) rename {pystencils_tests => tests}/test_math_functions.py (100%) rename {pystencils_tests => tests}/test_modulo.py (100%) rename {pystencils_tests => tests}/test_move_constant_before_loop.py (100%) rename {pystencils_tests => tests}/test_nodecollection.py (100%) rename {pystencils_tests => tests}/test_parameterstudy.py (100%) rename {pystencils_tests => tests}/test_phasefield_dentritic_3D.ipynb (100%) rename {pystencils_tests => tests}/test_pickle_support.py (100%) rename {pystencils_tests => tests}/test_plot.py (100%) rename {pystencils_tests => tests}/test_printing.py (100%) rename {pystencils_tests => tests}/test_quicktests.py (100%) rename {pystencils_tests => tests}/test_random.py (100%) rename {pystencils_tests => tests}/test_sharedmethodcache.py (100%) rename {pystencils_tests => tests}/test_simplification_strategy.py (100%) rename {pystencils_tests => tests}/test_simplifications.py (100%) rename {pystencils_tests => tests}/test_size_and_layout_checks.py (100%) rename {pystencils_tests => tests}/test_sliced_iteration.py (100%) rename {pystencils_tests => tests}/test_slicing.py (100%) rename {pystencils_tests => tests}/test_small_block_benchmark.ipynb (100%) rename {pystencils_tests => tests}/test_source_code_comment.py (100%) rename {pystencils_tests => tests}/test_staggered_kernel.py (100%) rename {pystencils_tests => tests}/test_stencil_plot.ipynb (100%) rename {pystencils_tests => tests}/test_stencils.py (100%) rename {pystencils_tests => tests}/test_struct_types.py (100%) rename {pystencils_tests => tests}/test_subexpression_insertion.py (100%) rename {pystencils_tests => tests}/test_sum_prod.py (100%) rename {pystencils_tests => tests}/test_sympyextensions.py (100%) rename {pystencils_tests => tests}/test_timeloop.py (100%) rename {pystencils_tests => tests}/test_transformations.py (100%) rename {pystencils_tests => tests}/test_type_interference.py (100%) rename {pystencils_tests => tests}/test_types.py (100%) rename {pystencils_tests => tests}/test_utils.py (100%) rename {pystencils_tests => tests}/test_vectorization.py (100%) rename {pystencils_tests => tests}/test_vectorization_specific.py (100%) rename {pystencils_tests => tests}/test_version_string.py (100%) diff --git a/.flake8 b/.flake8 index 5701df707..8b65d20eb 100644 --- a/.flake8 +++ b/.flake8 @@ -1,6 +1,6 @@ [flake8] max-line-length=120 -exclude=pystencils/jupyter.py, - pystencils/plot.py - pystencils/session.py +exclude=src/pystencils/jupyter.py, + src/pystencils/plot.py + src/pystencils/session.py ignore = W293 W503 W291 C901 E741 diff --git a/.gitignore b/.gitignore index e6e71f76d..992284e7d 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,7 @@ __pycache__ *.vti /build /dist -/*.egg-info +*.egg-info .cache _build /html_doc @@ -15,12 +15,12 @@ _build _local_tmp RELEASE-VERSION test-report -pystencils/boundaries/createindexlistcython.c -pystencils/boundaries/createindexlistcython.*.so -pystencils_tests/tmp -pystencils_tests/var -pystencils_tests/kerncraft_inputs/.2d-5pt.c_kerncraft/ -pystencils_tests/kerncraft_inputs/.3d-7pt.c_kerncraft/ +src/pystencils/boundaries/createindexlistcython.c +src/pystencils/boundaries/createindexlistcython.*.so +tests/tmp +tests/var +tests/kerncraft_inputs/.2d-5pt.c_kerncraft/ +tests/kerncraft_inputs/.3d-7pt.c_kerncraft/ report.xml coverage_report/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3680e33aa..c05cdb088 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -13,16 +13,17 @@ tests-and-coverage: variables: - $ENABLE_NIGHTLY_BUILDS image: i10git.cs.fau.de:5005/pycodegen/pycodegen/full + before_script: + - pip install -e . script: - - pip install sympy --upgrade - env - pip list - export NUM_CORES=$(nproc --all) - mkdir -p ~/.config/matplotlib - echo "backend:template" > ~/.config/matplotlib/matplotlibrc - mkdir public - - py.test -v -n $NUM_CORES --cov-report html --cov-report xml --cov-report term --cov=. -m "not longrun" --html test-report/index.html --junitxml=report.xml - - python3 -m coverage xml + - pytest -v -n $NUM_CORES --cov-report html --cov-report xml --cov-report term --cov=. -m "not longrun" --html test-report/index.html --junitxml=report.xml + - python -m coverage xml tags: - docker - cuda11 @@ -45,8 +46,10 @@ tests-and-coverage-with-longrun: when: manual allow_failure: true image: i10git.cs.fau.de:5005/pycodegen/pycodegen/full - script: + before_script: - pip install sympy --upgrade + - pip install -e . + script: - env - pip list - export NUM_CORES=$(nproc --all) @@ -66,9 +69,12 @@ latest-python: variables: - $ENABLE_NIGHTLY_BUILDS image: i10git.cs.fau.de:5005/pycodegen/pycodegen/latest_python + before_script: + - pip install -e . script: - env - pip list + - pip install -e . - export NUM_CORES=$(nproc --all) - mkdir -p ~/.config/matplotlib - echo "backend:template" > ~/.config/matplotlib/matplotlibrc @@ -107,18 +113,16 @@ ubuntu: - $ENABLE_NIGHTLY_BUILDS image: i10git.cs.fau.de:5005/pycodegen/pycodegen/ubuntu before_script: - - apt-get -y remove python3-sympy - ln -s /usr/include/locale.h /usr/include/xlocale.h - - pip3 install `grep -Eo 'sympy[>=]+[0-9\.]+' pyproject.toml | sed 's/>/=/g'` - # - pip3 install `grep -Eo 'sympy[>=]+[0-9\.]+' setup.py | sed 's/>/=/g'` + - pip3 install -e . script: - export NUM_CORES=$(nproc --all) - mkdir -p ~/.config/matplotlib - echo "backend:template" > ~/.config/matplotlib/matplotlibrc - sed -i 's/--doctest-modules //g' pytest.ini - env - - pip3 list - - pytest-3 -v -n $NUM_CORES -m "not longrun" --junitxml=report.xml + - pip list + - pytest -v -n $NUM_CORES -m "not longrun" --junitxml=report.xml tags: - docker - cuda11 @@ -134,6 +138,8 @@ ubuntu: variables: - $ENABLE_NIGHTLY_BUILDS before_script: &multiarch_before_script + # - pip3 install -v . + - export PYTHONPATH=src - python3 -c "import pystencils as ps; ps.cpu.cpujit.read_config()" - sed -i '/^fail_under.*/d' pytest.ini script: @@ -143,7 +149,7 @@ ubuntu: - sed -i 's/--doctest-modules //g' pytest.ini - env - pip3 list - - pytest-3 -v -n $NUM_CORES --junitxml=report.xml pystencils_tests/test_*vec*.py pystencils_tests/test_random.py pystencils_tests/test_half_precision.py + - python3 -m pytest -v -n $NUM_CORES --junitxml=report.xml tests/test_*vec*.py tests/test_random.py tests/test_half_precision.py tags: - docker - AVX @@ -199,6 +205,8 @@ minimal-conda: variables: - $ENABLE_NIGHTLY_BUILDS image: i10git.cs.fau.de:5005/pycodegen/pycodegen/minimal_conda + before_script: + - pip install -e . script: - python quicktest.py tags: @@ -212,6 +220,8 @@ minimal-sympy-master: variables: - $ENABLE_NIGHTLY_BUILDS image: i10git.cs.fau.de:5005/pycodegen/pycodegen/minimal_conda + before_script: + - pip install -e . script: - python -m pip install --upgrade git+https://github.com/sympy/sympy.git - python quicktest.py @@ -275,7 +285,7 @@ flake8-lint: - $ENABLE_NIGHTLY_BUILDS image: i10git.cs.fau.de:5005/pycodegen/pycodegen/full script: - - flake8 pystencils + - flake8 src/pystencils tags: - docker @@ -283,8 +293,9 @@ flake8-lint: build-documentation: stage: test image: i10git.cs.fau.de:5005/pycodegen/pycodegen/documentation + before_script: + - pip install -e . script: - - export PYTHONPATH=`pwd` - mkdir html_doc - sphinx-build -b html doc html_doc - sphinx-build -W -b html doc html_doc diff --git a/conftest.py b/conftest.py index 040ddf595..70f4f241f 100644 --- a/conftest.py +++ b/conftest.py @@ -8,7 +8,7 @@ import nbformat import pytest from nbconvert import PythonExporter -from pystencils.boundaries.createindexlistcython import * # NOQA +from pystencils.boundaries.createindexlist import * # NOQA # Trigger config file reading / creation once - to avoid race conditions when multiple instances are creating it # at the same time from pystencils.cpu import cpujit @@ -40,48 +40,48 @@ def add_path_to_ignore(path): collect_ignore = [os.path.join(SCRIPT_FOLDER, "doc", "conf.py"), - os.path.join(SCRIPT_FOLDER, "pystencils", "opencl", "opencl.autoinit")] -add_path_to_ignore('pystencils_tests/benchmark') + os.path.join(SCRIPT_FOLDER, "src", "pystencils", "opencl", "opencl.autoinit")] +add_path_to_ignore('tests/benchmark') add_path_to_ignore('_local_tmp') try: import cupy except ImportError: - collect_ignore += [os.path.join(SCRIPT_FOLDER, "pystencils_tests/test_gpu.py")] - add_path_to_ignore('pystencils/gpu') + collect_ignore += [os.path.join(SCRIPT_FOLDER, "tests/test_gpu.py")] + add_path_to_ignore('src/pystencils/gpu') try: import waLBerla except ImportError: - collect_ignore += [os.path.join(SCRIPT_FOLDER, "pystencils_tests/test_aligned_array.py"), - os.path.join(SCRIPT_FOLDER, "pystencils_tests/test_datahandling_parallel.py"), + collect_ignore += [os.path.join(SCRIPT_FOLDER, "tests/test_aligned_array.py"), + os.path.join(SCRIPT_FOLDER, "tests/test_datahandling_parallel.py"), os.path.join(SCRIPT_FOLDER, "doc/notebooks/03_tutorial_datahandling.ipynb"), - os.path.join(SCRIPT_FOLDER, "pystencils/datahandling/parallel_datahandling.py"), - os.path.join(SCRIPT_FOLDER, "pystencils_tests/test_small_block_benchmark.ipynb")] + os.path.join(SCRIPT_FOLDER, "src/pystencils/datahandling/parallel_datahandling.py"), + os.path.join(SCRIPT_FOLDER, "tests/test_small_block_benchmark.ipynb")] try: import blitzdb except ImportError: - add_path_to_ignore('pystencils/runhelper') - collect_ignore += [os.path.join(SCRIPT_FOLDER, "pystencils_tests/test_parameterstudy.py")] - collect_ignore += [os.path.join(SCRIPT_FOLDER, "pystencils_tests/test_json_serializer.py")] + add_path_to_ignore('src/pystencils/runhelper') + collect_ignore += [os.path.join(SCRIPT_FOLDER, "tests/test_parameterstudy.py")] + collect_ignore += [os.path.join(SCRIPT_FOLDER, "tests/test_json_serializer.py")] try: import islpy except ImportError: - collect_ignore += [os.path.join(SCRIPT_FOLDER, "pystencils/integer_set_analysis.py")] + collect_ignore += [os.path.join(SCRIPT_FOLDER, "src/pystencils/integer_set_analysis.py")] try: import graphviz except ImportError: - collect_ignore += [os.path.join(SCRIPT_FOLDER, "pystencils/backends/dot.py")] + collect_ignore += [os.path.join(SCRIPT_FOLDER, "src/pystencils/backends/dot.py")] collect_ignore += [os.path.join(SCRIPT_FOLDER, "doc/notebooks/01_tutorial_getting_started.ipynb")] try: import pyevtk except ImportError: - collect_ignore += [os.path.join(SCRIPT_FOLDER, "pystencils/datahandling/vtk.py")] + collect_ignore += [os.path.join(SCRIPT_FOLDER, "src/pystencils/datahandling/vtk.py")] collect_ignore += [os.path.join(SCRIPT_FOLDER, 'setup.py')] diff --git a/pyproject.toml b/pyproject.toml index f815ff304..44dcfbf5a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ authors = [ ] license = { file = "COPYING.txt" } requires-python = ">=3.10" -dependencies = ["sympy>=1.6,<=1.11.1", "numpy>=1.8.0", "appdirs", "joblib"] +dependencies = ["sympy>=1.6,<=1.11.1", "numpy>=1.8.0", "appdirs", "joblib", "pyyaml"] classifiers = [ "Development Status :: 4 - Beta", "Framework :: Jupyter", @@ -62,12 +62,14 @@ tests = [ 'nbformat', 'nbconvert', 'ipython', + 'matplotlib', + 'py-cpuinfo', 'randomgen>=1.18', ] [build-system] requires = [ - "setuptools>=69", + "setuptools>=61", "versioneer>=0.29", "tomli; python_version < '3.11'", # 'Cython' @@ -84,7 +86,7 @@ pystencils = [ ] [tool.setuptools.packages.find] -where = ["."] +where = ["src"] include = ["pystencils", "pystencils.*"] namespaces = false @@ -94,7 +96,7 @@ namespaces = false # resulting files. VCS = "git" style = "pep440" -versionfile_source = "pystencils/_version.py" +versionfile_source = "src/pystencils/_version.py" versionfile_build = "pystencils/_version.py" tag_prefix = "release/" parentdir_prefix = "pystencils-" diff --git a/pytest.ini b/pytest.ini index 143e8aa34..8c445bea6 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,4 +1,6 @@ [pytest] +testpaths = src tests doc/notebooks +pythonpath = src python_files = test_*.py *_test.py scenario_*.py norecursedirs = *.egg-info .git .cache .ipynb_checkpoints htmlcov addopts = --doctest-modules --durations=20 --cov-config pytest.ini @@ -17,20 +19,21 @@ filterwarnings = [run] branch = True -source = pystencils - pystencils_tests +source = src/pystencils + tests omit = doc/* - pystencils_tests/* + tests/* setup.py + quicktest.py conftest.py versioneer.py - pystencils/jupytersetup.py - pystencils/cpu/msvc_detection.py - pystencils/sympy_gmpy_bug_workaround.py - pystencils/cache.py - pystencils/pacxx/benchmark.py - pystencils/_version.py + src/pystencils/jupytersetup.py + src/pystencils/cpu/msvc_detection.py + src/pystencils/sympy_gmpy_bug_workaround.py + src/pystencils/cache.py + src/pystencils/pacxx/benchmark.py + src/pystencils/_version.py venv/ [report] diff --git a/quicktest.py b/quicktest.py index 04b71cb49..804a70ce9 100644 --- a/quicktest.py +++ b/quicktest.py @@ -2,7 +2,7 @@ from contextlib import redirect_stdout import io -from pystencils_tests.test_quicktests import ( +from tests.test_quicktests import ( test_basic_kernel, test_basic_blocking_staggered, test_basic_vectorization, diff --git a/setup.py b/setup.py index 8c99d7c3c..188044a46 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,12 @@ -import os +from setuptools import setup, __version__ as setuptools_version -from setuptools import Extension, setup +if int(setuptools_version.split('.')[0]) < 61: + raise Exception( + "[ERROR] pystencils requires at least setuptools version 61 to install.\n" + "If this error occurs during an installation via pip, it is likely that there is a conflict between " + "versions of setuptools installed by pip and the system package manager. " + "In this case, it is recommended to install pystencils into a virtual environment instead." + ) import versioneer diff --git a/pystencils/__init__.py b/src/pystencils/__init__.py similarity index 100% rename from pystencils/__init__.py rename to src/pystencils/__init__.py diff --git a/pystencils/_version.py b/src/pystencils/_version.py similarity index 100% rename from pystencils/_version.py rename to src/pystencils/_version.py diff --git a/pystencils/alignedarray.py b/src/pystencils/alignedarray.py similarity index 100% rename from pystencils/alignedarray.py rename to src/pystencils/alignedarray.py diff --git a/pystencils/assignment.py b/src/pystencils/assignment.py similarity index 100% rename from pystencils/assignment.py rename to src/pystencils/assignment.py diff --git a/pystencils/astnodes.py b/src/pystencils/astnodes.py similarity index 100% rename from pystencils/astnodes.py rename to src/pystencils/astnodes.py diff --git a/pystencils/backends/__init__.py b/src/pystencils/backends/__init__.py similarity index 100% rename from pystencils/backends/__init__.py rename to src/pystencils/backends/__init__.py diff --git a/pystencils/backends/arm_instruction_sets.py b/src/pystencils/backends/arm_instruction_sets.py similarity index 100% rename from pystencils/backends/arm_instruction_sets.py rename to src/pystencils/backends/arm_instruction_sets.py diff --git a/pystencils/backends/cbackend.py b/src/pystencils/backends/cbackend.py similarity index 100% rename from pystencils/backends/cbackend.py rename to src/pystencils/backends/cbackend.py diff --git a/pystencils/backends/cuda_backend.py b/src/pystencils/backends/cuda_backend.py similarity index 100% rename from pystencils/backends/cuda_backend.py rename to src/pystencils/backends/cuda_backend.py diff --git a/pystencils/backends/dot.py b/src/pystencils/backends/dot.py similarity index 100% rename from pystencils/backends/dot.py rename to src/pystencils/backends/dot.py diff --git a/pystencils/backends/json.py b/src/pystencils/backends/json.py similarity index 100% rename from pystencils/backends/json.py rename to src/pystencils/backends/json.py diff --git a/pystencils/backends/ppc_instruction_sets.py b/src/pystencils/backends/ppc_instruction_sets.py similarity index 100% rename from pystencils/backends/ppc_instruction_sets.py rename to src/pystencils/backends/ppc_instruction_sets.py diff --git a/pystencils/backends/riscv_instruction_sets.py b/src/pystencils/backends/riscv_instruction_sets.py similarity index 100% rename from pystencils/backends/riscv_instruction_sets.py rename to src/pystencils/backends/riscv_instruction_sets.py diff --git a/pystencils/backends/simd_instruction_sets.py b/src/pystencils/backends/simd_instruction_sets.py similarity index 100% rename from pystencils/backends/simd_instruction_sets.py rename to src/pystencils/backends/simd_instruction_sets.py diff --git a/pystencils/backends/x86_instruction_sets.py b/src/pystencils/backends/x86_instruction_sets.py similarity index 100% rename from pystencils/backends/x86_instruction_sets.py rename to src/pystencils/backends/x86_instruction_sets.py diff --git a/pystencils/bit_masks.py b/src/pystencils/bit_masks.py similarity index 100% rename from pystencils/bit_masks.py rename to src/pystencils/bit_masks.py diff --git a/pystencils/boundaries/__init__.py b/src/pystencils/boundaries/__init__.py similarity index 100% rename from pystencils/boundaries/__init__.py rename to src/pystencils/boundaries/__init__.py diff --git a/pystencils/boundaries/boundaryconditions.py b/src/pystencils/boundaries/boundaryconditions.py similarity index 100% rename from pystencils/boundaries/boundaryconditions.py rename to src/pystencils/boundaries/boundaryconditions.py diff --git a/pystencils/boundaries/boundaryhandling.py b/src/pystencils/boundaries/boundaryhandling.py similarity index 100% rename from pystencils/boundaries/boundaryhandling.py rename to src/pystencils/boundaries/boundaryhandling.py diff --git a/pystencils/boundaries/createindexlist.py b/src/pystencils/boundaries/createindexlist.py similarity index 100% rename from pystencils/boundaries/createindexlist.py rename to src/pystencils/boundaries/createindexlist.py diff --git a/pystencils/boundaries/createindexlistcython.pyx b/src/pystencils/boundaries/createindexlistcython.pyx similarity index 100% rename from pystencils/boundaries/createindexlistcython.pyx rename to src/pystencils/boundaries/createindexlistcython.pyx diff --git a/pystencils/boundaries/inkernel.py b/src/pystencils/boundaries/inkernel.py similarity index 100% rename from pystencils/boundaries/inkernel.py rename to src/pystencils/boundaries/inkernel.py diff --git a/pystencils/cache.py b/src/pystencils/cache.py similarity index 100% rename from pystencils/cache.py rename to src/pystencils/cache.py diff --git a/pystencils/config.py b/src/pystencils/config.py similarity index 100% rename from pystencils/config.py rename to src/pystencils/config.py diff --git a/pystencils/cpu/__init__.py b/src/pystencils/cpu/__init__.py similarity index 100% rename from pystencils/cpu/__init__.py rename to src/pystencils/cpu/__init__.py diff --git a/pystencils/cpu/cpujit.py b/src/pystencils/cpu/cpujit.py similarity index 100% rename from pystencils/cpu/cpujit.py rename to src/pystencils/cpu/cpujit.py diff --git a/pystencils/cpu/kernelcreation.py b/src/pystencils/cpu/kernelcreation.py similarity index 100% rename from pystencils/cpu/kernelcreation.py rename to src/pystencils/cpu/kernelcreation.py diff --git a/pystencils/cpu/msvc_detection.py b/src/pystencils/cpu/msvc_detection.py similarity index 100% rename from pystencils/cpu/msvc_detection.py rename to src/pystencils/cpu/msvc_detection.py diff --git a/pystencils/cpu/vectorization.py b/src/pystencils/cpu/vectorization.py similarity index 100% rename from pystencils/cpu/vectorization.py rename to src/pystencils/cpu/vectorization.py diff --git a/pystencils/datahandling/__init__.py b/src/pystencils/datahandling/__init__.py similarity index 100% rename from pystencils/datahandling/__init__.py rename to src/pystencils/datahandling/__init__.py diff --git a/pystencils/datahandling/blockiteration.py b/src/pystencils/datahandling/blockiteration.py similarity index 100% rename from pystencils/datahandling/blockiteration.py rename to src/pystencils/datahandling/blockiteration.py diff --git a/pystencils/datahandling/datahandling_interface.py b/src/pystencils/datahandling/datahandling_interface.py similarity index 100% rename from pystencils/datahandling/datahandling_interface.py rename to src/pystencils/datahandling/datahandling_interface.py diff --git a/pystencils/datahandling/parallel_datahandling.py b/src/pystencils/datahandling/parallel_datahandling.py similarity index 100% rename from pystencils/datahandling/parallel_datahandling.py rename to src/pystencils/datahandling/parallel_datahandling.py diff --git a/pystencils/datahandling/serial_datahandling.py b/src/pystencils/datahandling/serial_datahandling.py similarity index 100% rename from pystencils/datahandling/serial_datahandling.py rename to src/pystencils/datahandling/serial_datahandling.py diff --git a/pystencils/datahandling/vtk.py b/src/pystencils/datahandling/vtk.py similarity index 100% rename from pystencils/datahandling/vtk.py rename to src/pystencils/datahandling/vtk.py diff --git a/pystencils/display_utils.py b/src/pystencils/display_utils.py similarity index 100% rename from pystencils/display_utils.py rename to src/pystencils/display_utils.py diff --git a/pystencils/enums.py b/src/pystencils/enums.py similarity index 100% rename from pystencils/enums.py rename to src/pystencils/enums.py diff --git a/pystencils/fast_approximation.py b/src/pystencils/fast_approximation.py similarity index 100% rename from pystencils/fast_approximation.py rename to src/pystencils/fast_approximation.py diff --git a/pystencils/fd/__init__.py b/src/pystencils/fd/__init__.py similarity index 100% rename from pystencils/fd/__init__.py rename to src/pystencils/fd/__init__.py diff --git a/pystencils/fd/derivation.py b/src/pystencils/fd/derivation.py similarity index 100% rename from pystencils/fd/derivation.py rename to src/pystencils/fd/derivation.py diff --git a/pystencils/fd/derivative.py b/src/pystencils/fd/derivative.py similarity index 100% rename from pystencils/fd/derivative.py rename to src/pystencils/fd/derivative.py diff --git a/pystencils/fd/finitedifferences.py b/src/pystencils/fd/finitedifferences.py similarity index 100% rename from pystencils/fd/finitedifferences.py rename to src/pystencils/fd/finitedifferences.py diff --git a/pystencils/fd/finitevolumes.py b/src/pystencils/fd/finitevolumes.py similarity index 100% rename from pystencils/fd/finitevolumes.py rename to src/pystencils/fd/finitevolumes.py diff --git a/pystencils/fd/spatial.py b/src/pystencils/fd/spatial.py similarity index 100% rename from pystencils/fd/spatial.py rename to src/pystencils/fd/spatial.py diff --git a/pystencils/field.py b/src/pystencils/field.py similarity index 100% rename from pystencils/field.py rename to src/pystencils/field.py diff --git a/pystencils/functions.py b/src/pystencils/functions.py similarity index 100% rename from pystencils/functions.py rename to src/pystencils/functions.py diff --git a/pystencils/gpu/__init__.py b/src/pystencils/gpu/__init__.py similarity index 100% rename from pystencils/gpu/__init__.py rename to src/pystencils/gpu/__init__.py diff --git a/pystencils/gpu/gpu_array_handler.py b/src/pystencils/gpu/gpu_array_handler.py similarity index 100% rename from pystencils/gpu/gpu_array_handler.py rename to src/pystencils/gpu/gpu_array_handler.py diff --git a/pystencils/gpu/gpujit.py b/src/pystencils/gpu/gpujit.py similarity index 100% rename from pystencils/gpu/gpujit.py rename to src/pystencils/gpu/gpujit.py diff --git a/pystencils/gpu/indexing.py b/src/pystencils/gpu/indexing.py similarity index 100% rename from pystencils/gpu/indexing.py rename to src/pystencils/gpu/indexing.py diff --git a/pystencils/gpu/kernelcreation.py b/src/pystencils/gpu/kernelcreation.py similarity index 100% rename from pystencils/gpu/kernelcreation.py rename to src/pystencils/gpu/kernelcreation.py diff --git a/pystencils/gpu/periodicity.py b/src/pystencils/gpu/periodicity.py similarity index 100% rename from pystencils/gpu/periodicity.py rename to src/pystencils/gpu/periodicity.py diff --git a/pystencils/include/PyStencilsField.h b/src/pystencils/include/PyStencilsField.h similarity index 100% rename from pystencils/include/PyStencilsField.h rename to src/pystencils/include/PyStencilsField.h diff --git a/pystencils/include/__init__.py b/src/pystencils/include/__init__.py similarity index 100% rename from pystencils/include/__init__.py rename to src/pystencils/include/__init__.py diff --git a/pystencils/include/aesni_rand.h b/src/pystencils/include/aesni_rand.h similarity index 100% rename from pystencils/include/aesni_rand.h rename to src/pystencils/include/aesni_rand.h diff --git a/pystencils/include/arm_neon_helpers.h b/src/pystencils/include/arm_neon_helpers.h similarity index 100% rename from pystencils/include/arm_neon_helpers.h rename to src/pystencils/include/arm_neon_helpers.h diff --git a/pystencils/include/gpu_defines.h b/src/pystencils/include/gpu_defines.h similarity index 100% rename from pystencils/include/gpu_defines.h rename to src/pystencils/include/gpu_defines.h diff --git a/pystencils/include/half_precision.h b/src/pystencils/include/half_precision.h similarity index 100% rename from pystencils/include/half_precision.h rename to src/pystencils/include/half_precision.h diff --git a/pystencils/include/myintrin.h b/src/pystencils/include/myintrin.h similarity index 100% rename from pystencils/include/myintrin.h rename to src/pystencils/include/myintrin.h diff --git a/pystencils/include/philox_rand.h b/src/pystencils/include/philox_rand.h similarity index 100% rename from pystencils/include/philox_rand.h rename to src/pystencils/include/philox_rand.h diff --git a/pystencils/include/ppc_altivec_helpers.h b/src/pystencils/include/ppc_altivec_helpers.h similarity index 100% rename from pystencils/include/ppc_altivec_helpers.h rename to src/pystencils/include/ppc_altivec_helpers.h diff --git a/pystencils/integer_functions.py b/src/pystencils/integer_functions.py similarity index 100% rename from pystencils/integer_functions.py rename to src/pystencils/integer_functions.py diff --git a/pystencils/integer_set_analysis.py b/src/pystencils/integer_set_analysis.py similarity index 100% rename from pystencils/integer_set_analysis.py rename to src/pystencils/integer_set_analysis.py diff --git a/pystencils/jupyter.py b/src/pystencils/jupyter.py similarity index 100% rename from pystencils/jupyter.py rename to src/pystencils/jupyter.py diff --git a/pystencils/kernel_contrains_check.py b/src/pystencils/kernel_contrains_check.py similarity index 100% rename from pystencils/kernel_contrains_check.py rename to src/pystencils/kernel_contrains_check.py diff --git a/pystencils/kernel_decorator.py b/src/pystencils/kernel_decorator.py similarity index 100% rename from pystencils/kernel_decorator.py rename to src/pystencils/kernel_decorator.py diff --git a/pystencils/kernel_wrapper.py b/src/pystencils/kernel_wrapper.py similarity index 100% rename from pystencils/kernel_wrapper.py rename to src/pystencils/kernel_wrapper.py diff --git a/pystencils/kernelcreation.py b/src/pystencils/kernelcreation.py similarity index 100% rename from pystencils/kernelcreation.py rename to src/pystencils/kernelcreation.py diff --git a/pystencils/node_collection.py b/src/pystencils/node_collection.py similarity index 100% rename from pystencils/node_collection.py rename to src/pystencils/node_collection.py diff --git a/pystencils/placeholder_function.py b/src/pystencils/placeholder_function.py similarity index 100% rename from pystencils/placeholder_function.py rename to src/pystencils/placeholder_function.py diff --git a/pystencils/plot.py b/src/pystencils/plot.py similarity index 100% rename from pystencils/plot.py rename to src/pystencils/plot.py diff --git a/pystencils/rng.py b/src/pystencils/rng.py similarity index 100% rename from pystencils/rng.py rename to src/pystencils/rng.py diff --git a/pystencils/runhelper/__init__.py b/src/pystencils/runhelper/__init__.py similarity index 100% rename from pystencils/runhelper/__init__.py rename to src/pystencils/runhelper/__init__.py diff --git a/pystencils/runhelper/db.py b/src/pystencils/runhelper/db.py similarity index 100% rename from pystencils/runhelper/db.py rename to src/pystencils/runhelper/db.py diff --git a/pystencils/runhelper/parameterstudy.py b/src/pystencils/runhelper/parameterstudy.py similarity index 100% rename from pystencils/runhelper/parameterstudy.py rename to src/pystencils/runhelper/parameterstudy.py diff --git a/pystencils/session.py b/src/pystencils/session.py similarity index 100% rename from pystencils/session.py rename to src/pystencils/session.py diff --git a/pystencils/simp/__init__.py b/src/pystencils/simp/__init__.py similarity index 100% rename from pystencils/simp/__init__.py rename to src/pystencils/simp/__init__.py diff --git a/pystencils/simp/assignment_collection.py b/src/pystencils/simp/assignment_collection.py similarity index 100% rename from pystencils/simp/assignment_collection.py rename to src/pystencils/simp/assignment_collection.py diff --git a/pystencils/simp/simplifications.py b/src/pystencils/simp/simplifications.py similarity index 100% rename from pystencils/simp/simplifications.py rename to src/pystencils/simp/simplifications.py diff --git a/pystencils/simp/simplificationstrategy.py b/src/pystencils/simp/simplificationstrategy.py similarity index 100% rename from pystencils/simp/simplificationstrategy.py rename to src/pystencils/simp/simplificationstrategy.py diff --git a/pystencils/simp/subexpression_insertion.py b/src/pystencils/simp/subexpression_insertion.py similarity index 100% rename from pystencils/simp/subexpression_insertion.py rename to src/pystencils/simp/subexpression_insertion.py diff --git a/pystencils/simplificationfactory.py b/src/pystencils/simplificationfactory.py similarity index 100% rename from pystencils/simplificationfactory.py rename to src/pystencils/simplificationfactory.py diff --git a/pystencils/slicing.py b/src/pystencils/slicing.py similarity index 100% rename from pystencils/slicing.py rename to src/pystencils/slicing.py diff --git a/pystencils/spatial_coordinates.py b/src/pystencils/spatial_coordinates.py similarity index 100% rename from pystencils/spatial_coordinates.py rename to src/pystencils/spatial_coordinates.py diff --git a/pystencils/stencil.py b/src/pystencils/stencil.py similarity index 100% rename from pystencils/stencil.py rename to src/pystencils/stencil.py diff --git a/pystencils/sympyextensions.py b/src/pystencils/sympyextensions.py similarity index 100% rename from pystencils/sympyextensions.py rename to src/pystencils/sympyextensions.py diff --git a/pystencils/timeloop.py b/src/pystencils/timeloop.py similarity index 100% rename from pystencils/timeloop.py rename to src/pystencils/timeloop.py diff --git a/pystencils/transformations.py b/src/pystencils/transformations.py similarity index 100% rename from pystencils/transformations.py rename to src/pystencils/transformations.py diff --git a/pystencils/typing/__init__.py b/src/pystencils/typing/__init__.py similarity index 100% rename from pystencils/typing/__init__.py rename to src/pystencils/typing/__init__.py diff --git a/pystencils/typing/cast_functions.py b/src/pystencils/typing/cast_functions.py similarity index 100% rename from pystencils/typing/cast_functions.py rename to src/pystencils/typing/cast_functions.py diff --git a/pystencils/typing/leaf_typing.py b/src/pystencils/typing/leaf_typing.py similarity index 100% rename from pystencils/typing/leaf_typing.py rename to src/pystencils/typing/leaf_typing.py diff --git a/pystencils/typing/transformations.py b/src/pystencils/typing/transformations.py similarity index 100% rename from pystencils/typing/transformations.py rename to src/pystencils/typing/transformations.py diff --git a/pystencils/typing/typed_sympy.py b/src/pystencils/typing/typed_sympy.py similarity index 100% rename from pystencils/typing/typed_sympy.py rename to src/pystencils/typing/typed_sympy.py diff --git a/pystencils/typing/types.py b/src/pystencils/typing/types.py similarity index 100% rename from pystencils/typing/types.py rename to src/pystencils/typing/types.py diff --git a/pystencils/typing/utilities.py b/src/pystencils/typing/utilities.py similarity index 100% rename from pystencils/typing/utilities.py rename to src/pystencils/typing/utilities.py diff --git a/pystencils/utils.py b/src/pystencils/utils.py similarity index 100% rename from pystencils/utils.py rename to src/pystencils/utils.py diff --git a/pystencils_tests/__init__.py b/tests/__init__.py similarity index 100% rename from pystencils_tests/__init__.py rename to tests/__init__.py diff --git a/pystencils_tests/test_Min_Max.py b/tests/test_Min_Max.py similarity index 100% rename from pystencils_tests/test_Min_Max.py rename to tests/test_Min_Max.py diff --git a/pystencils_tests/test_abs.py b/tests/test_abs.py similarity index 100% rename from pystencils_tests/test_abs.py rename to tests/test_abs.py diff --git a/pystencils_tests/test_address_of.py b/tests/test_address_of.py similarity index 100% rename from pystencils_tests/test_address_of.py rename to tests/test_address_of.py diff --git a/pystencils_tests/test_aligned_array.py b/tests/test_aligned_array.py similarity index 100% rename from pystencils_tests/test_aligned_array.py rename to tests/test_aligned_array.py diff --git a/pystencils_tests/test_assignment_collection.py b/tests/test_assignment_collection.py similarity index 100% rename from pystencils_tests/test_assignment_collection.py rename to tests/test_assignment_collection.py diff --git a/pystencils_tests/test_assignment_collection_dict_conversion.py b/tests/test_assignment_collection_dict_conversion.py similarity index 100% rename from pystencils_tests/test_assignment_collection_dict_conversion.py rename to tests/test_assignment_collection_dict_conversion.py diff --git a/pystencils_tests/test_assignment_from_stencil.py b/tests/test_assignment_from_stencil.py similarity index 100% rename from pystencils_tests/test_assignment_from_stencil.py rename to tests/test_assignment_from_stencil.py diff --git a/pystencils_tests/test_astnodes.py b/tests/test_astnodes.py similarity index 100% rename from pystencils_tests/test_astnodes.py rename to tests/test_astnodes.py diff --git a/pystencils_tests/test_augmented_assignment.py b/tests/test_augmented_assignment.py similarity index 100% rename from pystencils_tests/test_augmented_assignment.py rename to tests/test_augmented_assignment.py diff --git a/pystencils_tests/test_base_pointer_specification.py b/tests/test_base_pointer_specification.py similarity index 100% rename from pystencils_tests/test_base_pointer_specification.py rename to tests/test_base_pointer_specification.py diff --git a/pystencils_tests/test_bit_masks.py b/tests/test_bit_masks.py similarity index 100% rename from pystencils_tests/test_bit_masks.py rename to tests/test_bit_masks.py diff --git a/pystencils_tests/test_blocking.py b/tests/test_blocking.py similarity index 100% rename from pystencils_tests/test_blocking.py rename to tests/test_blocking.py diff --git a/pystencils_tests/test_blocking_staggered.py b/tests/test_blocking_staggered.py similarity index 100% rename from pystencils_tests/test_blocking_staggered.py rename to tests/test_blocking_staggered.py diff --git a/pystencils_tests/test_boundary.py b/tests/test_boundary.py similarity index 100% rename from pystencils_tests/test_boundary.py rename to tests/test_boundary.py diff --git a/pystencils_tests/test_boundary_indexlist_creation.py b/tests/test_boundary_indexlist_creation.py similarity index 100% rename from pystencils_tests/test_boundary_indexlist_creation.py rename to tests/test_boundary_indexlist_creation.py diff --git a/pystencils_tests/test_buffer.py b/tests/test_buffer.py similarity index 100% rename from pystencils_tests/test_buffer.py rename to tests/test_buffer.py diff --git a/pystencils_tests/test_buffer_gpu.py b/tests/test_buffer_gpu.py similarity index 100% rename from pystencils_tests/test_buffer_gpu.py rename to tests/test_buffer_gpu.py diff --git a/pystencils_tests/test_conditional_field_access.py b/tests/test_conditional_field_access.py similarity index 100% rename from pystencils_tests/test_conditional_field_access.py rename to tests/test_conditional_field_access.py diff --git a/pystencils_tests/test_conditional_vec.py b/tests/test_conditional_vec.py similarity index 100% rename from pystencils_tests/test_conditional_vec.py rename to tests/test_conditional_vec.py diff --git a/pystencils_tests/test_config.py b/tests/test_config.py similarity index 100% rename from pystencils_tests/test_config.py rename to tests/test_config.py diff --git a/pystencils_tests/test_create_kernel_config.py b/tests/test_create_kernel_config.py similarity index 100% rename from pystencils_tests/test_create_kernel_config.py rename to tests/test_create_kernel_config.py diff --git a/pystencils_tests/test_custom_backends.py b/tests/test_custom_backends.py similarity index 100% rename from pystencils_tests/test_custom_backends.py rename to tests/test_custom_backends.py diff --git a/pystencils_tests/test_data/datahandling_load_test.npz b/tests/test_data/datahandling_load_test.npz similarity index 100% rename from pystencils_tests/test_data/datahandling_load_test.npz rename to tests/test_data/datahandling_load_test.npz diff --git a/pystencils_tests/test_data/datahandling_parallel_load_test/dst.dat b/tests/test_data/datahandling_parallel_load_test/dst.dat similarity index 100% rename from pystencils_tests/test_data/datahandling_parallel_load_test/dst.dat rename to tests/test_data/datahandling_parallel_load_test/dst.dat diff --git a/pystencils_tests/test_data/datahandling_parallel_load_test/src.dat b/tests/test_data/datahandling_parallel_load_test/src.dat similarity index 100% rename from pystencils_tests/test_data/datahandling_parallel_load_test/src.dat rename to tests/test_data/datahandling_parallel_load_test/src.dat diff --git a/pystencils_tests/test_data/datahandling_parallel_save_test/dst.dat b/tests/test_data/datahandling_parallel_save_test/dst.dat similarity index 100% rename from pystencils_tests/test_data/datahandling_parallel_save_test/dst.dat rename to tests/test_data/datahandling_parallel_save_test/dst.dat diff --git a/pystencils_tests/test_data/datahandling_parallel_save_test/src.dat b/tests/test_data/datahandling_parallel_save_test/src.dat similarity index 100% rename from pystencils_tests/test_data/datahandling_parallel_save_test/src.dat rename to tests/test_data/datahandling_parallel_save_test/src.dat diff --git a/pystencils_tests/test_data/datahandling_save_test.npz b/tests/test_data/datahandling_save_test.npz similarity index 100% rename from pystencils_tests/test_data/datahandling_save_test.npz rename to tests/test_data/datahandling_save_test.npz diff --git a/pystencils_tests/test_data/lenna.png b/tests/test_data/lenna.png similarity index 100% rename from pystencils_tests/test_data/lenna.png rename to tests/test_data/lenna.png diff --git a/pystencils_tests/test_data/test_vessel2d_mask.png b/tests/test_data/test_vessel2d_mask.png similarity index 100% rename from pystencils_tests/test_data/test_vessel2d_mask.png rename to tests/test_data/test_vessel2d_mask.png diff --git a/pystencils_tests/test_datahandling.py b/tests/test_datahandling.py similarity index 100% rename from pystencils_tests/test_datahandling.py rename to tests/test_datahandling.py diff --git a/pystencils_tests/test_datahandling_parallel.py b/tests/test_datahandling_parallel.py similarity index 99% rename from pystencils_tests/test_datahandling_parallel.py rename to tests/test_datahandling_parallel.py index b5aa98324..f572cf326 100644 --- a/pystencils_tests/test_datahandling_parallel.py +++ b/tests/test_datahandling_parallel.py @@ -11,7 +11,7 @@ from pystencils.slicing import slice_from_direction from pystencils.datahandling.parallel_datahandling import ParallelDataHandling from pystencils.datahandling import create_data_handling -from pystencils_tests.test_datahandling import ( +from tests.test_datahandling import ( access_and_gather, kernel_execution_jacobi, reduction, synchronization, vtk_output) SCRIPT_FOLDER = Path(__file__).parent.absolute() diff --git a/pystencils_tests/test_derivative.py b/tests/test_derivative.py similarity index 100% rename from pystencils_tests/test_derivative.py rename to tests/test_derivative.py diff --git a/pystencils_tests/test_dot_printer.ipynb b/tests/test_dot_printer.ipynb similarity index 100% rename from pystencils_tests/test_dot_printer.ipynb rename to tests/test_dot_printer.ipynb diff --git a/pystencils_tests/test_dot_printer.py b/tests/test_dot_printer.py similarity index 100% rename from pystencils_tests/test_dot_printer.py rename to tests/test_dot_printer.py diff --git a/pystencils_tests/test_dtype_check.py b/tests/test_dtype_check.py similarity index 100% rename from pystencils_tests/test_dtype_check.py rename to tests/test_dtype_check.py diff --git a/pystencils_tests/test_fast_approximation.py b/tests/test_fast_approximation.py similarity index 100% rename from pystencils_tests/test_fast_approximation.py rename to tests/test_fast_approximation.py diff --git a/pystencils_tests/test_fd_derivation.ipynb b/tests/test_fd_derivation.ipynb similarity index 100% rename from pystencils_tests/test_fd_derivation.ipynb rename to tests/test_fd_derivation.ipynb diff --git a/pystencils_tests/test_fd_derivation_via_rotation.ipynb b/tests/test_fd_derivation_via_rotation.ipynb similarity index 100% rename from pystencils_tests/test_fd_derivation_via_rotation.ipynb rename to tests/test_fd_derivation_via_rotation.ipynb diff --git a/pystencils_tests/test_fd_derivative.py b/tests/test_fd_derivative.py similarity index 100% rename from pystencils_tests/test_fd_derivative.py rename to tests/test_fd_derivative.py diff --git a/pystencils_tests/test_field.py b/tests/test_field.py similarity index 100% rename from pystencils_tests/test_field.py rename to tests/test_field.py diff --git a/pystencils_tests/test_field_access_poly.py b/tests/test_field_access_poly.py similarity index 100% rename from pystencils_tests/test_field_access_poly.py rename to tests/test_field_access_poly.py diff --git a/pystencils_tests/test_field_equality.ipynb b/tests/test_field_equality.ipynb similarity index 100% rename from pystencils_tests/test_field_equality.ipynb rename to tests/test_field_equality.ipynb diff --git a/pystencils_tests/test_finite_differences.py b/tests/test_finite_differences.py similarity index 100% rename from pystencils_tests/test_finite_differences.py rename to tests/test_finite_differences.py diff --git a/pystencils_tests/test_floor_ceil_int_optimization.py b/tests/test_floor_ceil_int_optimization.py similarity index 100% rename from pystencils_tests/test_floor_ceil_int_optimization.py rename to tests/test_floor_ceil_int_optimization.py diff --git a/pystencils_tests/test_fvm.py b/tests/test_fvm.py similarity index 100% rename from pystencils_tests/test_fvm.py rename to tests/test_fvm.py diff --git a/pystencils_tests/test_global_definitions.py b/tests/test_global_definitions.py similarity index 100% rename from pystencils_tests/test_global_definitions.py rename to tests/test_global_definitions.py diff --git a/pystencils_tests/test_gpu.py b/tests/test_gpu.py similarity index 100% rename from pystencils_tests/test_gpu.py rename to tests/test_gpu.py diff --git a/pystencils_tests/test_half_precision.py b/tests/test_half_precision.py similarity index 100% rename from pystencils_tests/test_half_precision.py rename to tests/test_half_precision.py diff --git a/pystencils_tests/test_helpful_errors.py b/tests/test_helpful_errors.py similarity index 100% rename from pystencils_tests/test_helpful_errors.py rename to tests/test_helpful_errors.py diff --git a/pystencils_tests/test_indexed_kernels.py b/tests/test_indexed_kernels.py similarity index 100% rename from pystencils_tests/test_indexed_kernels.py rename to tests/test_indexed_kernels.py diff --git a/pystencils_tests/test_jacobi_cbackend.py b/tests/test_jacobi_cbackend.py similarity index 100% rename from pystencils_tests/test_jacobi_cbackend.py rename to tests/test_jacobi_cbackend.py diff --git a/pystencils_tests/test_json_backend.py b/tests/test_json_backend.py similarity index 100% rename from pystencils_tests/test_json_backend.py rename to tests/test_json_backend.py diff --git a/pystencils_tests/test_json_serializer.py b/tests/test_json_serializer.py similarity index 100% rename from pystencils_tests/test_json_serializer.py rename to tests/test_json_serializer.py diff --git a/pystencils_tests/test_jupyter_extensions.ipynb b/tests/test_jupyter_extensions.ipynb similarity index 100% rename from pystencils_tests/test_jupyter_extensions.ipynb rename to tests/test_jupyter_extensions.ipynb diff --git a/pystencils_tests/test_logarithm.py b/tests/test_logarithm.py similarity index 100% rename from pystencils_tests/test_logarithm.py rename to tests/test_logarithm.py diff --git a/pystencils_tests/test_loop_cutting.py b/tests/test_loop_cutting.py similarity index 100% rename from pystencils_tests/test_loop_cutting.py rename to tests/test_loop_cutting.py diff --git a/pystencils_tests/test_match_subs_for_assignment_collection.py b/tests/test_match_subs_for_assignment_collection.py similarity index 100% rename from pystencils_tests/test_match_subs_for_assignment_collection.py rename to tests/test_match_subs_for_assignment_collection.py diff --git a/pystencils_tests/test_math_functions.py b/tests/test_math_functions.py similarity index 100% rename from pystencils_tests/test_math_functions.py rename to tests/test_math_functions.py diff --git a/pystencils_tests/test_modulo.py b/tests/test_modulo.py similarity index 100% rename from pystencils_tests/test_modulo.py rename to tests/test_modulo.py diff --git a/pystencils_tests/test_move_constant_before_loop.py b/tests/test_move_constant_before_loop.py similarity index 100% rename from pystencils_tests/test_move_constant_before_loop.py rename to tests/test_move_constant_before_loop.py diff --git a/pystencils_tests/test_nodecollection.py b/tests/test_nodecollection.py similarity index 100% rename from pystencils_tests/test_nodecollection.py rename to tests/test_nodecollection.py diff --git a/pystencils_tests/test_parameterstudy.py b/tests/test_parameterstudy.py similarity index 100% rename from pystencils_tests/test_parameterstudy.py rename to tests/test_parameterstudy.py diff --git a/pystencils_tests/test_phasefield_dentritic_3D.ipynb b/tests/test_phasefield_dentritic_3D.ipynb similarity index 100% rename from pystencils_tests/test_phasefield_dentritic_3D.ipynb rename to tests/test_phasefield_dentritic_3D.ipynb diff --git a/pystencils_tests/test_pickle_support.py b/tests/test_pickle_support.py similarity index 100% rename from pystencils_tests/test_pickle_support.py rename to tests/test_pickle_support.py diff --git a/pystencils_tests/test_plot.py b/tests/test_plot.py similarity index 100% rename from pystencils_tests/test_plot.py rename to tests/test_plot.py diff --git a/pystencils_tests/test_printing.py b/tests/test_printing.py similarity index 100% rename from pystencils_tests/test_printing.py rename to tests/test_printing.py diff --git a/pystencils_tests/test_quicktests.py b/tests/test_quicktests.py similarity index 100% rename from pystencils_tests/test_quicktests.py rename to tests/test_quicktests.py diff --git a/pystencils_tests/test_random.py b/tests/test_random.py similarity index 100% rename from pystencils_tests/test_random.py rename to tests/test_random.py diff --git a/pystencils_tests/test_sharedmethodcache.py b/tests/test_sharedmethodcache.py similarity index 100% rename from pystencils_tests/test_sharedmethodcache.py rename to tests/test_sharedmethodcache.py diff --git a/pystencils_tests/test_simplification_strategy.py b/tests/test_simplification_strategy.py similarity index 100% rename from pystencils_tests/test_simplification_strategy.py rename to tests/test_simplification_strategy.py diff --git a/pystencils_tests/test_simplifications.py b/tests/test_simplifications.py similarity index 100% rename from pystencils_tests/test_simplifications.py rename to tests/test_simplifications.py diff --git a/pystencils_tests/test_size_and_layout_checks.py b/tests/test_size_and_layout_checks.py similarity index 100% rename from pystencils_tests/test_size_and_layout_checks.py rename to tests/test_size_and_layout_checks.py diff --git a/pystencils_tests/test_sliced_iteration.py b/tests/test_sliced_iteration.py similarity index 100% rename from pystencils_tests/test_sliced_iteration.py rename to tests/test_sliced_iteration.py diff --git a/pystencils_tests/test_slicing.py b/tests/test_slicing.py similarity index 100% rename from pystencils_tests/test_slicing.py rename to tests/test_slicing.py diff --git a/pystencils_tests/test_small_block_benchmark.ipynb b/tests/test_small_block_benchmark.ipynb similarity index 100% rename from pystencils_tests/test_small_block_benchmark.ipynb rename to tests/test_small_block_benchmark.ipynb diff --git a/pystencils_tests/test_source_code_comment.py b/tests/test_source_code_comment.py similarity index 100% rename from pystencils_tests/test_source_code_comment.py rename to tests/test_source_code_comment.py diff --git a/pystencils_tests/test_staggered_kernel.py b/tests/test_staggered_kernel.py similarity index 100% rename from pystencils_tests/test_staggered_kernel.py rename to tests/test_staggered_kernel.py diff --git a/pystencils_tests/test_stencil_plot.ipynb b/tests/test_stencil_plot.ipynb similarity index 100% rename from pystencils_tests/test_stencil_plot.ipynb rename to tests/test_stencil_plot.ipynb diff --git a/pystencils_tests/test_stencils.py b/tests/test_stencils.py similarity index 100% rename from pystencils_tests/test_stencils.py rename to tests/test_stencils.py diff --git a/pystencils_tests/test_struct_types.py b/tests/test_struct_types.py similarity index 100% rename from pystencils_tests/test_struct_types.py rename to tests/test_struct_types.py diff --git a/pystencils_tests/test_subexpression_insertion.py b/tests/test_subexpression_insertion.py similarity index 100% rename from pystencils_tests/test_subexpression_insertion.py rename to tests/test_subexpression_insertion.py diff --git a/pystencils_tests/test_sum_prod.py b/tests/test_sum_prod.py similarity index 100% rename from pystencils_tests/test_sum_prod.py rename to tests/test_sum_prod.py diff --git a/pystencils_tests/test_sympyextensions.py b/tests/test_sympyextensions.py similarity index 100% rename from pystencils_tests/test_sympyextensions.py rename to tests/test_sympyextensions.py diff --git a/pystencils_tests/test_timeloop.py b/tests/test_timeloop.py similarity index 100% rename from pystencils_tests/test_timeloop.py rename to tests/test_timeloop.py diff --git a/pystencils_tests/test_transformations.py b/tests/test_transformations.py similarity index 100% rename from pystencils_tests/test_transformations.py rename to tests/test_transformations.py diff --git a/pystencils_tests/test_type_interference.py b/tests/test_type_interference.py similarity index 100% rename from pystencils_tests/test_type_interference.py rename to tests/test_type_interference.py diff --git a/pystencils_tests/test_types.py b/tests/test_types.py similarity index 100% rename from pystencils_tests/test_types.py rename to tests/test_types.py diff --git a/pystencils_tests/test_utils.py b/tests/test_utils.py similarity index 100% rename from pystencils_tests/test_utils.py rename to tests/test_utils.py diff --git a/pystencils_tests/test_vectorization.py b/tests/test_vectorization.py similarity index 100% rename from pystencils_tests/test_vectorization.py rename to tests/test_vectorization.py diff --git a/pystencils_tests/test_vectorization_specific.py b/tests/test_vectorization_specific.py similarity index 100% rename from pystencils_tests/test_vectorization_specific.py rename to tests/test_vectorization_specific.py diff --git a/pystencils_tests/test_version_string.py b/tests/test_version_string.py similarity index 100% rename from pystencils_tests/test_version_string.py rename to tests/test_version_string.py -- GitLab