Skip to content

Commit 949201e

Browse files
committedMay 6, 2024
cleanup pyproject and fallback
1 parent e0f0e14 commit 949201e

File tree

3 files changed

+18
-28
lines changed

3 files changed

+18
-28
lines changed
 

‎Makefile

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ all: cython
66

77
.PHONY: format
88
format:
9-
pipx run ruff format $(PYTHON_SOURCES)
9+
ruff format $(PYTHON_SOURCES)
1010

1111
.PHONY: lint
1212
lint:
13-
pipx run ruff check $(PYTHON_SOURCES)
13+
ruff check $(PYTHON_SOURCES)
1414

1515
.PHONY: doc
1616
doc:

‎msgpack/fallback.py

+16-21
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,18 @@
66

77

88
if hasattr(sys, "pypy_version_info"):
9-
# StringIO is slow on PyPy, StringIO is faster. However: PyPy's own
10-
# StringBuilder is fastest.
119
from __pypy__ import newlist_hint
10+
from __pypy__.builders import BytesBuilder
1211

13-
try:
14-
from __pypy__.builders import BytesBuilder as StringBuilder
15-
except ImportError:
16-
from __pypy__.builders import StringBuilder
17-
USING_STRINGBUILDER = True
12+
_USING_STRINGBUILDER = True
1813

19-
class StringIO:
14+
class BytesIO:
2015
def __init__(self, s=b""):
2116
if s:
22-
self.builder = StringBuilder(len(s))
17+
self.builder = BytesBuilder(len(s))
2318
self.builder.append(s)
2419
else:
25-
self.builder = StringBuilder()
20+
self.builder = BytesBuilder()
2621

2722
def write(self, s):
2823
if isinstance(s, memoryview):
@@ -35,14 +30,13 @@ def getvalue(self):
3530
return self.builder.build()
3631

3732
else:
38-
USING_STRINGBUILDER = False
39-
from io import BytesIO as StringIO
33+
from io import BytesIO
4034

4135
newlist_hint = lambda size: []
36+
_USING_STRINGBUILDER = False
4237

4338

4439
from .exceptions import BufferFull, OutOfData, ExtraData, FormatError, StackError
45-
4640
from .ext import ExtType, Timestamp
4741

4842

@@ -335,6 +329,7 @@ def feed(self, next_bytes):
335329

336330
# Use extend here: INPLACE_ADD += doesn't reliably typecast memoryview in jython
337331
self._buffer.extend(view)
332+
view.release()
338333

339334
def _consume(self):
340335
"""Gets rid of the used parts of the buffer."""
@@ -671,7 +666,7 @@ def __init__(
671666
self._use_float = use_single_float
672667
self._autoreset = autoreset
673668
self._use_bin_type = use_bin_type
674-
self._buffer = StringIO()
669+
self._buffer = BytesIO()
675670
self._datetime = bool(datetime)
676671
self._unicode_errors = unicode_errors or "strict"
677672
if default is not None:
@@ -807,18 +802,18 @@ def pack(self, obj):
807802
try:
808803
self._pack(obj)
809804
except:
810-
self._buffer = StringIO() # force reset
805+
self._buffer = BytesIO() # force reset
811806
raise
812807
if self._autoreset:
813808
ret = self._buffer.getvalue()
814-
self._buffer = StringIO()
809+
self._buffer = BytesIO()
815810
return ret
816811

817812
def pack_map_pairs(self, pairs):
818813
self._pack_map_pairs(len(pairs), pairs)
819814
if self._autoreset:
820815
ret = self._buffer.getvalue()
821-
self._buffer = StringIO()
816+
self._buffer = BytesIO()
822817
return ret
823818

824819
def pack_array_header(self, n):
@@ -827,7 +822,7 @@ def pack_array_header(self, n):
827822
self._pack_array_header(n)
828823
if self._autoreset:
829824
ret = self._buffer.getvalue()
830-
self._buffer = StringIO()
825+
self._buffer = BytesIO()
831826
return ret
832827

833828
def pack_map_header(self, n):
@@ -836,7 +831,7 @@ def pack_map_header(self, n):
836831
self._pack_map_header(n)
837832
if self._autoreset:
838833
ret = self._buffer.getvalue()
839-
self._buffer = StringIO()
834+
self._buffer = BytesIO()
840835
return ret
841836

842837
def pack_ext_type(self, typecode, data):
@@ -925,11 +920,11 @@ def reset(self):
925920
926921
This method is useful only when autoreset=False.
927922
"""
928-
self._buffer = StringIO()
923+
self._buffer = BytesIO()
929924

930925
def getbuffer(self):
931926
"""Return view of internal buffer."""
932-
if USING_STRINGBUILDER:
927+
if _USING_STRINGBUILDER:
933928
return memoryview(self.bytes())
934929
else:
935930
return self._buffer.getbuffer()

‎pyproject.toml

-5
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,6 @@ include-package-data = false
4545
[tool.setuptools.dynamic]
4646
version = {attr = "msgpack.__version__"}
4747

48-
[tool.black]
49-
line-length = 100
50-
target-version = ["py37"]
51-
skip_string_normalization = true
52-
5348
[tool.ruff]
5449
line-length = 100
5550
target-version = "py38"

0 commit comments

Comments
 (0)