mirror of
https://github.com/msgpack/msgpack-python.git
synced 2025-10-19 20:03:16 +00:00
move project metadata to pyproject.toml (#555)
also: replace flake8 by ruff.
This commit is contained in:
parent
7b75b4f368
commit
423c6df265
14 changed files with 57 additions and 54 deletions
|
@ -11,11 +11,11 @@
|
||||||
# All configuration values have a default; values that are commented out
|
# All configuration values have a default; values that are commented out
|
||||||
# serve to show the default.
|
# serve to show the default.
|
||||||
|
|
||||||
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.
|
||||||
|
#import os
|
||||||
|
#import sys
|
||||||
#sys.path.insert(0, os.path.abspath('..'))
|
#sys.path.insert(0, os.path.abspath('..'))
|
||||||
|
|
||||||
# -- General configuration -----------------------------------------------------
|
# -- General configuration -----------------------------------------------------
|
||||||
|
|
|
@ -2,7 +2,6 @@ from .exceptions import *
|
||||||
from .ext import ExtType, Timestamp
|
from .ext import ExtType, Timestamp
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
version = (1, 0, 5)
|
version = (1, 0, 5)
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
import datetime
|
import datetime
|
||||||
import sys
|
|
||||||
import struct
|
import struct
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,8 +19,9 @@ class ExtType(namedtuple("ExtType", "code data")):
|
||||||
class Timestamp:
|
class Timestamp:
|
||||||
"""Timestamp represents the Timestamp extension type in msgpack.
|
"""Timestamp represents the Timestamp extension type in msgpack.
|
||||||
|
|
||||||
When built with Cython, msgpack uses C methods to pack and unpack `Timestamp`. When using pure-Python
|
When built with Cython, msgpack uses C methods to pack and unpack `Timestamp`.
|
||||||
msgpack, :func:`to_bytes` and :func:`from_bytes` are used to pack and unpack `Timestamp`.
|
When using pure-Python msgpack, :func:`to_bytes` and :func:`from_bytes` are used to pack and
|
||||||
|
unpack `Timestamp`.
|
||||||
|
|
||||||
This class is immutable: Do not override seconds and nanoseconds.
|
This class is immutable: Do not override seconds and nanoseconds.
|
||||||
"""
|
"""
|
||||||
|
@ -39,7 +39,7 @@ class Timestamp:
|
||||||
Number of nanoseconds to add to `seconds` to get fractional time.
|
Number of nanoseconds to add to `seconds` to get fractional time.
|
||||||
Maximum is 999_999_999. Default is 0.
|
Maximum is 999_999_999. Default is 0.
|
||||||
|
|
||||||
Note: Negative times (before the UNIX epoch) are represented as negative seconds + positive ns.
|
Note: Negative times (before the UNIX epoch) are represented as neg. seconds + pos. ns.
|
||||||
"""
|
"""
|
||||||
if not isinstance(seconds, int):
|
if not isinstance(seconds, int):
|
||||||
raise TypeError("seconds must be an integer")
|
raise TypeError("seconds must be an integer")
|
||||||
|
|
|
@ -530,7 +530,7 @@ class Unpacker:
|
||||||
key = self._unpack(EX_CONSTRUCT)
|
key = self._unpack(EX_CONSTRUCT)
|
||||||
if self._strict_map_key and type(key) not in (str, bytes):
|
if self._strict_map_key and type(key) not in (str, bytes):
|
||||||
raise ValueError("%s is not allowed for map key" % str(type(key)))
|
raise ValueError("%s is not allowed for map key" % str(type(key)))
|
||||||
if type(key) is str:
|
if isinstance(key, str):
|
||||||
key = sys.intern(key)
|
key = sys.intern(key)
|
||||||
ret[key] = self._unpack(EX_CONSTRUCT)
|
ret[key] = self._unpack(EX_CONSTRUCT)
|
||||||
if self._object_hook is not None:
|
if self._object_hook is not None:
|
||||||
|
|
|
@ -7,7 +7,52 @@ requires = [
|
||||||
]
|
]
|
||||||
build-backend = "setuptools.build_meta"
|
build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
|
[project]
|
||||||
|
name = "msgpack"
|
||||||
|
dynamic = ["version"]
|
||||||
|
license = {text="Apache 2.0"}
|
||||||
|
authors = [{name="Inada Naoki", email="songofacandy@gmail.com"}]
|
||||||
|
description = "MessagePack serializer"
|
||||||
|
readme = "README.md"
|
||||||
|
#keywords = ["python", "msgpack", "messagepack", "serializer", "serialization", "binary"]
|
||||||
|
#requires-python = ">=3.8"
|
||||||
|
classifiers = [
|
||||||
|
# "Development Status :: 5 - Production/Stable",
|
||||||
|
# "Operating System :: OS Independent",
|
||||||
|
# "Programming Language :: Python",
|
||||||
|
"Programming Language :: Python :: 3",
|
||||||
|
"Programming Language :: Python :: 3.8",
|
||||||
|
"Programming Language :: Python :: 3.9",
|
||||||
|
"Programming Language :: Python :: 3.10",
|
||||||
|
"Programming Language :: Python :: 3.11",
|
||||||
|
"Programming Language :: Python :: 3.12",
|
||||||
|
"Programming Language :: Python :: Implementation :: CPython",
|
||||||
|
"Programming Language :: Python :: Implementation :: PyPy",
|
||||||
|
"Intended Audience :: Developers",
|
||||||
|
"License :: OSI Approved :: Apache Software License",
|
||||||
|
]
|
||||||
|
|
||||||
|
[project.urls]
|
||||||
|
Homepage = "https://msgpack.org/"
|
||||||
|
Documentation = "https://msgpack-python.readthedocs.io/"
|
||||||
|
Repository = "https://github.com/msgpack/msgpack-python/"
|
||||||
|
Tracker = "https://github.com/msgpack/msgpack-python/issues"
|
||||||
|
#Changelog = "https://github.com/msgpack/msgpack-python/blob/main/ChangeLog.rst"
|
||||||
|
|
||||||
|
[tool.setuptools.dynamic]
|
||||||
|
version = {attr = "msgpack.__version__"}
|
||||||
|
|
||||||
[tool.black]
|
[tool.black]
|
||||||
line-length = 100
|
line-length = 100
|
||||||
target-version = ["py37"]
|
target-version = ["py37"]
|
||||||
skip_string_normalization = true
|
skip_string_normalization = true
|
||||||
|
|
||||||
|
[tool.ruff]
|
||||||
|
line-length = 100
|
||||||
|
target-version = "py38"
|
||||||
|
ignore = []
|
||||||
|
|
||||||
|
[tool.ruff.per-file-ignores]
|
||||||
|
"msgpack/__init__.py" = ["F401", "F403"]
|
||||||
|
"msgpack/fallback.py" = ["E731"]
|
||||||
|
"test/test_seq.py" = ["E501"]
|
||||||
|
|
32
setup.cfg
32
setup.cfg
|
@ -1,32 +0,0 @@
|
||||||
[metadata]
|
|
||||||
name = msgpack
|
|
||||||
version = attr: msgpack.__version__
|
|
||||||
#version = attr: msgpack.version
|
|
||||||
license = Apache 2.0
|
|
||||||
author = Inada Naoki
|
|
||||||
author_email = songofacandy@gmail.com
|
|
||||||
description = MessagePack serializer
|
|
||||||
long_description = file: README.md
|
|
||||||
long_description_content_type = text/markdown
|
|
||||||
url = https://msgpack.org/
|
|
||||||
|
|
||||||
project_urls =
|
|
||||||
Documentation = https://msgpack-python.readthedocs.io/
|
|
||||||
Source = https://github.com/msgpack/msgpack-python
|
|
||||||
Tracker = https://github.com/msgpack/msgpack-python/issues
|
|
||||||
|
|
||||||
classifiers =
|
|
||||||
Programming Language :: Python :: 3
|
|
||||||
Programming Language :: Python :: 3.8
|
|
||||||
Programming Language :: Python :: 3.9
|
|
||||||
Programming Language :: Python :: 3.10
|
|
||||||
Programming Language :: Python :: 3.11
|
|
||||||
Programming Language :: Python :: 3.12
|
|
||||||
Programming Language :: Python :: Implementation :: CPython
|
|
||||||
Programming Language :: Python :: Implementation :: PyPy
|
|
||||||
Intended Audience :: Developers
|
|
||||||
License :: OSI Approved :: Apache Software License
|
|
||||||
|
|
||||||
[flake8]
|
|
||||||
max_line_length = 100
|
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -1,8 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
import io
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
from glob import glob
|
|
||||||
from setuptools import setup, Extension
|
from setuptools import setup, Extension
|
||||||
from setuptools.command.build_ext import build_ext
|
from setuptools.command.build_ext import build_ext
|
||||||
from setuptools.command.sdist import sdist
|
from setuptools.command.sdist import sdist
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
import sys
|
|
||||||
import pytest
|
|
||||||
from msgpack import packb, unpackb
|
from msgpack import packb, unpackb
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
import pytest
|
|
||||||
from array import array
|
from array import array
|
||||||
from msgpack import packb, unpackb
|
from msgpack import packb, unpackb
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
def make_array(f, data):
|
def make_array(f, data):
|
||||||
|
|
|
@ -33,7 +33,7 @@ def test_decode_pairs_hook():
|
||||||
prod_sum = 1 * 2 + 3 * 4
|
prod_sum = 1 * 2 + 3 * 4
|
||||||
unpacked = unpackb(
|
unpacked = unpackb(
|
||||||
packed,
|
packed,
|
||||||
object_pairs_hook=lambda l: sum(k * v for k, v in l),
|
object_pairs_hook=lambda lst: sum(k * v for k, v in lst),
|
||||||
use_list=1,
|
use_list=1,
|
||||||
strict_map_key=False,
|
strict_map_key=False,
|
||||||
)
|
)
|
||||||
|
@ -48,7 +48,7 @@ def test_only_one_obj_hook():
|
||||||
def test_bad_hook():
|
def test_bad_hook():
|
||||||
with raises(TypeError):
|
with raises(TypeError):
|
||||||
packed = packb([3, 1 + 2j], default=lambda o: o)
|
packed = packb([3, 1 + 2j], default=lambda o: o)
|
||||||
unpacked = unpackb(packed, use_list=1)
|
unpackb(packed, use_list=1)
|
||||||
|
|
||||||
|
|
||||||
def _arr_to_str(arr):
|
def _arr_to_str(arr):
|
||||||
|
|
|
@ -3,12 +3,10 @@
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
import struct
|
import struct
|
||||||
import sys
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from pytest import raises, xfail
|
|
||||||
|
|
||||||
from msgpack import packb, unpackb, Unpacker, Packer, pack
|
from msgpack import packb, unpackb, Unpacker, Packer
|
||||||
|
|
||||||
|
|
||||||
def check(data, use_list=False):
|
def check(data, use_list=False):
|
||||||
|
|
|
@ -34,7 +34,7 @@ def test_exceeding_unpacker_read_size():
|
||||||
|
|
||||||
read_count = 0
|
read_count = 0
|
||||||
for idx, o in enumerate(unpacker):
|
for idx, o in enumerate(unpacker):
|
||||||
assert type(o) == bytes
|
assert isinstance(o, bytes)
|
||||||
assert o == gen_binary_data(idx)
|
assert o == gen_binary_data(idx)
|
||||||
read_count += 1
|
read_count += 1
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
from msgpack import packb, unpackb
|
from msgpack import packb
|
||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import pytest
|
import pytest
|
||||||
import sys
|
|
||||||
import datetime
|
import datetime
|
||||||
import msgpack
|
import msgpack
|
||||||
from msgpack.ext import Timestamp
|
from msgpack.ext import Timestamp
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue