Skip to main content

This is SRW for Python

Project description

Synchrotron Radiation Workshop (SRW)

SRW is a physical optics computer code for calculation of detailed characteristics of Synchrotron Radiation (SR) generated by relativistic electrons in magnetic fields of arbitrary configuration and for simulation of the radiation wavefront propagation through optical systems of beamlines.

Frequency-domain near-field methods are used for the SR calculation, and the Fourier-optics based approach is generally used for the wavefront propagation simulation. The code enables both fully- and partially-coherent radiation propagation simulations in steady-state and in frequency-/time-dependent regimes. With these features, the code has already proven its utility for a large number of applications in infrared, UV, soft and hard X-ray spectral range, in such important areas as analysis of spectral performances of new synchrotron radiation sources, optimization of user beamlines, development of new optical elements, source and beamline diagnostics, and even complete simulation of SR based experiments. Besides the SR applications, the code can be efficiently used for various simulations involving conventional lasers and other sources. SRW versions interfaced to Python and to IGOR Pro (WaveMetrics), as well as cross-platform library with C API, are available.

In the following writing, it is assumed that SRW_Dev is absolute path to the full SRW directory (obtained e.g. after downloading from repository).

I. Using pre-compiled SRW libraries and clients / bindings:

The last ~"clean" release of SRW for IGOR Pro and for Python can be found in SRW_Dev/env/release, in particular:

  • installers (of compressed packages) can be found in SRW_Dev/env/release/install;
  • unpacked folder of SRW for IGOR Pro (for Windows only) is: SRW_Dev/env/release/srw_igor;
    This folder contains ReadMe.txt file with general "start-up" notes; detailed documentation for IGOR Pro version can be found in: SRW_Dev/env/release/srw_igor/SRW Help/SRW Help.ifn file (in IGOR formatted notebook format);
  • unpacked folder of SRW for Python (for Windows and Linux) is: SRW_Dev/env/release/srw_python; this folder contains ReadMe.txt file with general "start-up" notes.

The most recent pre-releases and current work versions of SRW for Python and for IGOR Pro can be found in: SRW_Dev/env/work.

Testing of the pre-compiled SRW libraries and clients / bindings can be done using examples included both to Python and IGOR Pro versions of SRW (see "Checking the examples" sections below for different platforms).

II. Compiling and testing SRW Library and its Python and IGOR Pro bindings on Windows

II.1. Compiling SRW library and Python binding using MS Visual C++

II.1.1

Microsoft Visual C++ 2015 (or later version) solution file (SRW.sln), which includes 4 projects:

  • SRW Library (file SRWLIB.vcxproj),
  • SRW Python client / binding (file SRWLClientPython.vcxproj),
  • SRW IGOR Pro client / binding (file SRWLClientIgor.vcxproj),
  • SRW C demo client (file SRWLClientC.vcxproj), can be found in SRW_Dev/cpp/vc.

The SRWLClientPython project file allows for compiling srwlpy.pyd shared library, i.e. SRW for Python 2.7 or/and 3.x (64-bit or 32-bit); SRWLClientIgor allows for compiling SRW.xop shared library, i.e. SRW for IGOR Pro (32-bit only). Free Microsoft Visual Studio Community 2015 (or later versions) can be used.

To compile SRW library supporting OpenMP based parallel calculations (e.g. for XFEL applications):

  • In the Visual C++ Configuration Manager, select "Release_omp" version of the SRWLIB project, then re-compile SRWLIB and SRWLClientPython under the "x64" Solution Platform to produce a 64-bit version of SRW for Python supporting OpenMP based parallel calculations.
  • Note that the "Release_omp" version of the SRWLIB project has only a few differences with respect to the standard version: the "_WITH_OMP" preprocessor definition is added to Configuration Properties -> C/C++ -> Preprocessor -> Preprocessor Definitions, the "Open MP Support" option is set to "Yes (/openmp)" in Configuration Properties -> C/C++ -> Language -> Open MP Support, and the linking is made with older versions of the FFTW library (FFTW 2.5), whereas the "normal" compilation / linking is with the FFTW 3.8.

II.2. Checking the examples

II.2.1

