Is tutorial page outdated?

I tried to run the example:
https://docs.fenicsproject.org/dolfinx/main/python/demos/demo_gmsh.html

In the example, following interface is assumed:

mesh_data = gmshio.model_to_mesh(model, comm, rank=0)
mesh_data.mesh.name = name
...
if mesh_data.edge_tags is not None:

while according to the documentation, dolfinx.io.gmshio.read_from_msh returns a python tuple, which cannot be accessed with member syntax ("AttributeError: 'tuple' object has no attribute 'mesh'"). Also, there are only 3 possible fields - mesh, cell_tags and facet_tags - while the example suggest also edge_tags and vertex_tags.

Am I doing something wrong or the example is not correct for the current version?

You are mixing the main branch

and v0.9.0:

dolfinx.io.gmshio — DOLFINx 0.9.0 documentation

For v0.9.0, see the demo:

Mesh generation with Gmsh — DOLFINx 0.9.0 documentation

Thank you! I thought 0.9 was the latest version. I see that tutorials were updated to 0.10, but I can’t find this version. Is it going to be released soon?

I understand it means that 0.10 supports tags for all dimensions, and 0.9 only for n and n-1? It is important for me, as I have a 3D mesh that includes:

  • internal surfaces with tags (between tagged volumes)
  • segments on the boundary with tags
  • standard volumes and boundary surfaces with tags

The gmsh interface was updated to read in more markers, yes.
For now, you can copy the functionality from Extract edge tags and vertex tags from gmsh and return a NamedTuple by finsberg · Pull Request #3547 · FEniCS/dolfinx · GitHub as the change is localised to the gmshio file.

The latest stable version is 0.9. 0.10 is as of now the development branch. It can be fetched with the nightly docket images.

Thank you for all the answers.