Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

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

Project details


Release history Release notifications

History Node

1.0.35

History Node

1.0.34

History Node

1.0.33

History Node

1.0.32

History Node

1.0.31

History Node

1.0.30

History Node

1.0.29

History Node

1.0.28

History Node

1.0.27

History Node

1.0.26

History Node

1.0.25

History Node

1.0.24

History Node

1.0.23

History Node

1.0.22

History Node

1.0.20

History Node

1.0.19

History Node

1.0.18

This version
History Node

1.0.17

History Node

1.0.16

History Node

1.0.15

History Node

1.0.14

History Node

1.0.13

History Node

1.0.12

History Node

1.0.11

History Node

1.0.10

History Node

1.0.9

History Node

1.0.8

History Node

1.0.7

History Node

1.0.6

History Node

1.0.4

History Node

1.0.3

History Node

1.0.2

History Node

1.0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
crush-1.0.17-cp27-cp27mu-manylinux1_x86_64.whl (2.5 MB) Copy SHA256 hash SHA256 Wheel cp27 Apr 24, 2017
crush-1.0.17-cp34-cp34m-manylinux1_x86_64.whl (2.5 MB) Copy SHA256 hash SHA256 Wheel cp34 Apr 24, 2017
crush-1.0.17-cp35-cp35m-manylinux1_x86_64.whl (2.5 MB) Copy SHA256 hash SHA256 Wheel cp35 Apr 24, 2017
crush-1.0.17-cp36-cp36m-manylinux1_x86_64.whl (2.5 MB) Copy SHA256 hash SHA256 Wheel cp36 Apr 24, 2017
crush-1.0.17.tar.gz (214.4 kB) Copy SHA256 hash SHA256 Source None Apr 24, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page