summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-randomgen.spec632
-rw-r--r--sources1
3 files changed, 634 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..eeed882 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/randomgen-1.23.1.tar.gz
diff --git a/python-randomgen.spec b/python-randomgen.spec
new file mode 100644
index 0000000..fc5d174
--- /dev/null
+++ b/python-randomgen.spec
@@ -0,0 +1,632 @@
+%global _empty_manifest_terminate_build 0
+Name: python-randomgen
+Version: 1.23.1
+Release: 1
+Summary: Random generator supporting multiple PRNGs
+License: NCSA
+URL: https://github.com/bashtage/randomgen
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/aa/44/345e79cc06086b952fd619f9388ab16dd66d50bc05480408773fa6b07b12/randomgen-1.23.1.tar.gz
+
+
+%description
+# RandomGen
+
+This package contains additional bit generators for NumPy's
+`Generator` and an `ExtendedGenerator` exposing methods not in `Generator`.
+
+
+**Continuous Integration**
+
+[![Build Status](https://dev.azure.com/kevinksheppard0207/kevinksheppard/_apis/build/status/bashtage.randomgen?branchName=main)](https://dev.azure.com/kevinksheppard0207/kevinksheppard/_build/latest?definitionId=2&branchName=main)
+[![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/46r9xsmuwi8bxsbj/branch/main?svg=true)](https://ci.appveyor.com/project/bashtage/randomgen/branch/main)
+[![Build Status](https://cloud.drone.io/api/badges/bashtage/randomgen/status.svg)](https://cloud.drone.io/bashtage/randomgen)
+[![FreeBSD Status on Cirrus](https://api.cirrus-ci.com/github/bashtage/randomgen.svg?branch=main)](https://cirrus-ci.com/github/bashtage/randomgen)
+
+**Coverage**
+
+[![codecov](https://codecov.io/gh/bashtage/randomgen/branch/main/graph/badge.svg)](https://codecov.io/gh/bashtage/randomgen)
+
+**Latest Release**
+
+[![PyPI version](https://badge.fury.io/py/randomgen.svg)](https://pypi.org/project/randomgen/)
+[![Anacnoda Cloud](https://anaconda.org/conda-forge/randomgen/badges/version.svg)](https://anaconda.org/conda-forge/randomgen)
+
+**License**
+
+[![NCSA License](https://img.shields.io/badge/License-NCSA-blue.svg)](https://opensource.org/licenses/NCSA)
+[![BSD License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
+[![DOI](https://zenodo.org/badge/122181085.svg)](https://zenodo.org/badge/latestdoi/122181085)
+
+This is a library and generic interface for alternative random
+generators in Python and NumPy.
+
+## New Features
+
+The the [development documentation](https://bashtage.github.io/randomgen/change-log.html) for the latest features,
+or the [stable documentation](https://bashtage.github.io/randomgen/devel/change-log.html) for the latest released features.
+
+
+# WARNINGS
+
+## Changes in v1.24
+
+``Generator`` and ``RandomState`` have been **removed**.
+
+## Changes from 1.18 to 1.19
+
+``Generator`` and ``RandomState`` have been officially deprecated in 1.19, and will
+warn with a ``FutureWarning`` about their removal. They will also receive virtually
+no maintenance. It is now time to move to NumPy's ``np.random.Generator`` which has
+features not in ``randomstate.Generator`` and is maintained more actively.
+
+A few distributions that are not present in ``np.random.Generator`` have been moved
+to ``randomstate.ExtendedGenerator``:
+
+* `multivariate_normal`: which supports broadcasting
+* `uintegers`: fast 32 and 64-bit uniform integers
+* `complex_normal`: scalar complex normals
+
+There are no plans to remove any of the bit generators, e.g., ``AESCounter``,
+``ThreeFry``, or ``PCG64``.
+
+### Changes from 1.16 to 1.18
+There are many changes between v1.16.x and v1.18.x. These reflect API
+decision taken in conjunction with NumPy in preparation of the core
+of `randomgen` being used as the preferred random number generator in
+NumPy. These all issue `DeprecationWarning`s except for `BasicRNG.generator`
+which raises `NotImplementedError`. The C-API has also changed to reflect
+the preferred naming the underlying Pseudo-RNGs, which are now known as
+bit generators (or `BigGenerator`s).
+
+## Future Plans
+
+* Add some distributions that are not supported in NumPy. _Ongoing_
+* Add any interesting bit generators I come across. _Recent additions include the DXSM and CM-DXSM variants of PCG64 and the LXM generator._
+
+## Included Pseudo Random Number Generators
+
+This module includes a number of alternative random
+number generators in addition to the MT19937 that is included in NumPy.
+The RNGs include:
+
+* Cryptographic cipher-based random number generator based on AES, ChaCha20, HC128 and Speck128.
+* [MT19937](https://github.com/numpy/numpy/blob/main/numpy/random/mtrand/),
+ the NumPy rng
+* [dSFMT](http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/) a
+ SSE2-aware version of the MT19937 generator that is especially fast at
+ generating doubles
+* [xoroshiro128+](https://prng.di.unimi.it/),
+ [xorshift1024*φ](https://prng.di.unimi.it/),
+ [xoshiro256**](https://prng.di.unimi.it/),
+ and [xoshiro512**](https://prng.di.unimi.it/)
+* [PCG64](https://www.pcg-random.org/)
+* ThreeFry and Philox from [Random123](https://www.deshawresearch.com/resources_random123.html)
+* Other cryptographic-based generators: `AESCounter`, `SPECK128`, `ChaCha`, and `HC128`.
+* Hardware (non-reproducible) random number generator on AMD64 using `RDRAND`.
+* Chaotic PRNGS: Small-Fast Chaotic (`SFC64`) and Jenkin's Small-Fast (`JSF`).
+
+
+## Status
+
+* Builds and passes all tests on:
+ * Linux 32/64 bit, Python 3.7, 3.8, 3.9, 3.10
+ * Linux (ARM/ARM64), Python 3.8
+ * OSX 64-bit, Python 3.9
+ * Windows 32/64 bit, Python 3.7, 3.8, 3.9, 3.10
+ * FreeBSD 64-bit
+
+## Version
+
+The package version matches the latest version of NumPy when the package
+is released.
+
+## Documentation
+
+Documentation for the latest release is available on
+[my GitHub pages](https://bashtage.github.io/randomgen/). Documentation for
+the latest commit (unreleased) is available under
+[devel](https://bashtage.github.io/randomgen/devel/).
+
+
+## Requirements
+Building requires:
+
+* Python (3.6, 3.7, 3.8, 3.9, 3.10)
+* NumPy (1.17+)
+* Cython (0.29+)
+* tempita (0.5+), if not provided by Cython
+
+Testing requires pytest (6+).
+
+**Note:** it might work with other versions but only tested with these
+versions.
+
+## Development and Testing
+
+All development has been on 64-bit Linux, and it is regularly tested on
+Travis-CI (Linux-AMD64, Linux-PPC-LE, Linus-S390X, and OSX), Appveyor (Windows 32/64),
+Cirrus (FreeBSD) and Drone.io (ARM/ARM64 Linux).
+
+Tests are in place for all RNGs. The MT19937 is tested against
+NumPy's implementation for identical results. It also passes NumPy's
+test suite where still relevant.
+
+## Installing
+
+Either install from PyPi using
+
+```bash
+python -m pip install randomgen
+```
+
+or, if you want the latest version,
+
+```bash
+python -m pip install git+https://github.com/bashtage/randomgen.git
+```
+
+or from a cloned repo,
+
+```bash
+python -m pip install .
+```
+
+If you use conda, you can install using conda forge
+
+```bash
+conda install -c conda-forge randomgen
+```
+
+### SSE2
+
+`dSFTM` makes use of SSE2 by default. If you have a very old computer
+or are building on non-x86, you can install using:
+
+```bash
+export RANDOMGEN_NO_SSE2=1
+python -m pip install .
+```
+
+### Windows
+
+Either use a binary installer, or if building from scratch, use
+Python 3.6/3.7 with Visual Studio 2015 Build Toolx.
+
+## License
+
+Dual: BSD 3-Clause and NCSA, plus sub licenses for components.
+
+
+%package -n python3-randomgen
+Summary: Random generator supporting multiple PRNGs
+Provides: python-randomgen
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+BuildRequires: python3-cffi
+BuildRequires: gcc
+BuildRequires: gdb
+%description -n python3-randomgen
+# RandomGen
+
+This package contains additional bit generators for NumPy's
+`Generator` and an `ExtendedGenerator` exposing methods not in `Generator`.
+
+
+**Continuous Integration**
+
+[![Build Status](https://dev.azure.com/kevinksheppard0207/kevinksheppard/_apis/build/status/bashtage.randomgen?branchName=main)](https://dev.azure.com/kevinksheppard0207/kevinksheppard/_build/latest?definitionId=2&branchName=main)
+[![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/46r9xsmuwi8bxsbj/branch/main?svg=true)](https://ci.appveyor.com/project/bashtage/randomgen/branch/main)
+[![Build Status](https://cloud.drone.io/api/badges/bashtage/randomgen/status.svg)](https://cloud.drone.io/bashtage/randomgen)
+[![FreeBSD Status on Cirrus](https://api.cirrus-ci.com/github/bashtage/randomgen.svg?branch=main)](https://cirrus-ci.com/github/bashtage/randomgen)
+
+**Coverage**
+
+[![codecov](https://codecov.io/gh/bashtage/randomgen/branch/main/graph/badge.svg)](https://codecov.io/gh/bashtage/randomgen)
+
+**Latest Release**
+
+[![PyPI version](https://badge.fury.io/py/randomgen.svg)](https://pypi.org/project/randomgen/)
+[![Anacnoda Cloud](https://anaconda.org/conda-forge/randomgen/badges/version.svg)](https://anaconda.org/conda-forge/randomgen)
+
+**License**
+
+[![NCSA License](https://img.shields.io/badge/License-NCSA-blue.svg)](https://opensource.org/licenses/NCSA)
+[![BSD License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
+[![DOI](https://zenodo.org/badge/122181085.svg)](https://zenodo.org/badge/latestdoi/122181085)
+
+This is a library and generic interface for alternative random
+generators in Python and NumPy.
+
+## New Features
+
+The the [development documentation](https://bashtage.github.io/randomgen/change-log.html) for the latest features,
+or the [stable documentation](https://bashtage.github.io/randomgen/devel/change-log.html) for the latest released features.
+
+
+# WARNINGS
+
+## Changes in v1.24
+
+``Generator`` and ``RandomState`` have been **removed**.
+
+## Changes from 1.18 to 1.19
+
+``Generator`` and ``RandomState`` have been officially deprecated in 1.19, and will
+warn with a ``FutureWarning`` about their removal. They will also receive virtually
+no maintenance. It is now time to move to NumPy's ``np.random.Generator`` which has
+features not in ``randomstate.Generator`` and is maintained more actively.
+
+A few distributions that are not present in ``np.random.Generator`` have been moved
+to ``randomstate.ExtendedGenerator``:
+
+* `multivariate_normal`: which supports broadcasting
+* `uintegers`: fast 32 and 64-bit uniform integers
+* `complex_normal`: scalar complex normals
+
+There are no plans to remove any of the bit generators, e.g., ``AESCounter``,
+``ThreeFry``, or ``PCG64``.
+
+### Changes from 1.16 to 1.18
+There are many changes between v1.16.x and v1.18.x. These reflect API
+decision taken in conjunction with NumPy in preparation of the core
+of `randomgen` being used as the preferred random number generator in
+NumPy. These all issue `DeprecationWarning`s except for `BasicRNG.generator`
+which raises `NotImplementedError`. The C-API has also changed to reflect
+the preferred naming the underlying Pseudo-RNGs, which are now known as
+bit generators (or `BigGenerator`s).
+
+## Future Plans
+
+* Add some distributions that are not supported in NumPy. _Ongoing_
+* Add any interesting bit generators I come across. _Recent additions include the DXSM and CM-DXSM variants of PCG64 and the LXM generator._
+
+## Included Pseudo Random Number Generators
+
+This module includes a number of alternative random
+number generators in addition to the MT19937 that is included in NumPy.
+The RNGs include:
+
+* Cryptographic cipher-based random number generator based on AES, ChaCha20, HC128 and Speck128.
+* [MT19937](https://github.com/numpy/numpy/blob/main/numpy/random/mtrand/),
+ the NumPy rng
+* [dSFMT](http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/) a
+ SSE2-aware version of the MT19937 generator that is especially fast at
+ generating doubles
+* [xoroshiro128+](https://prng.di.unimi.it/),
+ [xorshift1024*φ](https://prng.di.unimi.it/),
+ [xoshiro256**](https://prng.di.unimi.it/),
+ and [xoshiro512**](https://prng.di.unimi.it/)
+* [PCG64](https://www.pcg-random.org/)
+* ThreeFry and Philox from [Random123](https://www.deshawresearch.com/resources_random123.html)
+* Other cryptographic-based generators: `AESCounter`, `SPECK128`, `ChaCha`, and `HC128`.
+* Hardware (non-reproducible) random number generator on AMD64 using `RDRAND`.
+* Chaotic PRNGS: Small-Fast Chaotic (`SFC64`) and Jenkin's Small-Fast (`JSF`).
+
+
+## Status
+
+* Builds and passes all tests on:
+ * Linux 32/64 bit, Python 3.7, 3.8, 3.9, 3.10
+ * Linux (ARM/ARM64), Python 3.8
+ * OSX 64-bit, Python 3.9
+ * Windows 32/64 bit, Python 3.7, 3.8, 3.9, 3.10
+ * FreeBSD 64-bit
+
+## Version
+
+The package version matches the latest version of NumPy when the package
+is released.
+
+## Documentation
+
+Documentation for the latest release is available on
+[my GitHub pages](https://bashtage.github.io/randomgen/). Documentation for
+the latest commit (unreleased) is available under
+[devel](https://bashtage.github.io/randomgen/devel/).
+
+
+## Requirements
+Building requires:
+
+* Python (3.6, 3.7, 3.8, 3.9, 3.10)
+* NumPy (1.17+)
+* Cython (0.29+)
+* tempita (0.5+), if not provided by Cython
+
+Testing requires pytest (6+).
+
+**Note:** it might work with other versions but only tested with these
+versions.
+
+## Development and Testing
+
+All development has been on 64-bit Linux, and it is regularly tested on
+Travis-CI (Linux-AMD64, Linux-PPC-LE, Linus-S390X, and OSX), Appveyor (Windows 32/64),
+Cirrus (FreeBSD) and Drone.io (ARM/ARM64 Linux).
+
+Tests are in place for all RNGs. The MT19937 is tested against
+NumPy's implementation for identical results. It also passes NumPy's
+test suite where still relevant.
+
+## Installing
+
+Either install from PyPi using
+
+```bash
+python -m pip install randomgen
+```
+
+or, if you want the latest version,
+
+```bash
+python -m pip install git+https://github.com/bashtage/randomgen.git
+```
+
+or from a cloned repo,
+
+```bash
+python -m pip install .
+```
+
+If you use conda, you can install using conda forge
+
+```bash
+conda install -c conda-forge randomgen
+```
+
+### SSE2
+
+`dSFTM` makes use of SSE2 by default. If you have a very old computer
+or are building on non-x86, you can install using:
+
+```bash
+export RANDOMGEN_NO_SSE2=1
+python -m pip install .
+```
+
+### Windows
+
+Either use a binary installer, or if building from scratch, use
+Python 3.6/3.7 with Visual Studio 2015 Build Toolx.
+
+## License
+
+Dual: BSD 3-Clause and NCSA, plus sub licenses for components.
+
+
+%package help
+Summary: Development documents and examples for randomgen
+Provides: python3-randomgen-doc
+%description help
+# RandomGen
+
+This package contains additional bit generators for NumPy's
+`Generator` and an `ExtendedGenerator` exposing methods not in `Generator`.
+
+
+**Continuous Integration**
+
+[![Build Status](https://dev.azure.com/kevinksheppard0207/kevinksheppard/_apis/build/status/bashtage.randomgen?branchName=main)](https://dev.azure.com/kevinksheppard0207/kevinksheppard/_build/latest?definitionId=2&branchName=main)
+[![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/46r9xsmuwi8bxsbj/branch/main?svg=true)](https://ci.appveyor.com/project/bashtage/randomgen/branch/main)
+[![Build Status](https://cloud.drone.io/api/badges/bashtage/randomgen/status.svg)](https://cloud.drone.io/bashtage/randomgen)
+[![FreeBSD Status on Cirrus](https://api.cirrus-ci.com/github/bashtage/randomgen.svg?branch=main)](https://cirrus-ci.com/github/bashtage/randomgen)
+
+**Coverage**
+
+[![codecov](https://codecov.io/gh/bashtage/randomgen/branch/main/graph/badge.svg)](https://codecov.io/gh/bashtage/randomgen)
+
+**Latest Release**
+
+[![PyPI version](https://badge.fury.io/py/randomgen.svg)](https://pypi.org/project/randomgen/)
+[![Anacnoda Cloud](https://anaconda.org/conda-forge/randomgen/badges/version.svg)](https://anaconda.org/conda-forge/randomgen)
+
+**License**
+
+[![NCSA License](https://img.shields.io/badge/License-NCSA-blue.svg)](https://opensource.org/licenses/NCSA)
+[![BSD License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
+[![DOI](https://zenodo.org/badge/122181085.svg)](https://zenodo.org/badge/latestdoi/122181085)
+
+This is a library and generic interface for alternative random
+generators in Python and NumPy.
+
+## New Features
+
+The the [development documentation](https://bashtage.github.io/randomgen/change-log.html) for the latest features,
+or the [stable documentation](https://bashtage.github.io/randomgen/devel/change-log.html) for the latest released features.
+
+
+# WARNINGS
+
+## Changes in v1.24
+
+``Generator`` and ``RandomState`` have been **removed**.
+
+## Changes from 1.18 to 1.19
+
+``Generator`` and ``RandomState`` have been officially deprecated in 1.19, and will
+warn with a ``FutureWarning`` about their removal. They will also receive virtually
+no maintenance. It is now time to move to NumPy's ``np.random.Generator`` which has
+features not in ``randomstate.Generator`` and is maintained more actively.
+
+A few distributions that are not present in ``np.random.Generator`` have been moved
+to ``randomstate.ExtendedGenerator``:
+
+* `multivariate_normal`: which supports broadcasting
+* `uintegers`: fast 32 and 64-bit uniform integers
+* `complex_normal`: scalar complex normals
+
+There are no plans to remove any of the bit generators, e.g., ``AESCounter``,
+``ThreeFry``, or ``PCG64``.
+
+### Changes from 1.16 to 1.18
+There are many changes between v1.16.x and v1.18.x. These reflect API
+decision taken in conjunction with NumPy in preparation of the core
+of `randomgen` being used as the preferred random number generator in
+NumPy. These all issue `DeprecationWarning`s except for `BasicRNG.generator`
+which raises `NotImplementedError`. The C-API has also changed to reflect
+the preferred naming the underlying Pseudo-RNGs, which are now known as
+bit generators (or `BigGenerator`s).
+
+## Future Plans
+
+* Add some distributions that are not supported in NumPy. _Ongoing_
+* Add any interesting bit generators I come across. _Recent additions include the DXSM and CM-DXSM variants of PCG64 and the LXM generator._
+
+## Included Pseudo Random Number Generators
+
+This module includes a number of alternative random
+number generators in addition to the MT19937 that is included in NumPy.
+The RNGs include:
+
+* Cryptographic cipher-based random number generator based on AES, ChaCha20, HC128 and Speck128.
+* [MT19937](https://github.com/numpy/numpy/blob/main/numpy/random/mtrand/),
+ the NumPy rng
+* [dSFMT](http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/) a
+ SSE2-aware version of the MT19937 generator that is especially fast at
+ generating doubles
+* [xoroshiro128+](https://prng.di.unimi.it/),
+ [xorshift1024*φ](https://prng.di.unimi.it/),
+ [xoshiro256**](https://prng.di.unimi.it/),
+ and [xoshiro512**](https://prng.di.unimi.it/)
+* [PCG64](https://www.pcg-random.org/)
+* ThreeFry and Philox from [Random123](https://www.deshawresearch.com/resources_random123.html)
+* Other cryptographic-based generators: `AESCounter`, `SPECK128`, `ChaCha`, and `HC128`.
+* Hardware (non-reproducible) random number generator on AMD64 using `RDRAND`.
+* Chaotic PRNGS: Small-Fast Chaotic (`SFC64`) and Jenkin's Small-Fast (`JSF`).
+
+
+## Status
+
+* Builds and passes all tests on:
+ * Linux 32/64 bit, Python 3.7, 3.8, 3.9, 3.10
+ * Linux (ARM/ARM64), Python 3.8
+ * OSX 64-bit, Python 3.9
+ * Windows 32/64 bit, Python 3.7, 3.8, 3.9, 3.10
+ * FreeBSD 64-bit
+
+## Version
+
+The package version matches the latest version of NumPy when the package
+is released.
+
+## Documentation
+
+Documentation for the latest release is available on
+[my GitHub pages](https://bashtage.github.io/randomgen/). Documentation for
+the latest commit (unreleased) is available under
+[devel](https://bashtage.github.io/randomgen/devel/).
+
+
+## Requirements
+Building requires:
+
+* Python (3.6, 3.7, 3.8, 3.9, 3.10)
+* NumPy (1.17+)
+* Cython (0.29+)
+* tempita (0.5+), if not provided by Cython
+
+Testing requires pytest (6+).
+
+**Note:** it might work with other versions but only tested with these
+versions.
+
+## Development and Testing
+
+All development has been on 64-bit Linux, and it is regularly tested on
+Travis-CI (Linux-AMD64, Linux-PPC-LE, Linus-S390X, and OSX), Appveyor (Windows 32/64),
+Cirrus (FreeBSD) and Drone.io (ARM/ARM64 Linux).
+
+Tests are in place for all RNGs. The MT19937 is tested against
+NumPy's implementation for identical results. It also passes NumPy's
+test suite where still relevant.
+
+## Installing
+
+Either install from PyPi using
+
+```bash
+python -m pip install randomgen
+```
+
+or, if you want the latest version,
+
+```bash
+python -m pip install git+https://github.com/bashtage/randomgen.git
+```
+
+or from a cloned repo,
+
+```bash
+python -m pip install .
+```
+
+If you use conda, you can install using conda forge
+
+```bash
+conda install -c conda-forge randomgen
+```
+
+### SSE2
+
+`dSFTM` makes use of SSE2 by default. If you have a very old computer
+or are building on non-x86, you can install using:
+
+```bash
+export RANDOMGEN_NO_SSE2=1
+python -m pip install .
+```
+
+### Windows
+
+Either use a binary installer, or if building from scratch, use
+Python 3.6/3.7 with Visual Studio 2015 Build Toolx.
+
+## License
+
+Dual: BSD 3-Clause and NCSA, plus sub licenses for components.
+
+
+%prep
+%autosetup -n randomgen-1.23.1
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-randomgen -f filelist.lst
+%dir %{python3_sitearch}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 1.23.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..a696252
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+2c78b3950eb1145dc4925194659780fc randomgen-1.23.1.tar.gz