The SRW for Python examples can be tested using e.g. "IDLE" (Python native GUI). To do so, start this application (e.g. from Windows Start menu), open an example file in it, e.g. SRW_Dev\env\work\srw_python\SRWLIB_Example01.py, and run it from the IDLE.

Alternatively, the example scripts can be executed from the Windows Command Prompt, e.g. from within the SRW_Dev\env\work\srw_python directory. For convenience, correct path to python.exe file may need to be specified in the Windows system PATH variable prior to these tests.

II.2.2

The SRW for IGOR Pro examples can be tested from "SRWE" and "SRWP" menus, "Help" sub-menus, of the IGOR Pro.

III. Compiling and testing SRW Library and its Python binding on Linux

III.1. Compiling SRW library and Python binding

This can be done either using Python "setuptools" module (see section III.1.1 below) or without it (see section III.1.2).

III.1.1. Compiling using Python "setuptools" module

Make sure the "setuptools" module of the Python version you would like to use is properly installed and configured. If this is done, the compilation and installation is simple:

cd SRW_Dev
make all

To compile SRW library supporting OpenMP based parallel calculations (e.g. for XFEL applications) add "MODE=omp" after "make all":

make all MODE=omp

This should compile libsrw.a and srwlpy.so, and copy srwlpy.so to SRW_Dev/env/work/srw_python/

III.1.2. Compiling without "setuptools"

III.1.2.1. Download and compile fftw-2.1.5 or/and fftw-3.3.8 library as required for SRW

