summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames R. Barlow <james@purplerock.ca>2022-09-26 23:21:43 -0700
committerSean Whitton <spwhitton@spwhitton.name>2022-09-28 14:18:59 -0700
commitda127db0ab2fa86177727e57801be54fdb3273e5 (patch)
tree3b8c004f6b0f125c5f0095870c80c5bedbdca449
parent6c2caafe33e7dac3b047aeeb32d005a5d76c47da (diff)
Optional patch: remove sphinx-design
For Debian's pikepdf docs build. (cherry picked from commit bfe76fdeb2d1a94b121493caacc7131a9232cb4f) Gbp-Pq: Name Optional-patch-remove-sphinx-design.patch
-rw-r--r--docs/conf.py1
-rw-r--r--docs/installation.rst290
-rw-r--r--docs/requirements.txt1
-rw-r--r--setup.cfg1
4 files changed, 0 insertions, 293 deletions
diff --git a/docs/conf.py b/docs/conf.py
index 7dd3ebc..e93f442 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -31,7 +31,6 @@ extensions = [
'sphinx.ext.autosummary',
'sphinx.ext.napoleon',
'sphinx_issues',
- 'sphinx_design',
'IPython.sphinxext.ipython_console_highlighting',
'IPython.sphinxext.ipython_directive',
'fix_pybind11_autodoc',
diff --git a/docs/installation.rst b/docs/installation.rst
deleted file mode 100644
index 572d384..0000000
--- a/docs/installation.rst
+++ /dev/null
@@ -1,290 +0,0 @@
-Installation
-============
-
-Basic installation
-------------------
-
-.. |latest| image:: https://img.shields.io/pypi/v/pikepdf.svg
- :alt: pikepdf latest released version on PyPI
-
-|latest|
-
-Most users on Linux, macOS or Windows with x64 systems should use ``pip`` to
-install pikepdf in their current Python environment (such as your project's
-virtual environment).
-
-.. code-block:: bash
-
- pip install pikepdf
-
-Use ``pip install --user pikepdf`` to install the package for the current user
-only. Use ``pip install pikepdf`` to install to a virtual environment.
-
-**Linux users:** If you have an older version of ``pip``, such as the one that ships
-with Ubuntu 18.04, this command will attempt to compile the project instead of
-installing the wheel. If you want to get the binary wheel, upgrade ``pip`` with:
-
-.. code-block:: bash
-
- wget https://bootstrap.pypa.io/get-pip.py && python3 get-pip.py
- pip --version # should be 20.0 or newer
- pip install pikepdf
-
-Binary wheel availability
--------------------------
-
-.. csv-table:: Python binary wheel availability
- :file: binary-wheels.csv
- :header-rows: 1
-
-* ✅ wheels are available
-
-* 🍏 wheels are available for Apple Silicon but their release may lag a few days
-
-* ❌ wheels are not likely to be produced for this platform and Python version
-
-* ⏳ we are waiting on a third party to implement better support for this configuration
-
-Binary wheels should work on most systems, **provided a recent version
-of pip is used to install them**. Old versions of pip, especially before 20.0,
-may fail to check appropriate versions.
-
-macOS 10.14 or newer is typically required for binary wheels. Older versions may
-work if compiled from source.
-
-Windows 7 or newer is required. Windows wheels include a recent copy of libqpdf.
-
-Most Linux distributions support manylinux2014, with the notable except of
-`Alpine Linux`_, and older Linux distributions that do not have C++17-capable
-compilers. The Linux wheels include recent copies of libqpdf, libjpeg, and zlib.
-
-Source builds are usually possible where binary wheels are available.
-
-Platform support
-----------------
-
-Some platforms include versions of pikepdf that are distributed by the system
-package manager (such as ``apt``). These versions may lag behind the version
-distributed with PyPI, but may be convenient for users that cannot use binary
-wheels.
-
-.. figure:: /images/sushi.jpg
- :align: right
- :alt: Bento box containing sushi
- :figwidth: 40%
-
- Packaged fish.
-
-.. |python-pikepdf| image:: https://repology.org/badge/vertical-allrepos/python:pikepdf.svg
- :alt: Package status for python:pikepdf
-
-|python-pikepdf|
-
-
-Debian, Ubuntu and other APT-based distributions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. code-block:: bash
-
- apt install pikepdf
-
-Fedora
-^^^^^^
-
-.. |fedora| image:: https://repology.org/badge/version-for-repo/fedora_rawhide/python:pikepdf.svg
- :alt: Fedora Rawhide
-
-|fedora|
-
-.. code-block:: bash
-
- dnf install python-pikepdf
-
-Alpine Linux
-^^^^^^^^^^^^
-
-.. |alpine| image:: https://repology.org/badge/version-for-repo/alpine_edge/python:pikepdf.svg
- :alt: Alpine Linux Edge
-
-|alpine|
-
-.. code-block:: bash
-
- apk add py3-pikepdf
-
-Installing on FreeBSD
----------------------
-
-.. |freebsd| image:: https://repology.org/badge/version-for-repo/freebsd/python:pikepdf.svg
- :alt: FreeBSD
- :target: https://repology.org/project/python:pikepdf/versions
-
-.. code-block:: bash
-
- pkg install py38-pikepdf
-
-To attempt a manual install, try something like:
-
-.. code-block:: bash
-
- pkg install python3 py38-lxml py38-pip py38-pybind11 qpdf
- pip install --user pikepdf
-
-This procedure is known to work on FreeBSD 11.3, 12.0, 12.1-RELEASE and
-13.0-CURRENT. It has not been tested on other versions.
-
-Building from source
---------------------
-
-Requirements
-^^^^^^^^^^^^
-
-pikepdf requires:
-
-- a C++17 compliant compiler - roughly GCC 7+, clang 6+, or MSVC 19+
-- `pybind11 <https://github.com/pybind/pybind11>`_
-- libqpdf |qpdf-min-version| or higher from the
- `QPDF <https://github.com/qpdf/qpdf>`_ project.
-
-On Linux the library and headers for libqpdf must be installed because pikepdf
-compiles code against it and links to it.
-
-Check `Repology for QPDF <https://repology.org/project/qpdf/badges>`_ to
-see if a recent version of QPDF is available for your platform. Otherwise you
-must
-`build QPDF from source <https://github.com/qpdf/qpdf/blob/master/INSTALL>`_.
-(Consider using the binary wheels, which bundle the required version of
-libqpdf.)
-
-.. note::
-
- pikepdf should be built with the same compiler and linker as libqpdf; to be
- precise both **must** use the same C++ ABI. On some platforms, setup.py may
- not pick the correct compiler so one may need to set environment variables
- ``CC`` and ``CXX`` to redirect it. If the wrong compiler is selected,
- ``import pikepdf._qpdf`` will throw an ``ImportError`` about a missing
- symbol.
-
-:fa:`linux` :fa:`apple` GCC or Clang, linking to system libraries
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To link to system libraries (the ones installed by your package manager, such
-``apt``, ``brew`` or ``dnf``:
-
-- Clone the pikepdf repository
-- Install libjpeg, zlib and libqpdf on your platform, including headers
-- If desired, activate a virtual environment
-- Run ``pip install .``
-
-:fa:`linux` :fa:`apple` GCC or Clang and linking to user libraries
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-setuptools will normally attempt to link against your system libraries.
-If you wish to link pikepdf against a different version of the QPDF (say,
-because pikepdf requires a newer version than your operating system has),
-then you might do something like:
-
-- Install the development headers for libjpeg and zlib (e.g. ``apt install libjpeg-dev``)
-- Build qpdf from source and run ``make install`` to install it to ``/usr/local``
-- Clone the pikepdf repository
-- From the pikepdf directory, run
-
- .. code-block:: bash
-
- env CXXFLAGS=-I/usr/local/include/libqpdf LDFLAGS=-L/usr/local/lib \
- pip install .
-
-:fa:`windows` On Windows (requires Visual Studio 2015)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. |msvc-zip| replace:: qpdf-|qpdf-version|-bin-msvc64.zip
-
-pikepdf requires a C++17 compliant compiler (i.e. Visual Studio 2015 on
-Windows). See our continuous integration build script in ``.appveyor.yml``
-for detailed and current instructions. Or use the wheels which save this pain.
-
-These instructions require the precompiled binary ``qpdf.dll``. See the QPDF
-documentation if you also need to build this DLL from source. Both should be
-built with the same compiler. You may not mix and match MinGW and Visual C++
-for example.
-
-Running a regular ``pip install`` command will detect the
-version of the compiler used to build Python and attempt to build the
-extension with it. We must force the use of Visual Studio 2015.
-
-- Clone this repository.
-- In a command prompt, run:
-
- .. code-block:: bat
-
- %VS140COMNTOOLS%\..\..\VC\vcvarsall.bat" x64
- set DISTUTILS_USE_SDK=1
- set MSSdk=1
-
-- Download |msvc-zip| from the `QPDF releases page <https://github.com/qpdf/qpdf/releases>`_.
-- Extract ``bin\*.dll`` (all the DLLs, both QPDF's and the Microsoft Visual C++
- Runtime library) from the zip file above, and copy it to the ``src/pikepdf``
- folder in the repository.
-- Run ``pip install .`` in the root directory of the repository.
-
-.. note::
-
- The user compiling ``pikepdf`` to must have registry editing rights on the
- machine to be able to run the ``vcvarsall.bat`` script.
-
-.. |posix| replace:: :fa:`linux` :fa:`apple`
-
-:fa:`linux` :fa:`apple` :fa:`windows` Building against a QPDF source tree
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Follow these steps to build pikepdf against a different version of QPDF, rather than
-the one provided with your operating system. This may be useful if you need a more
-recent version of QPDF than your operating system package manager provides, and you
-do not want to use Python wheels.
-
-* Set the environment variable ``QPDF_SOURCE_TREE`` to the location of the QPDF source
- tree. Set the environment variable ``QPDF_BUILD_LIBDIR`` to the directory that
- contains the shared library built by cmake from this source tree. Typically this
- will be ``.../build/libqpdf`` where ``.../build`` represents the cmake build
- directory. If you are using a multi-configuration generator, it may be in a
- subdirectory of that.
-
-* Build QPDF, by running ``cmake``. Refer to the QPDF installation instructions for
- further options and details.
-
-* On Linux, modify ``LD_LIBRARY_PATH``, prepending the path where the QPDF build
- produces ``libqpdfXX.so``. This is the same directory you assigned the
- ``QPDF_BUILD_LIBRARY`` environment variable to. On macOS, the equivalent
- variable is ``DYLD_LIBRARY_PATH``. On Windows, no action is needed. Generally,
- what you are doing here is telling the runtime dynamic linker to use the custom
- compiled version of QPDF instead of the system version.
-
-* Build pikepdf. On Windows, locate the QPDF .dll files and copy them into the folder
- alongside the file named ``_qpdf*.dll``.
-
-Note that the Python wheels for pikepdf currently compile their own version of
-QPDF and several of its dependencies to ensure the wheels have the latest version.
-You can also refer to the GitHub Actions YAML files for build steps.
-
-Building the documentation
---------------------------
-
-Documentation is generated using Sphinx and you are currently reading it. To
-regenerate it:
-
-.. code-block:: bash
-
- pip install pikepdf[docs]
- cd docs
- make html
-
-PyPy3 support
--------------
-
-PyPy3 3.7 is currently supported, these being the latest versions of PyPy
-as of this writing. Windows PyPy wheels are not supported because cibuildwheel
-does not support Windows 64-bit PyPy. We have not checked if source builds work.
-
-PyPy3 is not more performant than CPython for pikepdf, because the core of pikepdf
-is already written in C++. The benefit is for applications that want to use PyPy
-for improved performance of native Python and also want to use pikepdf.
diff --git a/docs/requirements.txt b/docs/requirements.txt
index d5c92e3..84fbd48 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -13,7 +13,6 @@ pybind11
setuptools_scm
Sphinx >= 3
sphinx-issues
-sphinx-design
sphinx-rtd-theme
tomli; python_version < '3.11'
diff --git a/setup.cfg b/setup.cfg
index 76bf3aa..add9a51 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -59,7 +59,6 @@ docs =
pybind11
requests
setuptools-scm
- sphinx-design
sphinx-issues
sphinx-rtd-theme
tomli;python_version < '3.11'