Skip to content

Commit d467cb8

Browse files
authored
Merge pull request #910 from nschloe/remove-python-3.5
Remove python 3.5
2 parents 1fbd7aa + 990e32c commit d467cb8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+215
-243
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
runs-on: ubuntu-latest
3131
strategy:
3232
matrix:
33-
python-version: [3.5, 3.6, 3.7, 3.8]
33+
python-version: [3.6, 3.7, 3.8]
3434
steps:
3535
- uses: actions/setup-python@v2
3636
with:

meshio/_cli/_ascii.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def ascii(argv=None):
1616
fmt = args.input_format or _filetype_from_path(pathlib.Path(args.infile))
1717

1818
size = os.stat(args.infile).st_size
19-
print("File size before: {:.2f} MB".format(size / 1024 ** 2))
19+
print(f"File size before: {size / 1024 ** 2:.2f} MB")
2020
mesh = read(args.infile, file_format=args.input_format)
2121

2222
# # Some converters (like VTK) require `points` to be contiguous.
@@ -42,11 +42,11 @@ def ascii(argv=None):
4242
elif fmt == "xdmf":
4343
xdmf.write(args.infile, mesh, data_format="XML")
4444
else:
45-
print("Don't know how to convert {} to ASCII format.".format(args.infile))
45+
print(f"Don't know how to convert {args.infile} to ASCII format.")
4646
exit(1)
4747

4848
size = os.stat(args.infile).st_size
49-
print("File size after: {:.2f} MB".format(size / 1024 ** 2))
49+
print(f"File size after: {size / 1024 ** 2:.2f} MB")
5050

5151

5252
def _get_parser():

meshio/_cli/_binary.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def binary(argv=None):
1616
fmt = args.input_format or _filetype_from_path(pathlib.Path(args.infile))
1717

1818
size = os.stat(args.infile).st_size
19-
print("File size before: {:.2f} MB".format(size / 1024 ** 2))
19+
print(f"File size before: {size / 1024 ** 2:.2f} MB")
2020
mesh = read(args.infile, file_format=args.input_format)
2121

2222
# # Some converters (like VTK) require `points` to be contiguous.
@@ -42,11 +42,11 @@ def binary(argv=None):
4242
elif fmt == "xdmf":
4343
xdmf.write(args.infile, mesh, data_format="HDF")
4444
else:
45-
print("Don't know how to convert {} to binary format.".format(args.infile))
45+
print(f"Don't know how to convert {args.infile} to binary format.")
4646
exit(1)
4747

4848
size = os.stat(args.infile).st_size
49-
print("File size after: {:.2f} MB".format(size / 1024 ** 2))
49+
print(f"File size after: {size / 1024 ** 2:.2f} MB")
5050

5151

5252
def _get_parser():

meshio/_cli/_compress.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def compress(argv=None):
1616
fmt = args.input_format or _filetype_from_path(pathlib.Path(args.infile))
1717

1818
size = os.stat(args.infile).st_size
19-
print("File size before: {:.2f} MB".format(size / 1024 ** 2))
19+
print(f"File size before: {size / 1024 ** 2:.2f} MB")
2020
mesh = read(args.infile, file_format=args.input_format)
2121

2222
# # Some converters (like VTK) require `points` to be contiguous.
@@ -60,11 +60,11 @@ def compress(argv=None):
6060
compression_opts=9 if args.max else 4,
6161
)
6262
else:
63-
print("Don't know how to compress {}.".format(args.infile))
63+
print(f"Don't know how to compress {args.infile}.")
6464
exit(1)
6565

6666
size = os.stat(args.infile).st_size
67-
print("File size after: {:.2f} MB".format(size / 1024 ** 2))
67+
print(f"File size after: {size / 1024 ** 2:.2f} MB")
6868

6969

7070
def _get_parser():

meshio/_cli/_decompress.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def decompress(argv=None):
1616
fmt = args.input_format or _filetype_from_path(pathlib.Path(args.infile))
1717

1818
size = os.stat(args.infile).st_size
19-
print("File size before: {:.2f} MB".format(size / 1024 ** 2))
19+
print(f"File size before: {size / 1024 ** 2:.2f} MB")
2020
mesh = read(args.infile, file_format=args.input_format)
2121

