A library for creating and solving constrained randomization problems
Project description
constrainedrandom
A package for creating and solving constrained randomization problems.
Use this package to create SystemVerilog-style "declarative" randomizable objects in Python.
This is achieved by providing wrappers around the Python random
and constraint
packages, and aims to be as efficient as possible in a language like Python.
Installation
$ pip install constrainedrandom
Documentation
TODO
add link to readthedocs
To build the documentation yourself:
$ cd docs
$ make html
The index page is at docs/_build/html/index.html
- you can open this in a web browser.
Contributions
Please feel free to contribute to the project, following these guidelines:
- Please contribute by creating a fork and submitting a pull request.
- Pull requests should be as small as possible to resolve the issue they are trying to address.
- Pull requests must respect the goals of the library, as stated in the documentation.
- Pull requests should maintain backwards compatibility at least as far as Python 3.8.
- Pull requests should pass all the tests in the
tests/
directory. Runpython -m tests
. - Pull requests should take care not to make performance worse except for cases which require bug fixes. Run
python -m tests
andpython -m benchmarks
. - Pull requests should update the documentation for any added/changed functionality.
TODO
- Add proper CI using tox or similar, testing Python versions 3.8..current
- Add equivalent SystemVerilog testcases for benchmarking.
Contact the author(s)
Will Keen - william.keen@imgtec.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for constrainedrandom-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a0780d10dfefde6dbd9b5867ba1ad34005d8740fca0e938e12ba324bb29128c |
|
MD5 | c5f5a981841687e3e3eb4518b53f3b61 |
|
BLAKE2b-256 | 19395685d490aab4cdfaeaef04648de12b339daeaebe8c6141e2cddcc9a8262d |