Skip to content

Commit 5ca6235

Browse files
committed
Changes for Python 3.7
1 parent c8f1e1d commit 5ca6235

File tree

9 files changed

+33
-24
lines changed

9 files changed

+33
-24
lines changed

.travis.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,13 @@ matrix:
1212
env: TOXENV=py35
1313
- python: 3.6
1414
env: TOXENV=py36
15+
- python: 3.7
16+
dist: xenial
17+
env: TOXENV=py37
1518
- python: pypy
1619
env: TOXENV=pypy
1720
- python: pypy3
1821
env: TOXENV=pypy3
19-
- python: 3.6
22+
- python: 3.7
23+
dist: xenial
2024
env: TOXENV=lint

README.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,8 @@ Features
111111
- Compatible API (nearly identical to older blist and bintrees modules)
112112
- Feature-rich (e.g. get the five largest keys in a sorted dict: d.keys()[-5:])
113113
- Pragmatic design (e.g. SortedSet is a Python set with a SortedList index)
114-
- Developed on Python 3.6
115-
- Tested on CPython 2.7, 3.2, 3.3, 3.4, 3.5, 3.6 and PyPy, PyPy3
114+
- Developed on Python 3.7
115+
- Tested on CPython 2.7, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7 and PyPy, PyPy3
116116

117117
.. image:: https://api.travis-ci.org/grantjenks/python-sortedcontainers.svg?branch=master
118118
:target: http://www.grantjenks.com/docs/sortedcontainers/

appveyor.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@ environment:
66
- PYTHON: "C:\\Python34"
77
- PYTHON: "C:\\Python35"
88
- PYTHON: "C:\\Python36"
9+
- PYTHON: "C:\\Python37"
910
- PYTHON: "C:\\Python27-x64"
1011
- PYTHON: "C:\\Python34-x64"
1112
- PYTHON: "C:\\Python35-x64"
1213
- PYTHON: "C:\\Python36-x64"
14+
- PYTHON: "C:\\Python37-x64"
1315

1416
install:
1517

docs/development.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ of Python:
220220
* CPython 3.4
221221
* CPython 3.5
222222
* CPython 3.6
223+
* CPython 3.7
223224
* PyPy
224225
* PyPy3
225226

docs/performance-load.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ in-depth analysis of the load factor read :doc:`Performance at
1717
Scale<performance-scale>`.
1818

1919
Performance of competing implementations are benchmarked against the CPython
20-
3.6 runtime. An :doc:`implementation performance comparison<performance>` is
20+
3.7 runtime. An :doc:`implementation performance comparison<performance>` is
2121
also included with data from popular sorted collections packages.
2222

2323
Because :doc:`Sorted Containers<index>` is pure-Python, its performance also

docs/performance-runtime.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ Runtime Performance Comparison
44
Because :doc:`Sorted Containers<index>` is implemented in pure-Python, its
55
performance depends directly on the Python runtime. :doc:`Sorted
66
Containers<index>` is primarily developed, tested and benchmarked on CPython
7-
3.6.
7+
3.7.
88

99
Not all runtimes are created equal. The graphs below compare :doc:`Sorted
10-
Containers<index>` running on the CPython 3.6, CPython 2.7, and PyPy
11-
runtimes. As of Python 3.6 the CPython 3.6 runtime is now faster than the
10+
Containers<index>` running on the CPython 3.7, CPython 2.7, and PyPy
11+
runtimes. As of Python 3.7 the CPython 3.7 runtime is now faster than the
1212
CPython 2.7 runtime. The PyPy runtime displays much more variability due to its
1313
JIT-ed nature. Once the just-in-time compiler optimizes the code, performance
1414
is often two to ten times faster.
1515

1616
Performance of competing implementations are benchmarked against the CPython
17-
3.6 runtime. An :doc:`implementation performance comparison<performance>` is
17+
3.7 runtime. An :doc:`implementation performance comparison<performance>` is
1818
also included with data from popular sorted container packages.
1919

2020
:doc:`Sorted Containers<index>` uses a segmented-list data structure similar to

setup.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ def run_tests(self):
4444
'Programming Language :: Python :: 3.3',
4545
'Programming Language :: Python :: 3.4',
4646
'Programming Language :: Python :: 3.5',
47+
'Programming Language :: Python :: 3.6',
48+
'Programming Language :: Python :: 3.7',
4749
'Programming Language :: Python :: Implementation :: CPython',
4850
'Programming Language :: Python :: Implementation :: PyPy',
4951
),

tests/benchmark.sh

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,51 +4,51 @@ set -x
44

55
# Compare Implementations
66

7-
echo ". env36/bin/activate && python -m tests.benchmark_sortedlist --bare > tests/results_sortedlist.txt" | bash
7+
echo ". env37/bin/activate && python -m tests.benchmark_sortedlist --bare > tests/results_sortedlist.txt" | bash
88
python -m tests.benchmark_plot tests/results_sortedlist.txt SortedList --save
99

10-
echo ". env36/bin/activate && python -m tests.benchmark_sorteddict --bare > tests/results_sorteddict.txt" | bash
10+
echo ". env37/bin/activate && python -m tests.benchmark_sorteddict --bare > tests/results_sorteddict.txt" | bash
1111
python -m tests.benchmark_plot tests/results_sorteddict.txt SortedDict --save
1212

13-
echo ". env36/bin/activate && python -m tests.benchmark_sortedset --bare > tests/results_sortedset.txt" | bash
13+
echo ". env37/bin/activate && python -m tests.benchmark_sortedset --bare > tests/results_sortedset.txt" | bash
1414
python -m tests.benchmark_plot tests/results_sortedset.txt SortedSet --save
1515

1616
# Compare Python Versions
1717

1818
rm tests/results_runtime_sortedlist.txt
19-
echo ". env36/bin/activate && python -m tests.benchmark_sortedlist --bare --kind SortedList --suffix _Py36 >> tests/results_runtime_sortedlist.txt" | bash
19+
echo ". env37/bin/activate && python -m tests.benchmark_sortedlist --bare --kind SortedList --suffix _Py37 >> tests/results_runtime_sortedlist.txt" | bash
2020
echo ". env27/bin/activate && python -m tests.benchmark_sortedlist --bare --kind SortedList --suffix _Py27 >> tests/results_runtime_sortedlist.txt" | bash
2121
echo ". env27/bin/activate && pypy -m tests.benchmark_sortedlist --bare --kind SortedList --suffix _PyPy >> tests/results_runtime_sortedlist.txt" | bash
2222
python -m tests.benchmark_plot tests/results_runtime_sortedlist.txt SortedList --suffix _runtime --save
2323

2424
rm tests/results_runtime_sorteddict.txt
25-
echo ". env36/bin/activate && python -m tests.benchmark_sorteddict --bare --kind SortedDict --suffix _Py36 >> tests/results_runtime_sorteddict.txt" | bash
25+
echo ". env37/bin/activate && python -m tests.benchmark_sorteddict --bare --kind SortedDict --suffix _Py37 >> tests/results_runtime_sorteddict.txt" | bash
2626
echo ". env27/bin/activate && python -m tests.benchmark_sorteddict --bare --kind SortedDict --suffix _Py27 >> tests/results_runtime_sorteddict.txt" | bash
2727
echo ". env27/bin/activate && pypy -m tests.benchmark_sorteddict --bare --kind SortedDict --suffix _PyPy >> tests/results_runtime_sorteddict.txt" | bash
2828
python -m tests.benchmark_plot tests/results_runtime_sorteddict.txt SortedDict --suffix _runtime --save
2929

3030
rm tests/results_runtime_sortedset.txt
31-
echo ". env36/bin/activate && python -m tests.benchmark_sortedset --bare --kind SortedSet --suffix _Py36 >> tests/results_runtime_sortedset.txt" | bash
31+
echo ". env37/bin/activate && python -m tests.benchmark_sortedset --bare --kind SortedSet --suffix _Py37 >> tests/results_runtime_sortedset.txt" | bash
3232
echo ". env27/bin/activate && python -m tests.benchmark_sortedset --bare --kind SortedSet --suffix _Py27 >> tests/results_runtime_sortedset.txt" | bash
3333
echo ". env27/bin/activate && pypy -m tests.benchmark_sortedset --bare --kind SortedSet --suffix _PyPy >> tests/results_runtime_sortedset.txt" | bash
3434
python -m tests.benchmark_plot tests/results_runtime_sortedset.txt SortedSet --suffix _runtime --save
3535

3636
# Compare Loads
3737

3838
rm tests/results_load_sortedlist.txt
39-
echo ". env36/bin/activate && python -m tests.benchmark_sortedlist --bare --kind SortedList --suffix _100 --load 100 --no-limit >> tests/results_load_sortedlist.txt" | bash
40-
echo ". env36/bin/activate && python -m tests.benchmark_sortedlist --bare --kind SortedList --suffix _1000 --load 1000 --no-limit >> tests/results_load_sortedlist.txt" | bash
41-
echo ". env36/bin/activate && python -m tests.benchmark_sortedlist --bare --kind SortedList --suffix _10000 --load 10000 --no-limit >> tests/results_load_sortedlist.txt" | bash
39+
echo ". env37/bin/activate && python -m tests.benchmark_sortedlist --bare --kind SortedList --suffix _100 --load 100 --no-limit >> tests/results_load_sortedlist.txt" | bash
40+
echo ". env37/bin/activate && python -m tests.benchmark_sortedlist --bare --kind SortedList --suffix _1000 --load 1000 --no-limit >> tests/results_load_sortedlist.txt" | bash
41+
echo ". env37/bin/activate && python -m tests.benchmark_sortedlist --bare --kind SortedList --suffix _10000 --load 10000 --no-limit >> tests/results_load_sortedlist.txt" | bash
4242
python -m tests.benchmark_plot tests/results_load_sortedlist.txt SortedList --suffix _load --save
4343

4444
rm tests/results_load_sorteddict.txt
45-
echo ". env36/bin/activate && python -m tests.benchmark_sorteddict --bare --kind SortedDict --suffix _100 --load 100 --no-limit >> tests/results_load_sorteddict.txt" | bash
46-
echo ". env36/bin/activate && python -m tests.benchmark_sorteddict --bare --kind SortedDict --suffix _1000 --load 1000 --no-limit >> tests/results_load_sorteddict.txt" | bash
47-
echo ". env36/bin/activate && python -m tests.benchmark_sorteddict --bare --kind SortedDict --suffix _10000 --load 10000 --no-limit >> tests/results_load_sorteddict.txt" | bash
45+
echo ". env37/bin/activate && python -m tests.benchmark_sorteddict --bare --kind SortedDict --suffix _100 --load 100 --no-limit >> tests/results_load_sorteddict.txt" | bash
46+
echo ". env37/bin/activate && python -m tests.benchmark_sorteddict --bare --kind SortedDict --suffix _1000 --load 1000 --no-limit >> tests/results_load_sorteddict.txt" | bash
47+
echo ". env37/bin/activate && python -m tests.benchmark_sorteddict --bare --kind SortedDict --suffix _10000 --load 10000 --no-limit >> tests/results_load_sorteddict.txt" | bash
4848
python -m tests.benchmark_plot tests/results_load_sorteddict.txt SortedDict --suffix _load --save
4949

5050
rm tests/results_load_sortedset.txt
51-
echo ". env36/bin/activate && python -m tests.benchmark_sortedset --bare --kind SortedSet --suffix _100 --load 100 --no-limit >> tests/results_load_sortedset.txt" | bash
52-
echo ". env36/bin/activate && python -m tests.benchmark_sortedset --bare --kind SortedSet --suffix _1000 --load 1000 --no-limit >> tests/results_load_sortedset.txt" | bash
53-
echo ". env36/bin/activate && python -m tests.benchmark_sortedset --bare --kind SortedSet --suffix _10000 --load 10000 --no-limit >> tests/results_load_sortedset.txt" | bash
51+
echo ". env37/bin/activate && python -m tests.benchmark_sortedset --bare --kind SortedSet --suffix _100 --load 100 --no-limit >> tests/results_load_sortedset.txt" | bash
52+
echo ". env37/bin/activate && python -m tests.benchmark_sortedset --bare --kind SortedSet --suffix _1000 --load 1000 --no-limit >> tests/results_load_sortedset.txt" | bash
53+
echo ". env37/bin/activate && python -m tests.benchmark_sortedset --bare --kind SortedSet --suffix _10000 --load 10000 --no-limit >> tests/results_load_sortedset.txt" | bash
5454
python -m tests.benchmark_plot tests/results_load_sortedset.txt SortedSet --suffix _load --save

tox.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tox]
2-
envlist=py27,py34,py35,py36,pypy,pypy3,lint
2+
envlist=py27,py34,py35,py36,py37,pypy,pypy3,lint
33
skip_missing_interpreters=True
44

55
[testenv]

0 commit comments

Comments
 (0)