2222
# # Some converters (like VTK) require `points` to be contiguous.
@@ -34,11 +34,11 @@ def decompress(argv=None):
3434
elif fmt == "xdmf":
3535
xdmf.write(args.infile, mesh, data_format="HDF", compression=None)
3636
else:
37-
print("Don't know how to decompress {}.".format(args.infile))
37+
print(f"Don't know how to decompress {args.infile}.")
3838
exit(1)
3939

4040
size = os.stat(args.infile).st_size
41-
print("File size after: {:.2f} MB".format(size / 1024 ** 2))
41+
print(f"File size after: {size / 1024 ** 2:.2f} MB")
4242

4343

4444
def _get_parser():

meshio/_cli/_helpers.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
1-
import sys
1+
from sys import version_info
22

33
from ..__about__ import __version__
44

55

66
def _get_version_text():
77
return "\n".join(
88
[
9-
"meshio {} [Python {}.{}.{}]".format(
10-
__version__,
11-
sys.version_info.major,
12-
sys.version_info.minor,
13-
sys.version_info.micro,
14-
),
9+
f"meshio {__version__} "
10+
f"[Python {version_info.major}.{version_info.minor}.{version_info.micro}]",
1511
"Copyright (c) 2015-2020 Nico Schlömer et al.",
1612
]
1713
)

meshio/_cxml/etree.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def set(self, key, value):
2222
self.attrib[key] = value
2323

2424
def write(self, f):
25-
kw_list = ['{}="{}"'.format(key, value) for key, value in self.attrib.items()]
25+
kw_list = [f'{key}="{value}"' for key, value in self.attrib.items()]
2626
f.write("<{}>\n".format(" ".join([self.name] + kw_list)))
2727
if self.text:
2828
f.write(self.text)
@@ -32,7 +32,7 @@ def write(self, f):
3232
f.write("\n")
3333
for child in self._children:
3434
child.write(f)
35-
f.write("</{}>\n".format(self.name))
35+
f.write(f"</{self.name}>\n")
3636

3737

3838
class SubElement(Element):
@@ -46,7 +46,7 @@ def __init__(self, text):
4646
self.text = text
4747

4848
def write(self, f):
49-
f.write("<!--{}-->\n".format(self.text))
49+
f.write(f"<!--{self.text}-->\n")
5050

5151

5252
class ElementTree:

meshio/_helpers.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def _filetype_from_path(path):
3030
out = extension_to_filetype[ext]
3131

3232
if out is None:
33-
raise ReadError("Could not deduce file format from extension '{}'.".format(ext))
33+
raise ReadError(f"Could not deduce file format from extension '{ext}'.")
3434
return out
3535

3636

@@ -50,17 +50,17 @@ def read(filename, file_format=None):
5050
"tetgen format is spread across multiple files "
5151
"and so cannot be read from a buffer"
5252
)
53-
msg = "Unknown file format '{}'".format(file_format)
53+
msg = f"Unknown file format '{file_format}'"
5454
else:
5555
path = pathlib.Path(filename)
5656
if not path.exists():
57-
raise ReadError("File {} not found.".format(filename))
57+
raise ReadError(f"File {filename} not found.")
5858

5959
if not file_format:
6060
# deduce file format from extension
6161
file_format = _filetype_from_path(path)
6262

63-
msg = "Unknown file format '{}' of '{}'.".format(file_format, filename)
63+
msg = f"Unknown file format '{file_format}' of '{filename}'."
6464

6565
if file_format not in reader_map:
6666
raise ReadError(msg)
@@ -78,7 +78,7 @@ def write_points_cells(
7878
point_sets=None,
7979
cell_sets=None,
8080
file_format=None,
81-
**kwargs
81+
**kwargs,
8282
):
8383
points = numpy.asarray(points)
8484
if isinstance(cells, dict):

meshio/_mesh.py

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,32 +43,34 @@ def __init__(
4343

4444
for key, data in self.cell_data.items():
4545
assert len(data) == len(cells), (
46-
"Incompatible cell data. {} cell blocks, but '{}' has {} blocks."
47-
).format(len(cells), key, len(data))
46+
"Incompatible cell data. "
47+
f"{len(cells)} cell blocks, but '{key}' has {len(data)} blocks."
48+
)
4849

