sphinx-related work (#554)

fixes #510
This commit is contained in:
TW 2023-08-31 05:56:24 +02:00 committed by GitHub
parent 715126c67b
commit 7b75b4f368
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 59 additions and 15 deletions

32
.github/workflows/docs.yaml vendored Normal file
View file

@ -0,0 +1,32 @@
name: docs
on: ["push", "pull_request"]
jobs:
docs:
# We want to run on external PRs, but not on our own internal PRs as they'll be run
# by the push to the branch.
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
runs-on: ubuntu-latest
steps:
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
architecture: 'x64'
- name: Checkout
uses: actions/checkout@v3
- name: Build
shell: bash
run: |
pip install -r requirements.txt
make cython
pip install .
- name: Sphinx Documentation Generator
run: |
pip install tox
tox -e sphinx

1
docs/_static/README.txt vendored Normal file
View file

@ -0,0 +1 @@
Sphinx will copy the contents of docs/_static/ directory to the build location.

View file

@ -5,19 +5,19 @@ API reference
.. autofunction:: pack .. autofunction:: pack
:func:`dump` is alias for :func:`pack` ``dump()`` is an alias for :func:`pack`
.. autofunction:: packb .. autofunction:: packb
:func:`dumps` is alias for :func:`packb` ``dumps()`` is an alias for :func:`packb`
.. autofunction:: unpack .. autofunction:: unpack
:func:`load` is alias for :func:`unpack` ``load()`` is an alias for :func:`unpack`
.. autofunction:: unpackb .. autofunction:: unpackb
:func:`loads` is alias for :func:`unpackb` ``loads()`` is an alias for :func:`unpackb`
.. autoclass:: Packer .. autoclass:: Packer
:members: :members:

View file

@ -16,7 +16,7 @@ import sys, os
# If extensions (or modules to document with autodoc) are in another directory, # If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the # add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here. # documentation root, use os.path.abspath to make it absolute, like shown here.
# sys.path.insert(0, os.path.abspath('.')) #sys.path.insert(0, os.path.abspath('..'))
# -- General configuration ----------------------------------------------------- # -- General configuration -----------------------------------------------------

View file

@ -71,7 +71,8 @@ cdef class Packer(object):
Packer's constructor has some keyword arguments: Packer's constructor has some keyword arguments:
:param callable default: :param default:
When specified, it should be callable.
Convert user type to builtin type that Packer supports. Convert user type to builtin type that Packer supports.
See also simplejson's document. See also simplejson's document.

View file

@ -217,7 +217,7 @@ cdef class Unpacker(object):
:param file_like: :param file_like:
File-like object having `.read(n)` method. File-like object having `.read(n)` method.
If specified, unpacker reads serialized data from it and :meth:`feed()` is not usable. If specified, unpacker reads serialized data from it and `.feed()` is not usable.
:param int read_size: :param int read_size:
Used as `file_like.read(read_size)`. (default: `min(16*1024, max_buffer_size)`) Used as `file_like.read(read_size)`. (default: `min(16*1024, max_buffer_size)`)
@ -241,12 +241,12 @@ cdef class Unpacker(object):
:param bool strict_map_key: :param bool strict_map_key:
If true (default), only str or bytes are accepted for map (dict) keys. If true (default), only str or bytes are accepted for map (dict) keys.
:param callable object_hook: :param object_hook:
When specified, it should be callable. When specified, it should be callable.
Unpacker calls it with a dict argument after unpacking msgpack map. Unpacker calls it with a dict argument after unpacking msgpack map.
(See also simplejson) (See also simplejson)
:param callable object_pairs_hook: :param object_pairs_hook:
When specified, it should be callable. When specified, it should be callable.
Unpacker calls it with a list of key-value pairs after unpacking msgpack map. Unpacker calls it with a list of key-value pairs after unpacking msgpack map.
(See also simplejson) (See also simplejson)

View file

@ -120,7 +120,7 @@ class Timestamp:
"""Create a Timestamp from posix timestamp in seconds. """Create a Timestamp from posix timestamp in seconds.
:param unix_float: Posix timestamp in seconds. :param unix_float: Posix timestamp in seconds.
:type unix_float: int or float. :type unix_float: int or float
""" """
seconds = int(unix_sec // 1) seconds = int(unix_sec // 1)
nanoseconds = int((unix_sec % 1) * 10**9) nanoseconds = int((unix_sec % 1) * 10**9)
@ -154,7 +154,7 @@ class Timestamp:
def to_datetime(self): def to_datetime(self):
"""Get the timestamp as a UTC datetime. """Get the timestamp as a UTC datetime.
:rtype: datetime. :rtype: `datetime.datetime`
""" """
utc = datetime.timezone.utc utc = datetime.timezone.utc
return datetime.datetime.fromtimestamp(0, utc) + datetime.timedelta(seconds=self.to_unix()) return datetime.datetime.fromtimestamp(0, utc) + datetime.timedelta(seconds=self.to_unix())

View file

@ -139,7 +139,7 @@ class Unpacker:
:param file_like: :param file_like:
File-like object having `.read(n)` method. File-like object having `.read(n)` method.
If specified, unpacker reads serialized data from it and :meth:`feed()` is not usable. If specified, unpacker reads serialized data from it and `.feed()` is not usable.
:param int read_size: :param int read_size:
Used as `file_like.read(read_size)`. (default: `min(16*1024, max_buffer_size)`) Used as `file_like.read(read_size)`. (default: `min(16*1024, max_buffer_size)`)
@ -163,12 +163,12 @@ class Unpacker:
:param bool strict_map_key: :param bool strict_map_key:
If true (default), only str or bytes are accepted for map (dict) keys. If true (default), only str or bytes are accepted for map (dict) keys.
:param callable object_hook: :param object_hook:
When specified, it should be callable. When specified, it should be callable.
Unpacker calls it with a dict argument after unpacking msgpack map. Unpacker calls it with a dict argument after unpacking msgpack map.
(See also simplejson) (See also simplejson)
:param callable object_pairs_hook: :param object_pairs_hook:
When specified, it should be callable. When specified, it should be callable.
Unpacker calls it with a list of key-value pairs after unpacking msgpack map. Unpacker calls it with a list of key-value pairs after unpacking msgpack map.
(See also simplejson) (See also simplejson)
@ -616,7 +616,8 @@ class Packer:
Packer's constructor has some keyword arguments: Packer's constructor has some keyword arguments:
:param callable default: :param default:
When specified, it should be callable.
Convert user type to builtin type that Packer supports. Convert user type to builtin type that Packer supports.
See also simplejson's document. See also simplejson's document.

View file

@ -3,6 +3,7 @@ envlist =
{py35,py36,py37,py38}-{c,pure}, {py35,py36,py37,py38}-{c,pure},
{pypy,pypy3}-pure, {pypy,pypy3}-pure,
py34-x86, py34-x86,
sphinx,
isolated_build = true isolated_build = true
[testenv] [testenv]
@ -27,3 +28,11 @@ commands=
python -c 'import sys; print(hex(sys.maxsize))' python -c 'import sys; print(hex(sys.maxsize))'
python -c 'from msgpack import _cmsgpack' python -c 'from msgpack import _cmsgpack'
py.test py.test
[testenv:sphinx]
changedir = docs
deps =
sphinx
commands =
sphinx-build -n -v -W --keep-going -b html -d {envtmpdir}/doctrees . {envtmpdir}/html