Skip to content
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

pycrysfml v0.1.0 #16

Merged
merged 99 commits into from
Jul 24, 2024
Merged

pycrysfml v0.1.0 #16

merged 99 commits into from
Jul 24, 2024

Conversation

AndrewSazonov
Copy link
Member

No description provided.

@AndrewSazonov AndrewSazonov merged commit 2d918a5 into master Jul 24, 2024
16 of 18 checks passed
AndrewSazonov added a commit that referenced this pull request Jul 26, 2024
* Switch to GitHub M1 and minor changes (#8) (#9)

* Switch to GitHub M1 and minor changes (#8)

* Switch from FlyCI M2 to GH M1

* Force numpy to be < 2

* Get the package version from pyproject.toml, not from scripts.toml

* Increase performance test median from 10% to 25%

* Try autodetecting python lib and site packages

* Fix python lib path for Windows

* Move ifport_lib definition from scripts.py to scripts.toml

* Clean up

* Update README.md

* Minor changes

* Update README.md

* Auto push benchmark results by GitHub Action for macOS + gfortran

* Auto push benchmark results by GitHub Action for macOS + gfortran

* Auto push benchmark results by GitHub Action for Windows + gfortran

* Auto push benchmark results by GitHub Action for Linux + ifort

* Auto push benchmark results by GitHub Action for Linux + gfortran

* Auto push benchmark results by GitHub Action for Windows + ifort

* Auto push benchmark results by GitHub Action for Linux + ifx

* pycrysfml v0.1.0 (#16)

* Try new implementation of pycfml

* Add CFML_Utilities module

* Add building pycfml so

* Some debugging

* Add missing CFML_Wraps_Utils

* Clean up

* Trigger new backend

* Add missing Wraps_Atoms

* Add 'Download PYCFML repository' step

* Temporarily keep only ubuntu-22.04 + ifort

* More dedug

* Update unit tests to follow new api syntax

* Add py api files to pycfml dist

* Restructure CI script

* Switch to the new structure of CrysFML2008

* debug pycfml unit tests

* Add change_runpath_for_built_pycfml

* debug

* Debug pycfml import

* More debug

* More debug

* Try windows CI

* Temporarily disable parallel builds

* Try link *.obj

* New template for building pycfml shared object

* Add 'Math_In_Limits' to the CrysFML build

* add macos and clean up

* Temporarily disable macos CI

* Clean up

* Add missing CFML modules

* Disable some problematic modules

* Refactor build scripts

* rename package from pyproject08 to pyproject

* add change_runpath_for_built_pycfml

* Refactoring

* Rename pycrysfml08 to pycrysfml in tests

* Add build CFML test programs

* Add run CFML test programs

* Fix CFML functional tests

* debug

* Capitalize test dirs

* Clean up

* Follow update in CrysFML2008

* Update PythonAPI folder name

* Try uv to install python deps

* Remove uv

* Colorize terminal output

* Update scripts.py

* fix colors

* Debug color

* Add flag to enable backslash escapes

* Add all platforms

* Try on ubuntu only

* Fix build pycfml lib cmd

* Try ubuntu only

* Change build pycfml cmd back

* Enable all platforms

* Add Wraps_Utilities.f90

* emporary disable due to error when building pycfml shared object

* Try calculating diffraction pattern

* Fix macos rpath change script

* Add more debug

* Update pycfml import debug

* Try macos 12 + ifort build combination

* Modify __init__.py

* Suppress the error message when copying files

* Enable macos-12 + ifort

* Fix suppress the error message command

* Add pycrysfml unit tests

* Allow parallel builds

* Fix python wheel name on macos

* Add examples, issues, extend tests

* Fix python package name on macos

* Fix powder pattern from json tests

* Update examples and issues

* Licensing (#11)

* Updating Licence to comply with ILL rules

* Updating Licence Classifier

* Updating Licence Classifier

* Revert name to Pycrysfml08

---------

Co-authored-by: Elisa Rebolini <rebolini@ill.fr>

* Update project description

* Upload python wheel to GH releases

* Add new step to publish python wheels

* Fix required python version to be >= 3.9

* Add CI build on pull_request

* Switch from tomllib to toml to support python <3.11

* Add missing toml lib

* Remove python 3.9 from build matrix

* Minor fixes

* Do not suppress error messages

* Update rpath delete template to follow gcc bump from 13.2.0 to 13.3.0

* Clean up

* Fix rpaths

* Update readme

* Add more platforms for the python package build

* Update readme

* Move __init__.py to src/

* Rename scripts to build

* Rename build.py/.toml into pybuild.py/.toml

* Remove ipynb checkpoints from saving to GIT

* Add how to use section to readme

* No need to convert np type array in pycrysfml

* Try using pkg-config --libs python3-embed on macos

---------

Co-authored-by: Elisa Rebolini <rebolini@ill.fr>

* try auto path

* Try copying Python

* Debug

* try adding custom rpaths

* Try setting DYLD_FALLBACK_LIBRARY_PATH

* More debug

* Change path to Python in __init__.py

* Add back all build matrices + build in release mode

* Clean up build script

* Add pyCFML benchmark tests

* Auto push pyCFML benchmark results by GitHub Action for Linux + gfortran

* Auto push pyCFML benchmark results by GitHub Action for macOS + gfortran

* Auto push pyCFML benchmark results by GitHub Action for Linux + ifx

* Auto push pyCFML benchmark results by GitHub Action for Linux + ifort

* Auto push pyCFML benchmark results by GitHub Action for macOS + gfortran

* Auto push pyCFML benchmark results by GitHub Action for Windows + ifort

* Auto push pyCFML benchmark results by GitHub Action for Windows + gfortran

* Split main CI build script into debug and release

* Always run job 'test' in release build

* Fix benchmarking

* Auto push pyCFML benchmark results by GitHub Action for macOS + gfortran

* Auto push pyCFML benchmark results by GitHub Action for Windows + gfortran

* Auto push pyCFML benchmark results by GitHub Action for macOS + gfortran

* Remove some debug code

* Add libmvec.so.1 to gfortran release build

* Auto push pyCFML benchmark results by GitHub Action for macos-14 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for ubuntu-24.04 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for macos-12 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for windows-2022 + gfortran

* Add example

* Fix benchmarks

* Auto push pyCFML benchmark results by GitHub Action for ubuntu-24.04 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for ubuntu-24.04 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for ubuntu-24.04 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for macos-12 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for windows-2022 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for macos-12 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for windows-2022 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for windows-2022 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for macos-14 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for macos-14 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for macos-12 + gfortran

* Update pybuild.toml

* Increase benchmark fail to > 50%

* Regenerate benchmark results [save benchmark results]

* Try to build and run CFML test programs on all platforms

* Fix build script

* Update readme [save benchmark results]

* Fix run_pycfml_functional_tests_with_benchmarks_save.sh [save benchmark results]

* Auto push pyCFML benchmarks : release-build-and-test : ubuntu-24.04 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : ubuntu-24.04 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : macos-14 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : ubuntu-24.04 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : macos-14 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : macos-12 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : windows-2022 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : windows-2022 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : macos-12 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : macos-14 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : windows-2022 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : macos-12 : gfortran

* Prepare for release 0.1.1

---------

Co-authored-by: Elisa Rebolini <rebolini@ill.fr>
AndrewSazonov added a commit that referenced this pull request Jul 26, 2024
* pycrysfml v0.1.1 (#17)

* Switch to GitHub M1 and minor changes (#8) (#9)

* Switch to GitHub M1 and minor changes (#8)

* Switch from FlyCI M2 to GH M1

* Force numpy to be < 2

* Get the package version from pyproject.toml, not from scripts.toml

* Increase performance test median from 10% to 25%

* Try autodetecting python lib and site packages

* Fix python lib path for Windows

* Move ifport_lib definition from scripts.py to scripts.toml

* Clean up

* Update README.md

* Minor changes

* Update README.md

* Auto push benchmark results by GitHub Action for macOS + gfortran

* Auto push benchmark results by GitHub Action for macOS + gfortran

* Auto push benchmark results by GitHub Action for Windows + gfortran

* Auto push benchmark results by GitHub Action for Linux + ifort

* Auto push benchmark results by GitHub Action for Linux + gfortran

* Auto push benchmark results by GitHub Action for Windows + ifort

* Auto push benchmark results by GitHub Action for Linux + ifx

* pycrysfml v0.1.0 (#16)

* Try new implementation of pycfml

* Add CFML_Utilities module

* Add building pycfml so

* Some debugging

* Add missing CFML_Wraps_Utils

* Clean up

* Trigger new backend

* Add missing Wraps_Atoms

* Add 'Download PYCFML repository' step

* Temporarily keep only ubuntu-22.04 + ifort

* More dedug

* Update unit tests to follow new api syntax

* Add py api files to pycfml dist

* Restructure CI script

* Switch to the new structure of CrysFML2008

* debug pycfml unit tests

* Add change_runpath_for_built_pycfml

* debug

* Debug pycfml import

* More debug

* More debug

* Try windows CI

* Temporarily disable parallel builds

* Try link *.obj

* New template for building pycfml shared object

* Add 'Math_In_Limits' to the CrysFML build

* add macos and clean up

* Temporarily disable macos CI

* Clean up

* Add missing CFML modules

* Disable some problematic modules

* Refactor build scripts

* rename package from pyproject08 to pyproject

* add change_runpath_for_built_pycfml

* Refactoring

* Rename pycrysfml08 to pycrysfml in tests

* Add build CFML test programs

* Add run CFML test programs

* Fix CFML functional tests

* debug

* Capitalize test dirs

* Clean up

* Follow update in CrysFML2008

* Update PythonAPI folder name

* Try uv to install python deps

* Remove uv

* Colorize terminal output

* Update scripts.py

* fix colors

* Debug color

* Add flag to enable backslash escapes

* Add all platforms

* Try on ubuntu only

* Fix build pycfml lib cmd

* Try ubuntu only

* Change build pycfml cmd back

* Enable all platforms

* Add Wraps_Utilities.f90

* emporary disable due to error when building pycfml shared object

* Try calculating diffraction pattern

* Fix macos rpath change script

* Add more debug

* Update pycfml import debug

* Try macos 12 + ifort build combination

* Modify __init__.py

* Suppress the error message when copying files

* Enable macos-12 + ifort

* Fix suppress the error message command

* Add pycrysfml unit tests

* Allow parallel builds

* Fix python wheel name on macos

* Add examples, issues, extend tests

* Fix python package name on macos

* Fix powder pattern from json tests

* Update examples and issues

* Licensing (#11)

* Updating Licence to comply with ILL rules

* Updating Licence Classifier

* Updating Licence Classifier

* Revert name to Pycrysfml08

---------

Co-authored-by: Elisa Rebolini <rebolini@ill.fr>

* Update project description

* Upload python wheel to GH releases

* Add new step to publish python wheels

* Fix required python version to be >= 3.9

* Add CI build on pull_request

* Switch from tomllib to toml to support python <3.11

* Add missing toml lib

* Remove python 3.9 from build matrix

* Minor fixes

* Do not suppress error messages

* Update rpath delete template to follow gcc bump from 13.2.0 to 13.3.0

* Clean up

* Fix rpaths

* Update readme

* Add more platforms for the python package build

* Update readme

* Move __init__.py to src/

* Rename scripts to build

* Rename build.py/.toml into pybuild.py/.toml

* Remove ipynb checkpoints from saving to GIT

* Add how to use section to readme

* No need to convert np type array in pycrysfml

* Try using pkg-config --libs python3-embed on macos

---------

Co-authored-by: Elisa Rebolini <rebolini@ill.fr>

* try auto path

* Try copying Python

* Debug

* try adding custom rpaths

* Try setting DYLD_FALLBACK_LIBRARY_PATH

* More debug

* Change path to Python in __init__.py

* Add back all build matrices + build in release mode

* Clean up build script

* Add pyCFML benchmark tests

* Auto push pyCFML benchmark results by GitHub Action for Linux + gfortran

* Auto push pyCFML benchmark results by GitHub Action for macOS + gfortran

* Auto push pyCFML benchmark results by GitHub Action for Linux + ifx

* Auto push pyCFML benchmark results by GitHub Action for Linux + ifort

* Auto push pyCFML benchmark results by GitHub Action for macOS + gfortran

* Auto push pyCFML benchmark results by GitHub Action for Windows + ifort

* Auto push pyCFML benchmark results by GitHub Action for Windows + gfortran

* Split main CI build script into debug and release

* Always run job 'test' in release build

* Fix benchmarking

* Auto push pyCFML benchmark results by GitHub Action for macOS + gfortran

* Auto push pyCFML benchmark results by GitHub Action for Windows + gfortran

* Auto push pyCFML benchmark results by GitHub Action for macOS + gfortran

* Remove some debug code

* Add libmvec.so.1 to gfortran release build

* Auto push pyCFML benchmark results by GitHub Action for macos-14 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for ubuntu-24.04 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for macos-12 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for windows-2022 + gfortran

* Add example

* Fix benchmarks

* Auto push pyCFML benchmark results by GitHub Action for ubuntu-24.04 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for ubuntu-24.04 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for ubuntu-24.04 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for macos-12 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for windows-2022 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for macos-12 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for windows-2022 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for windows-2022 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for macos-14 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for macos-14 + gfortran

* Auto push pyCFML benchmark results by GitHub Action for macos-12 + gfortran

* Update pybuild.toml

* Increase benchmark fail to > 50%

* Regenerate benchmark results [save benchmark results]

* Try to build and run CFML test programs on all platforms

* Fix build script

* Update readme [save benchmark results]

* Fix run_pycfml_functional_tests_with_benchmarks_save.sh [save benchmark results]

* Auto push pyCFML benchmarks : release-build-and-test : ubuntu-24.04 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : ubuntu-24.04 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : macos-14 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : ubuntu-24.04 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : macos-14 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : macos-12 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : windows-2022 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : windows-2022 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : macos-12 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : macos-14 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : windows-2022 : gfortran

* Auto push pyCFML benchmarks : release-build-and-test : macos-12 : gfortran

* Prepare for release 0.1.1

---------

Co-authored-by: Elisa Rebolini <rebolini@ill.fr>

* Auto push pyCFML benchmarks : release-build-and-test : ubuntu-24.04 : 3.11

* Auto push pyCFML benchmarks : release-build-and-test : ubuntu-24.04 : 3.10

* Auto push pyCFML benchmarks : release-build-and-test : ubuntu-24.04 : 3.12

* Auto push pyCFML benchmarks : release-build-and-test : windows-2022 : 3.12

* Auto push pyCFML benchmarks : release-build-and-test : windows-2022 : 3.11

* Auto push pyCFML benchmarks : release-build-and-test : windows-2022 : 3.10

* Auto push pyCFML benchmarks : release-build-and-test : macos-12 : 3.11

* Auto push pyCFML benchmarks : release-build-and-test : macos-12 : 3.10

* Auto push pyCFML benchmarks : release-build-and-test : macos-12 : 3.12

* Auto push pyCFML benchmarks : release-build-and-test : macos-14 : 3.10

* Auto push pyCFML benchmarks : release-build-and-test : macos-14 : 3.11

* Auto push pyCFML benchmarks : release-build-and-test : macos-14 : 3.12

---------

Co-authored-by: Elisa Rebolini <rebolini@ill.fr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant