library to control placement in a hierarchy
Project description
crush
=====
crush is a library to control placement in a hierarchy
- Home page : http://http://libcrush.org/main/python-crush
- Documentation : http://crush.readthedocs.org/
- PyPi : https://pypi.python.org/pypi/crush
GNU/Linux Installation
======================
* pip install crush
Other Installation
==================
When using pip versions lower than 8.1 or other operating systems,
compilation is necessary and packages must be installed first.
* apt-get install -y gcc g++ python-pip python-all-dev libpython3-all-dev cmake libboost-all-dev libatomic-ops-dev
* dnf / yum / zypper install -y gcc gcc-c++ python-pip python-devel python3-devel cmake boost-devel libatomic_ops-devel
* pip install crush
Hacking
=======
* Get the code::
git clone --recursive http://libcrush.org/main/python-crush.git
* Set up the development environment::
deactivate || true ; source bootstrap
* Run the tests::
deactivate || true ; bash run-tests.sh
* Sync the libcrush submodule::
git submodule update --remote libcrush
* Run a single test::
tox -e py27 -- -s -k test_one tests/test_crush.py
* Check the documentation::
python setup.py build_sphinx
firefox build/html/index.html
Release management
==================
* Prepare a new version
- version=1.0.0 ; perl -pi -e "s/^version.*/version = $version/" setup.cfg ; for i in 1 2 ; do python setup.py sdist ; amend=$(git log -1 --oneline | grep --quiet "version $version" && echo --amend) ; git commit $amend -m "version $version" ChangeLog setup.cfg ; git tag -a -f -m "version $version" $version ; done
* Publish a new version
- docker build --tag manylinux manylinux
- docker run --rm -v $(pwd):/io manylinux /io/manylinux/build-wheels.sh
OR docker run --rm -v $(pwd):/io manylinux env PYBINS=/opt/python/cp27-cp27mu/bin /io/manylinux/build-wheels.sh
- twine upload --sign wheelhouse/*crush*
- rm -fr dist
- python setup.py sdist
- twine upload --sign dist/*.tar.gz
- git push ; git push --tags
* pypi maintenance
- trim old versions at https://pypi.python.org/pypi/crush
=====
crush is a library to control placement in a hierarchy
- Home page : http://http://libcrush.org/main/python-crush
- Documentation : http://crush.readthedocs.org/
- PyPi : https://pypi.python.org/pypi/crush
GNU/Linux Installation
======================
* pip install crush
Other Installation
==================
When using pip versions lower than 8.1 or other operating systems,
compilation is necessary and packages must be installed first.
* apt-get install -y gcc g++ python-pip python-all-dev libpython3-all-dev cmake libboost-all-dev libatomic-ops-dev
* dnf / yum / zypper install -y gcc gcc-c++ python-pip python-devel python3-devel cmake boost-devel libatomic_ops-devel
* pip install crush
Hacking
=======
* Get the code::
git clone --recursive http://libcrush.org/main/python-crush.git
* Set up the development environment::
deactivate || true ; source bootstrap
* Run the tests::
deactivate || true ; bash run-tests.sh
* Sync the libcrush submodule::
git submodule update --remote libcrush
* Run a single test::
tox -e py27 -- -s -k test_one tests/test_crush.py
* Check the documentation::
python setup.py build_sphinx
firefox build/html/index.html
Release management
==================
* Prepare a new version
- version=1.0.0 ; perl -pi -e "s/^version.*/version = $version/" setup.cfg ; for i in 1 2 ; do python setup.py sdist ; amend=$(git log -1 --oneline | grep --quiet "version $version" && echo --amend) ; git commit $amend -m "version $version" ChangeLog setup.cfg ; git tag -a -f -m "version $version" $version ; done
* Publish a new version
- docker build --tag manylinux manylinux
- docker run --rm -v $(pwd):/io manylinux /io/manylinux/build-wheels.sh
OR docker run --rm -v $(pwd):/io manylinux env PYBINS=/opt/python/cp27-cp27mu/bin /io/manylinux/build-wheels.sh
- twine upload --sign wheelhouse/*crush*
- rm -fr dist
- python setup.py sdist
- twine upload --sign dist/*.tar.gz
- git push ; git push --tags
* pypi maintenance
- trim old versions at https://pypi.python.org/pypi/crush
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
crush-1.0.17.tar.gz
(214.4 kB
view hashes)
Built Distributions
Close
Hashes for crush-1.0.17-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5161e0d90184eb56cbe2c28897733e87555fe9c297bfc4c4a33074cdb84459f3 |
|
MD5 | dd7f021e96b2e6f9fef7728a8fb742f9 |
|
BLAKE2b-256 | de2413a40ab613285f21b1cc33d38f0e79e4859476dd0f7b7ca152dce52344a9 |
Close
Hashes for crush-1.0.17-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63df22d0caf9add5812764d747b8efd7eb52735a6718e8eea3b08d801f9bb42d |
|
MD5 | 3f724781d41c480dfefb262b079c443c |
|
BLAKE2b-256 | edae0c660359f470f0f96ffb31addb9a5d380ed934f627904cb94a709055015e |
Close
Hashes for crush-1.0.17-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7594627703166a3ecc1617c2185646ad33ea802e564087501947a9a63b0ef1bc |
|
MD5 | 8b72f9e4b9f55eacfc883e41b0922a76 |
|
BLAKE2b-256 | 44cfdf1013e5e75b9da05fb92c3275c825f345ccadd8e06b3cf06f8fa8e92182 |
Close
Hashes for crush-1.0.17-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7013369d568b0a985168b60583895b291caef1ba02835bd4fbf503f47fd2a4bf |
|
MD5 | 66ce71ed1c0a2be13657d13da7d2af6c |
|
BLAKE2b-256 | 936805f5cabff982f9131c0d5bd9fe75d29111248fefec22ebe4d4f576949ac2 |