Make sure files fftw-3.3.8.tar.gz and fftw-2.1.5.tar.gz are located in SRW_Dev/ext_lib directory (if necessary, download these files from FFTW site, probably http://www.fftw.org/download.html).
Do the following to compile fftw-3.3.8 for using single-precision numbers as required for most FFT-based operations in SRW:

cd SRW_Dev/ext_lib
tar -zxvf fftw-3.3.8.tar.gz
cd fftw-3.3.8
./configure --enable-float --with-pic

Manually (using editor) add -fPIC option to CFLAGS in Makefile

make -j8 && cp .libs/libfftw3f.a ../

Do the following to compile fftw-3.3.8 for using double-precision numbers required for some FFT-based operations in SRW:

cd SRW_Dev/ext_lib
tar -zxvf fftw-3.3.8.tar.gz
cd fftw-3.3.8
./configure --with-pic

Manually (using editor) add -fPIC option to CFLAGS in Makefile

make -j8 && cp .libs/libfftw3.a ../

Do the following to compile fftw-2.1.5 for using single-precision numbers required for supporting OpenMP based parallel calculations in SRW:

cd SRW_Dev/ext_lib
tar -zxvf fftw-2.1.5.tar.gz
cd fftw-2.1.5
./configure --enable-float --with-pic

Manually (using editor) add -fPIC option to CFLAGS in Makefile

make -j8 && cp fftw/.libs/libfftw.a ../

III.1.2.2. Compiling the SRW library and Python binding

cd SRW_Dev/cpp/gcc

Make sure Python 3.3 or higher (or Python 2.7) is installed.
In the SRW_Dev/cpp/gcc/Makefile, modify/correct PYPATH and PYFLAGS variables, i.e. specify path to Python header and library files. Depending on Linux environment, it may also be necessary to modify the name of compiler to be used, e.g.:

CC  = gcc
CXX = g++
#CC  = cc
#CXX = c++

After this, execute the following:

rm libsrw.a
make all

To compile SRW library in the mode supporting OpenMP based parallel calculations (e.g. for XFEL applications) add "MODE=omp" after "make all":

make all MODE=omp

Then copy srwlpy.so to SRW_Dev/env/work/srw_python/:

cp srwlpy.so ../../env/work/srw_python/

III.2. Checking the examples

Make sure the path to Python 3.x (or 2.7) is added to the PATH variable and "srw_python" to PYTHONPATH variable:

export PATH="$PATH:<absolute path to Python 3.x>" # this is not necessary if you install python using the distro's package manager
export PYTHONPAH="$PYTHONPATH:SRW_Dev/env/work/srw_python/" #temporary solution

or

echo "export PYTHONPATH=$PYTHONPATH:SRW_Dev/env/work/srw_python/" >> ~/.bashrc #permanent solution for a single user

Setting up PYTHONPATH allows to import srwlpy module from any directory. Testing of the examples would preferably done in the srw_python directory:

cd SRW_Dev/env/work/srw_python
python SRWLIB_ExampleXX.py

IV. Compiling and testing SRW Library and its Python binding on Mac OSX

Try to follow the steps described in section III (describing options for compiling and testing SRW on Linux).

We were informed that the actions described in III.1.1 lead to successful compilation on OSX 10.14.5 after the following modifications in SRW_Dev/cpp/gcc/Makefile:
Change CXX variable as follows:

#CXX = c++
CXX = g++ -stdlib=libc++ -mmacosx-version-min=10.9

Make sure to explicitly use the C++ compiler (CXX) for compiling all *.cpp files, e.g.:

%.o: $(SH_SRC_PARSE_DIR)/%.cpp
    $(CXX) $(CFLAGS) -c $<

It may be necessary also to set also the CC variable to came value as CXX (?):

#CC = cc
CC = g++ -stdlib=libc++ -mmacosx-version-min=10.9

Previously, we were informed that the actions described in III.1.2.2 lead to successful compilation with gcc/g++ provided by Xcode 10.1, after the following modifications in SRW_Dev/cpp/gcc/Makefile:

CC  = gcc
CXX = g++
#CC  = cc
#CXX = c++
...
PYPATH=/Library/Frameworks/Python.framework/Versions/3.6
PYFLAGS=-I$(PYPATH)/include/python3.6m -I$(PYPATH)/include/python3.6m -L$(PYPATH)/lib/python3.6/config-3.6m-darwin -lpython3.6m -ldl

The correct path and flags can be obtained e.g. by executing from command line:

python3-config --includes --ldflags

and removing the option "-framework"

With earlier versions of Xcode, the following manipulations, consisting in installation of "macports" and obtaining the whole gcc toolchain, were reported to be successful:

sudo port install gcc47

Modify the SRW_Dev/cpp/gcc/Makefile so that CC=<path to macports>/gcc and CXX=<path to macports>/g++, and proceed to the compilation as described in III.1.2.2.

V. Compiling and testing SRW Library and its Python binding on Windows and Linux (via CMake/Pip)

Run the following in a Visual Studio Developer Command Line/Linux Terminal:

cmake -B build
cmake --build build -j

The pip installable version of the package can be obtained by running the following in a Visual Studio Developer Command Line/Linux Terminal:

cd env/python
pip install -e .

VI. GPU Acceleration of SRW

SRW has basic support for GPU acceleration of some routines through CUDA. Compilation of SRW with GPU acceleration requires the CUDA HPC SDK to be installed and, on Linux can be performed with:

MODE=cuda make

To compile on Windows, open the SRW solution in Visual Studio, set the target to the _cuda variants and update the library and include paths for the SRWLIB project. You may also have to copy the following DLLs from the HPC SDK install into the env/python/srwpy directory:

  • cudart64_110.dll
  • cufft64_10.dll

Authors and Contributors to SRW project

O. Chubar (ESRF - SOLEIL - BNL)
P. Elleaume (ESRF)
J. Chavanne (ESRF)
R. Celestre (ESRF)
P. Dumas (SOLEIL)
O. Marcouille (SOLEIL)
L. Samoylova (E-XFEL)
A. Buzmakov (E-XFEL)
G. Geloni (E-XFEL)
I. Agapov (E-XFEL)
J. Sutter (DIAMOND)
D. Laundy (DIAMOND)
A. He (BNL)
R. Coles (BNL)
R. Li (BNL)
M. Rakitin (BNL)
H. Goel (SBU - BNL)
N. Canestrari (ESRF - BNL)
A. Suvorov (BNL)
R. Reininger (ANL)
X. Shi (ANL)
R. Lindberg (ANL)
L. Rebuffi (ELETTRA - ANL)
D. Bruhwiler (RadiaSoft LLC)
R. Nagler (RadiaSoft LLC)
P. Moeller (RadiaSoft LLC)
B. Nash (RadiaSoft LLC)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

srwpy-4.0.0b0-cp311-cp311-win_amd64.whl (37.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

srwpy-4.0.0b0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (36.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

srwpy-4.0.0b0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (36.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

srwpy-4.0.0b0-cp311-cp311-macosx_10_15_x86_64.whl (36.4 MB view details)

Uploaded CPython 3.11 macOS 10.15+ x86-64

srwpy-4.0.0b0-cp310-cp310-win_amd64.whl (37.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

srwpy-4.0.0b0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (36.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

srwpy-4.0.0b0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (36.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

srwpy-4.0.0b0-cp310-cp310-macosx_10_15_x86_64.whl (36.4 MB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

srwpy-4.0.0b0-cp39-cp39-win_amd64.whl (37.1 MB view details)

Uploaded CPython 3.9 Windows x86-64

srwpy-4.0.0b0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (36.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

srwpy-4.0.0b0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (36.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

srwpy-4.0.0b0-cp39-cp39-macosx_10_15_x86_64.whl (36.4 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

srwpy-4.0.0b0-cp38-cp38-win_amd64.whl (37.1 MB view details)

Uploaded CPython 3.8 Windows x86-64

srwpy-4.0.0b0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (36.8 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

srwpy-4.0.0b0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (36.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

srwpy-4.0.0b0-cp38-cp38-macosx_10_15_x86_64.whl (36.4 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

File details

Details for the file srwpy-4.0.0b0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: srwpy-4.0.0b0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 37.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for srwpy-4.0.0b0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 70484c5bfc68ca0f6d1b8af19c69258b3134dfdc351a8600adc168f41de080db
MD5 a638978882f326331ec5741f0656031a
BLAKE2b-256 1ff9c6d7500237ae04e83abddcd9ce40891e366e5b4e91f5c6d7a120f53ca67a

See more details on using hashes here.

Provenance

File details

Details for the file srwpy-4.0.0b0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srwpy-4.0.0b0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f3729a46f0a3da08d67c8d96f6853448d9656f15cca7b47e78d9b7b207e9fc2
MD5 6b129f72d6ea0eba160c61b98b3eb00f
BLAKE2b-256 4580c3a2dba4ad0819b95ee7aa6c9c526b07f96f895315be6e4c61dd2141ed58

See more details on using hashes here.

Provenance

File details

Details for the file srwpy-4.0.0b0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for srwpy-4.0.0b0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3b42bd2e64f049cafaa5d73ba36d11f2507d9f41c4c591f4ed48a932ee95196b
MD5 46111915506ddc8a8557df390013f7ba
BLAKE2b-256 a53315c44cd7dba0166eda57a2e3ec0086b8b46298b2ef8e481007f321ef2501

See more details on using hashes here.

Provenance

File details

Details for the file srwpy-4.0.0b0-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for srwpy-4.0.0b0-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 96078f590c21ac60f916994286b9bf007a2533d9c75757cffeb23eada3d99a4d
MD5 1a038880e0f3306dea07ad4e2a75b8ff
BLAKE2b-256 ba5a9d98399914652457b513a17fa2ad9e3f35f3b5c15432f569defec846f22e

See more details on using hashes here.

Provenance

File details

Details for the file srwpy-4.0.0b0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: srwpy-4.0.0b0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 37.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for srwpy-4.0.0b0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ff5f7ed868e4328b9ca3c56029ab7c1fdd96454b9de23b9dc58749ec0b7e6d56
MD5 7a87340511f11fe4b7d84a15e1b681fb
BLAKE2b-256 23e58e48c1f5824fdc81ae0183f8660ec0a7d24e8a8c48ab1792f5c4dc2e4a0b

See more details on using hashes here.

Provenance

File details

Details for the file srwpy-4.0.0b0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srwpy-4.0.0b0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b582fde4254933afa3c7cfc64003ecd9c99178ee15bf5ad8909776750c07031d
MD5 8788a6dab0302d3e4f1accaf84cb98c7
BLAKE2b-256 8430aa5b50ee44fa6d90c7e13a0ac40b3165901b53723602aa5b87c39fef950a

See more details on using hashes here.

Provenance

File details

Details for the file srwpy-4.0.0b0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for srwpy-4.0.0b0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 10181bebdcc62ca23ec18c18d852abfb869aa62ef37bd0ff5f16c0ea1ee45bf7
MD5 c535e7dac06ab415152cd70be621388c
BLAKE2b-256 9d422d630b71e65240a11cf782de0edc4012c6837f6b4b6eda3bd6677f1a22c8

See more details on using hashes here.

Provenance

File details

Details for the file srwpy-4.0.0b0-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for srwpy-4.0.0b0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 33e67bcffd0e95b253e0b675eee0bf4a5ef90ece8cf058961a403c3b2aa70226
MD5 2898696099ab8b45eba37cdc63043ed8
BLAKE2b-256 f3e890f953530ba755b035696425e652d739998c320db6c51983c02b5e267663

See more details on using hashes here.

Provenance

File details

Details for the file srwpy-4.0.0b0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: srwpy-4.0.0b0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 37.1 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for srwpy-4.0.0b0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f8169f273b9671b90470dc7b8ff9ba41be24c34b80d03c2085edf0d7eb343a0c
MD5 33026b50962358454313ca9fe35d2344
BLAKE2b-256 178df862c254bcf0b229f7190a054b9693c19ef565e8f86b6a3406167f4d4e13

See more details on using hashes here.

Provenance

File details

Details for the file srwpy-4.0.0b0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srwpy-4.0.0b0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6f7fb7209c6e94d313869c92e97f0d6529af6290f38584cc134faa0ef5240af3
MD5 9a4db93a64285032a28f092de3e9f645
BLAKE2b-256 c1e279c166c8b6596f9d3239446b3adc9ab5d611167d41ea9be8cc642aa18a80

See more details on using hashes here.

Provenance

File details

Details for the file srwpy-4.0.0b0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for srwpy-4.0.0b0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e13f7da9891675420e29a1c097ed4a3ca8e7bec8bfd1e44744b6bf50b09db6da
MD5 b7e98d5d0a5b0930bb6b90a30a16f32e
BLAKE2b-256 6d3f1944d853b203f6e117493ac87f30f36f73454b648bff506e8497f97739ae

See more details on using hashes here.

Provenance

File details

Details for the file srwpy-4.0.0b0-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for srwpy-4.0.0b0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ebc69d7130d2fa15c165695051f60c180d566eb2c6c4d2ba338f77a6435b2838
MD5 466ccf1b82eb582a7553d1661204384b
BLAKE2b-256 568d1ff89320a24b5da68742a46936ad42c2a841bf90be1d0ae1ab1ace4690cd

See more details on using hashes here.

Provenance

File details

Details for the file srwpy-4.0.0b0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: srwpy-4.0.0b0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 37.1 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for srwpy-4.0.0b0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 1d4b425db557d2067f98a3c243d0b73b69db051ab411047b3c456c9246feba9f
MD5 c1c71d8bd1ca5a2062183ff9ebfdb4a5
BLAKE2b-256 6ab5800b51ea285c697441ad57ce3ddbd64d87a6180ddb5be63ca3e60aba8bfb

See more details on using hashes here.

Provenance

File details

Details for the file srwpy-4.0.0b0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srwpy-4.0.0b0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f749dbf61b2500a71006755ebe42b3f68f4f2550426e329e0d2bbf1f94d3fab3
MD5 f782cd6a32305f8674249086c3bfdf34
BLAKE2b-256 de5c43442793e6465cfae2e3ebbc23543b93a6749fad53f3350e84464a6736a9

See more details on using hashes here.

Provenance

File details

Details for the file srwpy-4.0.0b0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for srwpy-4.0.0b0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e2ab213e2459278b50bd8461aa44dbc7270277df386030f6622d54fbb9db0c77
MD5 e1441904571c9f57e551d952c1c048c4
BLAKE2b-256 a037a3116a3f46c69ad116529fbfb133a30355d034e29f3b15a28ab7662aecf4

See more details on using hashes here.

Provenance

File details

Details for the file srwpy-4.0.0b0-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for srwpy-4.0.0b0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c7674c8103459f2d356ff48327929baccab959f77eaf2e22d1f9212b76ddf9b1
MD5 67f4d581f61b812e406f49604631a891
BLAKE2b-256 c3d724b662b58668fe572c8fd0772095e3b8fd8e00ffd101aa7f4bd7ee2c1f49

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page