4950
def __repr__(self):
50-
lines = [
51-
"<meshio mesh object>",
52-
" Number of points: {}".format(len(self.points)),
53-
]
51+
lines = ["<meshio mesh object>", f" Number of points: {len(self.points)}"]
5452
if len(self.cells) > 0:
5553
lines.append(" Number of cells:")
5654
for tpe, elems in self.cells:
57-
lines.append(" {}: {}".format(tpe, len(elems)))
55+
lines.append(f" {tpe}: {len(elems)}")
5856
else:
5957
lines.append(" No cells.")
6058

6159
if self.point_sets:
62-
lines.append(" Point sets: {}".format(", ".join(self.point_sets.keys())))
60+
names = ", ".join(self.point_sets.keys())
61+
lines.append(f" Point sets: {names}")
6362

6463
if self.cell_sets:
65-
lines.append(" Cell sets: {}".format(", ".join(self.cell_sets.keys())))
64+
names = ", ".join(self.cell_sets.keys())
65+
lines.append(f" Cell sets: {names}")
6666

6767
if self.point_data:
68-
lines.append(" Point data: {}".format(", ".join(self.point_data.keys())))
68+
names = ", ".join(self.point_data.keys())
69+
lines.append(f" Point data: {names}")
6970

7071
if self.cell_data:
71-
lines.append(" Cell data: {}".format(", ".join(self.cell_data.keys())))
72+
names = ", ".join(self.cell_data.keys())
73+
lines.append(f" Cell data: {names}")
7274

7375
return "\n".join(lines)
7476

@@ -90,7 +92,8 @@ def prune(self):
9092
self.cells = new_cells
9193
self.cell_data = new_cell_data
9294

93-
print("Pruned cell types: {}".format(", ".join(prune_list)))
95+
pruned = ", ".join(prune_list)
96+
print(f"Pruned cell types: {pruned}")
9497

9598
# remove_orphaned_nodes.
9699
# find which nodes are not mentioned in the cells and remove them
@@ -229,7 +232,7 @@ def int_data_to_sets(self):
229232
names = sorted(list(set(key.split("-"))))
230233
if len(names) != len(tags):
231234
# alternative names
232-
names = ["set{}".format(tag) for tag in tags]
235+
names = [f"set{tag}" for tag in tags]
233236

234237
for name, tag in zip(names, tags):
235238
self.cell_sets[name] = []

meshio/abaqus/_abaqus.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ def read_buffer(f):
164164
elif set_name in cell_sets_element.keys():
165165
cell_sets[name].append(cell_sets_element[set_name])
166166
else:
167-
raise ReadError("Unknown cell set '{}'".format(set_name))
167+
raise ReadError(f"Unknown cell set '{set_name}'")
168168
else:
169169
# There are just too many Abaqus keywords to explicitly skip them.
170170
line = f.readline()
@@ -217,7 +217,7 @@ def _read_nodes(f):
217217
def _read_cells(f, params_map, point_ids):
218218
etype = params_map["TYPE"]
219219
if etype not in abaqus_to_meshio_type.keys():
220-
raise ReadError("Element type not available: {}".format(etype))
220+
raise ReadError(f"Element type not available: {etype}")
221221

222222
cell_type = abaqus_to_meshio_type[etype]
223223

