Skip to main content
PyGmsh
======

|Build Status| |Code Health| |Coverage Status| |Documentation Status|
|PyPi Version| |PyPi Downloads|

`Gmsh <http://geuz.org/gmsh/>`__ is powerful mesh generation tool and
its scripting language is notoriously hard to write.

The goal PyGmsh is to combine the power of Gmsh with the versatility of
Python and to provide useful abstractions from the Gmsh scripting
language so you can create create complex geometries even more easily.

.. raw:: html

<p align="center">

.. raw:: html

</p>

To create the above mesh, simply do

.. code:: python

import pygmsh as pg
import numpy as np

# Draw a cross.
poly = pg.add_polygon([
[0.0, 0.5, 0.0],
[-0.1, 0.1, 0.0],
[-0.5, 0.0, 0.0],
[-0.1, -0.1, 0.0],
[0.0, -0.5, 0.0],
[0.1, -0.1, 0.0],
[0.5, 0.0, 0.0],
[0.1, 0.1, 0.0]
],
lcar=0.05
)

axis = [0, 0, 1]

pg.Extrude(
'Surface{%s}' % poly,
translation_axis=axis,
rotation_axis=axis,
point_on_axis=[0, 0, 0],
angle=2.0 / 6.0 * np.pi
)

print(pg.get_code())

and write the output to a file, e.g., ``screw.geo``. Then use Gmsh to
generate the mesh

.. code:: bash

$ gmsh -3 screw.geo

You will find this example in the directory ``test/examples/`` along
with other small examples.

Installation
~~~~~~~~~~~~

Python Package Index
^^^^^^^^^^^^^^^^^^^^

PyGmsh is `available from the Python Package
Index <https://pypi.python.org/pypi/pygmsh/>`__, so simply type

::

pip install pygmsh

to install or

::

pip install pygmsh -U

to upgrade.

Manual installation
^^^^^^^^^^^^^^^^^^^

Download PyGmsh from `PyPi <https://pypi.python.org/pypi/pygmsh/>`__ or
`GitHub <https://github.com/nschloe/pygmsh>`__ and install it with

::

python setup.py install

Requirements
~~~~~~~~~~~~

PyGmsh depends on

- `NumPy <http://www.numpy.org/>`__

and, obviously, `Gmsh <http://geuz.org/gmsh/>`__.

Usage
~~~~~

Just

::

import pygmsh as pg

and make use of all the goodies the module provides. The
`documentation <http://pygmsh.readthedocs.org/>`__ and the examples
under ``test/examples/`` might inspire you.

Testing
~~~~~~~

To run the PyGmsh unit tests, check out this repository and type

::

nosetests

or

::

nose2 -s test

Distribution
~~~~~~~~~~~~

To create a new release

1. bump the ``__version__`` number,

2. create a Git tag,

::

$ git tag -a v0.3.1
$ git push --tags

and

3. upload to PyPi:

::

$ make upload

License
~~~~~~~

PyGmsh is published under the `MIT
license <https://en.wikipedia.org/wiki/MIT_License>`__.

.. |Build Status| image:: https://travis-ci.org/nschloe/pygmsh.svg
:target: https://travis-ci.org/nschloe/pygmsh
.. |Code Health| image:: https://landscape.io/github/nschloe/pygmsh/master/landscape.png
:target: https://landscape.io/github/nschloe/pygmsh/master
.. |Coverage Status| image:: https://coveralls.io/repos/nschloe/pygmsh/badge.svg?branch=master&service=github
:target: https://coveralls.io/github/nschloe/pygmsh?branch=master
.. |Documentation Status| image:: https://readthedocs.org/projects/pygmsh/badge/?version=latest
:target: http://pygmsh.readthedocs.org/en/latest/?badge=latest
.. |PyPi Version| image:: https://img.shields.io/pypi/v/pygmsh.svg
:target: https://pypi.python.org/pypi/pygmsh
.. |PyPi Downloads| image:: https://img.shields.io/pypi/dm/pygmsh.svg
:target: https://pypi.python.org/pypi/pygmsh

Metadata

Release files for pygmsh 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pygmsh 0.2.0
File Size Uploaded
pygmsh-0.2.0.tar.gz 7.7 kB Details

Release files / pygmsh-0.2.0.tar.gz

Download URL pygmsh-0.2.0.tar.gz
Size 7.7 kB
Tags Source
SHA-256 checksum
How to use checksums
128ca858736f1adb869f7054461f0f6f0c75989a99d43b6ab88ad51381ff988a
BLAKE2b-256 checksum
How to use checksums
6488e9820fb2ac7001867db0f2bdaef2af9c939f40d6b1288d0b13d305fdf633
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

7.1.17

2 release files

7.1.16

2 release files

7.1.15

2 release files

7.1.13

2 release files

7.1.12

2 release files

7.1.11

2 release files

7.1.10

2 release files

7.1.9

2 release files

7.1.8

2 release files

7.1.7

2 release files

7.1.6

2 release files

7.1.5

2 release files

7.1.4

2 release files

7.1.3

2 release files

7.1.2

2 release files

7.1.1

2 release files

7.1.0

2 release files

7.0.4

2 release files

7.0.3

2 release files

7.0.2

2 release files

7.0.1

2 release files

7.0.0

2 release files

6.1.1

2 release files

6.1.0

2 release files

6.0.9

2 release files

6.0.8

2 release files

6.0.6

2 release files

6.0.5

2 release files

6.0.4

2 release files

6.0.3

2 release files

6.0.2

2 release files

5.0.2

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.4.2

2 release files

4.4.1

2 release files

4.4.0

2 release files

4.3.6

2 release files

4.3.5

2 release files

4.3.4

2 release files

4.3.3

2 release files

4.3.2

2 release files

4.3.1

2 release files

4.3.0

2 release files

4.2.0

2 release files

4.1.7

2 release files

4.1.6

2 release files

4.1.5

2 release files

4.1.4

2 release files

4.1.3

2 release files

4.1.2

1 release file

4.1.1

1 release file

4.1.0

1 release file

4.0.8

1 release file

4.0.7

1 release file

4.0.6

1 release file

4.0.5

1 release file

4.0.4

1 release file

4.0.3

1 release file

4.0.2

1 release file

4.0.1

1 release file

4.0.0

1 release file

3.2.2

1 release file

3.2.1

1 release file

3.2.0

1 release file

3.1.0

1 release file

3.0.18

1 release file

3.0.17

1 release file

3.0.16

1 release file

3.0.15

1 release file

3.0.14

1 release file

3.0.13

1 release file

3.0.12

1 release file

3.0.11

1 release file

3.0.10

1 release file

3.0.9

1 release file

3.0.8

1 release file

3.0.7

1 release file

3.0.6

1 release file

3.0.5

1 release file

3.0.4

1 release file

3.0.3

1 release file

3.0.2

1 release file

3.0.1

1 release file

3.0.0

1 release file

2.7.0

1 release file

2.6.0

1 release file

2.5.1

1 release file

2.5.0

1 release file

2.4.2

1 release file

2.4.1

1 release file

2.4.0

1 release file

2.3.0

1 release file

2.2.0

1 release file

2.1.3

1 release file

2.1.2

1 release file

2.1.1

1 release file

2.1.0

1 release file

2.0.1

1 release file

2.0.0

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.2.1

1 release file

This release

0.2.0 This release

1 release file

0.1.0

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page