Skip to content

Commit b152bef

Browse files
committed
Update install notes to be consistent with introduction of pyproject.toml
1 parent 02e93d6 commit b152bef

1 file changed

Lines changed: 10 additions & 39 deletions

File tree

docs/installation.rst

Lines changed: 10 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,9 @@ process can take a long time -- as long as 10 minutes in some environments.
9999

100100
In environments where performance is less important, it may be worth it to
101101
:ref:`disable Cython as documented below <cython-extensions>`.
102-
You can also use ``CASS_DRIVER_BUILD_CONCURRENCY`` to increase the number of
103-
threads used to build the driver and any C extensions:
102+
You can also use ``build-concurrency`` key in the ``tool.cassandra-driver`` table of pyproject.toml to
103+
increase the number of threads used to build the driver and any C extensions.
104104

105-
.. code-block:: bash
106-
107-
$ # installing from source
108-
$ CASS_DRIVER_BUILD_CONCURRENCY=8 python setup.py install
109-
$ # installing from pip
110-
$ CASS_DRIVER_BUILD_CONCURRENCY=8 pip install cassandra-driver
111105

112106
OSX Installation Error
113107
^^^^^^^^^^^^^^^^^^^^^^
@@ -161,9 +155,10 @@ for token-aware routing with the ``Murmur3Partitioner``,
161155
`libev <http://software.schmorp.de/pkg/libev.html>`_ event loop integration,
162156
and Cython optimized extensions.
163157

164-
When installing manually through setup.py, you can disable both with
165-
the ``--no-extensions`` option, or selectively disable them with
166-
with ``--no-murmur3``, ``--no-libev``, or ``--no-cython``.
158+
When installing manually these options can be disabled by changing the corresponding
159+
key in the ``tool.cassandra-driver`` table of pyproject.toml to "false". Please consult
160+
the ``build-murmur3-extension``, ``build-libev-extension`` and ``build-cython-extensions``
161+
keys (respectively) to disable these extensions.
167162

168163
To compile the extensions, ensure that GCC and the Python headers are available.
169164

@@ -184,36 +179,12 @@ See :ref:`windows_build` for notes on configuring the build environment on Windo
184179
Cython-based Extensions
185180
~~~~~~~~~~~~~~~~~~~~~~~
186181
By default, this package uses `Cython <http://cython.org/>`_ to optimize core modules and build custom extensions.
187-
This is not a hard requirement, but is engaged by default to build extensions offering better performance than the
182+
This is not a hard requirement, but is enabled by default to build extensions offering better performance than the
188183
pure Python implementation.
189184

190-
This is a costly build phase, especially in clean environments where the Cython compiler must be built
191-
This build phase can be avoided using the build switch, or an environment variable::
192-
193-
python setup.py install --no-cython
194-
195-
Alternatively, an environment variable can be used to switch this option regardless of
196-
context::
197-
198-
CASS_DRIVER_NO_CYTHON=1 <your script here>
199-
- or, to disable all extensions:
200-
CASS_DRIVER_NO_EXTENSIONS=1 <your script here>
201-
202-
This method is required when using pip, which provides no other way of injecting user options in a single command::
203-
204-
CASS_DRIVER_NO_CYTHON=1 pip install cassandra-driver
205-
CASS_DRIVER_NO_CYTHON=1 sudo -E pip install ~/python-driver
206-
207-
The environment variable is the preferred option because it spans all invocations of setup.py, and will
208-
prevent Cython from being materialized as a setup requirement.
209-
210-
If your sudo configuration does not allow SETENV, you must push the option flag down via pip. However, pip
211-
applies these options to all dependencies (which break on the custom flag). Therefore, you must first install
212-
dependencies, then use install-option::
213-
214-
sudo pip install futures
215-
sudo pip install --install-option="--no-cython"
216-
185+
This process does take some time, however, so if you wish to build without generating these extensions using
186+
Cython you can do so by changing the ``build-cython-extensions`` key in the ``tool.cassandra-driver`` table of pyproject.toml.
187+
By default this key is set to "true"; simply changing it to "false" will disable all Cython functionality.
217188

218189
Supported Event Loops
219190
^^^^^^^^^^^^^^^^^^^^^

0 commit comments

Comments
 (0)