@@ -281,7 +281,7 @@ def get_param_map(word, required_keys=None):
281281
msg = ""
282282
for key in required_keys:
283283
if key not in param_map:
284-
msg += "{} not found in {}\n".format(key, word)
284+
msg += f"{key} not found in {word}\n"
285285
if msg:
286286
raise RuntimeError(msg)
287287
return param_map
@@ -315,7 +315,7 @@ def write(filename, mesh, float_fmt=".16e", translate_cell_names=True):
315315
with open_file(filename, "wt") as f:
316316
f.write("*HEADING\n")
317317
f.write("Abaqus DataFile Version 6.14\n")
318-
f.write("written by meshio v{}\n".format(__version__))
318+
f.write(f"written by meshio v{__version__}\n")
319319
f.write("*NODE\n")
320320
fmt = ", ".join(["{}"] + ["{:" + float_fmt + "}"] * mesh.points.shape[1]) + "\n"
321321
for k, x in enumerate(mesh.points):
@@ -325,7 +325,7 @@ def write(filename, mesh, float_fmt=".16e", translate_cell_names=True):
325325
name = (
326326
meshio_to_abaqus_type[cell_type] if translate_cell_names else cell_type
327327
)
328-
f.write("*ELEMENT, TYPE={}\n".format(name))
328+
f.write(f"*ELEMENT, TYPE={name}\n")
329329
for row in node_idcs:
330330
eid += 1
331331
nids_strs = (str(nid + 1) for nid in row.tolist())
@@ -337,7 +337,7 @@ def write(filename, mesh, float_fmt=".16e", translate_cell_names=True):
337337
for k, v in mesh.cell_sets.items():
338338
if len(v[ic]) > 0:
339339
els = [str(i + 1 + offset) for i in v[ic]]
340-
f.write("*ELSET, ELSET={}\n".format(k))
340+
f.write(f"*ELSET, ELSET={k}\n")
341341
f.write(
342342
",\n".join(
343343
",".join(els[i : i + nnl]) for i in range(0, len(els), nnl)
@@ -348,7 +348,7 @@ def write(filename, mesh, float_fmt=".16e", translate_cell_names=True):
348348

349349
for k, v in mesh.point_sets.items():
350350
nds = [str(i + 1) for i in v]
351-
f.write("*NSET, NSET={}\n".format(k))
351+
f.write(f"*NSET, NSET={k}\n")
352352
f.write(
353353
",\n".join(",".join(nds[i : i + nnl]) for i in range(0, len(nds), nnl))
354354
+ "\n"

meshio/ansys/_ansys.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -389,13 +389,13 @@ def read(filename): # noqa: C901
389389
def write(filename, mesh, binary=True):
390390
with open_file(filename, "wb") as fh:
391391
# header
392-
fh.write('(1 "meshio {}")\n'.format(__version__).encode("utf8"))
392+
fh.write(f'(1 "meshio {__version__}")\n'.encode("utf8"))
393393

394394
# dimension
395395
dim = mesh.points.shape[1]
396396
if dim not in [2, 3]:
397-
raise WriteError("Can only write dimension 2, 3, got {}.".format(dim))
398-
fh.write(("(2 {})\n".format(dim)).encode("utf8"))
397+
raise WriteError(f"Can only write dimension 2, 3, got {dim}.")
398+
fh.write((f"(2 {dim})\n").encode("utf8"))
399399

400400
# total number of nodes
401401
first_node_index = 1
@@ -407,7 +407,7 @@ def write(filename, mesh, binary=True):
407407

408408
# total number of cells
409409
total_num_cells = sum([len(c) for c in mesh.cells])
410-
fh.write(("(12 (0 1 {:x} 0))\n".format(total_num_cells)).encode("utf8"))
410+
fh.write((f"(12 (0 1 {total_num_cells:x} 0))\n").encode("utf8"))
411411

412412
# Write nodes
413413
key = "3010" if binary else "10"
@@ -465,7 +465,7 @@ def write(filename, mesh, binary=True):
465465
if binary:
466466
(values + first_node_index).tofile(fh)
467467
fh.write(b"\n)")
468-
fh.write(("End of Binary Section {})\n".format(key)).encode("utf8"))
468+
fh.write((f"End of Binary Section {key})\n").encode("utf8"))
469469
else:
470470
numpy.savetxt(fh, values + first_node_index, fmt="%x")
471471
fh.write(b"))\n")

meshio/avsucd/_avsucd.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ def write(filename, mesh):
156156

157157
with open_file(filename, "w") as f:
158158
# Write meshio version
159-
f.write("# Written by meshio v{}\n".format(version))
159+
f.write(f"# Written by meshio v{version}\n")
160160

161161
# Write first line
162162
num_nodes = len(mesh.points)
@@ -236,7 +236,7 @@ def _write_data(f, labels, data_array, num_entities, num_data, num_data_sum):
236236
f.write("{} {}\n".format(len(num_data), num_data_str))
237237

238238
for label in labels:
239-
f.write("{}, real\n".format(label))
239+
f.write(f"{label}, real\n")
240240

241241
data_array = numpy.column_stack((numpy.arange(1, num_entities + 1), data_array))
242242
numpy.savetxt(f, data_array, delimiter=" ", fmt=["%d"] + ["%.14e"] * num_data_sum)

0 commit comments

Comments
 (0)