pymor package



basic module

This module imports some commonly used methods and classes.

You can use from pymor.basic import * in interactive session to have the most important parts of pyMOR directly available.

version module

Git implementation of

class pymor.version.NotThisMethod[source]

Bases: Exception

Exception raised if a method is not valid for the current scenario.


Exception __new__
BaseException with_traceback


BaseException args

class pymor.version.VersioneerConfig[source]

Bases: object

Container for Versioneer configuration parameters.


Create, populate and return the VersioneerConfig() object.


Get the keywords needed to look up the version information.


Get version information or return default if unable to do so.


Extract version information from the given file.

pymor.version.git_pieces_from_vcs(tag_prefix, root, verbose, run_command=<function run_command>)[source]

Get version from ‘git describe’ in the root of the source tree.

This only gets called if the git-archive ‘subst’ keywords were not expanded, and hasn’t already been rewritten with a short version string, meaning we’re inside a checked out source tree.

pymor.version.git_versions_from_keywords(keywords, tag_prefix, verbose)[source]

Get version information from git keywords.


Return a + if we don’t already have one, else return a .

pymor.version.register_vcs_handler(vcs, method)[source]

Decorator to mark a method as the handler for a particular VCS.

pymor.version.render(pieces, style)[source]

Render the given version pieces into the requested style.



Like ‘git describe –tags –dirty –always’.

Exceptions: 1: no tags. HEX[-dirty] (note: no ‘g’ prefix)



Like ‘git describe –tags –dirty –always -long’. The distance/hash is unconditional.

Exceptions: 1: no tags. HEX[-dirty] (note: no ‘g’ prefix)


Build up version string, with post-release “local version identifier”.

Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you get a tagged build and then dirty it, you’ll get TAG+0.gHEX.dirty

Exceptions: 1: no tags. git_describe was just HEX. 0+untagged.DISTANCE.gHEX[.dirty]


TAG[.postDISTANCE[.dev0]] .

The ”.dev0” means dirty.

Eexceptions: 1: no tags. 0.postDISTANCE[.dev0]


TAG[.postDISTANCE[.dev0]+gHEX] .

The ”.dev0” means dirty. Note that .dev0 sorts backwards (a dirty tree will appear “older” than the corresponding clean one), but you shouldn’t be releasing software with -dirty anyways.

Exceptions: 1: no tags. 0.postDISTANCE[.dev0]


TAG[.post.devDISTANCE] – No -dirty.

Exceptions: 1: no tags.

pymor.version.run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, env=None)[source]

Call the given command(s).

pymor.version.versions_from_parentdir(parentdir_prefix, root, verbose)[source]

Try to determine the version from the parent directory name.

Source tarballs conventionally unpack into a directory that includes both the project name and a version string. We will also support searching up two directory levels for an appropriately named parent directory