[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: getting-started.rst
File is not writable. Editing disabled.
Getting started =============== Development dependencies ------------------------ Working on ``cryptography`` requires the installation of a small number of development dependencies in addition to the dependencies for :doc:`/installation`. These are listed in ``dev-requirements.txt`` and they can be installed in a `virtualenv`_ using `pip`_. Before you install them, follow the **build** instructions in :doc:`/installation` (be sure to stop before actually installing ``cryptography``). Once you've done that, install the development dependencies, and then install ``cryptography`` in ``editable`` mode. For example: .. code-block:: console $ # Create a virtualenv and activate it $ # Set up your cryptography build environment $ pip install --requirement dev-requirements.txt $ pip install --editable . You will also need to install ``enchant`` using your system's package manager to check spelling in the documentation. .. note:: There is an upstream bug in ``enchant`` that prevents its installation on Windows with 64-bit Python. See `this Github issue`_ for more information. The easiest workaround is to use 32-bit Python for ``cryptography`` development, even on 64-bit Windows. You are now ready to run the tests and build the documentation. OpenSSL on macOS ~~~~~~~~~~~~~~~~ You must have installed `OpenSSL`_ via `Homebrew`_ or `MacPorts`_ and must set ``CFLAGS`` and ``LDFLAGS`` environment variables before installing the ``dev-requirements.txt`` otherwise pip will fail with include errors. For example, with `Homebrew`_: .. code-block:: console $ env LDFLAGS="-L$(brew --prefix openssl@1.1)/lib" \ CFLAGS="-I$(brew --prefix openssl@1.1)/include" \ pip install --requirement ./dev-requirements.txt Alternatively for a static build you can specify ``CRYPTOGRAPHY_SUPPRESS_LINK_FLAGS=1`` and ensure ``LDFLAGS`` points to the absolute path for the `OpenSSL`_ libraries before calling pip. .. tip:: You will also need to set these values when `Building documentation`_. Running tests ------------- ``cryptography`` unit tests are found in the ``tests/`` directory and are designed to be run using `pytest`_. `pytest`_ will discover the tests automatically, so all you have to do is: .. code-block:: console $ pytest ... 62746 passed in 220.43 seconds This runs the tests with the default Python interpreter. You can also verify that the tests pass on other supported Python interpreters. For this we use `tox`_, which will automatically create a `virtualenv`_ for each supported Python version and run the tests. For example: .. code-block:: console $ tox ... py27: commands succeeded ERROR: pypy: InterpreterNotFound: pypy py34: commands succeeded docs: commands succeeded pep8: commands succeeded You may not have all the required Python versions installed, in which case you will see one or more ``InterpreterNotFound`` errors. Building documentation ---------------------- ``cryptography`` documentation is stored in the ``docs/`` directory. It is written in `reStructured Text`_ and rendered using `Sphinx`_. Use `tox`_ to build the documentation. For example: .. code-block:: console $ tox -e docs ... docs: commands succeeded congratulations :) The HTML documentation index can now be found at ``docs/_build/html/index.html``. .. _`Homebrew`: https://brew.sh .. _`MacPorts`: https://www.macports.org .. _`OpenSSL`: https://www.openssl.org .. _`pytest`: https://pypi.org/project/pytest/ .. _`tox`: https://pypi.org/project/tox/ .. _`virtualenv`: https://pypi.org/project/virtualenv/ .. _`pip`: https://pypi.org/project/pip/ .. _`sphinx`: https://pypi.org/project/Sphinx/ .. _`reStructured Text`: http://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html .. _`this Github issue`: https://github.com/rfk/pyenchant/issues/42
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server05.hostinghome.co.in
Server IP: 192.168.74.40
PHP Version: 7.4.33
Server Software: Apache
System: Linux server05.hostinghome.co.in 3.10.0-962.3.2.lve1.5.81.el7.x86_64 #1 SMP Wed May 31 10:36:47 UTC 2023 x86_64
HDD Total: 1.95 TB
HDD Free: 691 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Disabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: itsweb
User ID (UID): 1619
Group ID (GID): 1621
Script Owner UID: 1619
Current Dir Owner: N/A