# MWorks python: version attribute?

**URL:** <https://mworks.discourse.group/t/mworks-python-version-attribute/64>\
**Category:** Support\
**Created:** [August 9, 2021, 1:43pm UTC](https://mworks.discourse.group/t/mworks-python-version-attribute/64 "2021-08-09T13:43:25Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)\
**Post date:** [August 9, 2021, 1:43pm UTC](https://mworks.discourse.group/t/mworks-python-version-attribute/64/1 "2021-08-09T13:43:25Z")

</div>

Hi Chris,

My version of the MWorks Python module doesn’t have a way that I could find to check the MWorks version. Perhaps you can add a ` __version__ ` attribute if something like this doesn’t already exist?

thanks,  
Mark

---

<div class="post-metadata">

**Author:** ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)\
**Post date:** [August 9, 2021, 1:54pm UTC](https://mworks.discourse.group/t/mworks-python-version-attribute/64/2 "2021-08-09T13:54:15Z")

</div>

Hi Mark,

You’re correct that the Python package doesn’t include the MWorks version at present. There is a [way to get this info](https://mworks.tenderapp.com/discussions/suggestions/472#comment_47770297) that we discussed previously. However, having a ` __version__ ` attribute would obviously be easier. I’ll add that.

Cheers,  
Chris

---

<div class="post-metadata">

**Author:** ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)\
**Post date:** [August 9, 2021, 4:00pm UTC](https://mworks.discourse.group/t/mworks-python-version-attribute/64/3 "2021-08-09T16:00:48Z")

</div>

That sounds great. Thanks.

---

<div class="post-metadata">

**Author:** ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)\
**Post date:** [June 13, 2022, 3:48pm UTC](https://mworks.discourse.group/t/mworks-python-version-attribute/64/4 "2022-06-13T15:48:26Z")

</div>

Hi Mark,

As of the current nightly build, the Python mworks package has a ` __version__ ` attribute:

```auto
>>> import mworks
>>> mworks. __version__'0.12.dev'

```

There’s also a `get_version` function that returns both the version number and the build date in numeric form:

```auto
>>> mworks.get_version()
((0, 12), (2022, 6, 2))

```

Finally, there’s a `require_version` function that will assert that the version number and/or build date are at least as new as ones you specify:

```auto
>>> mworks.require_version(min_version=(0,11))
>>> mworks.require_version(min_version=(0,12))
>>> mworks.require_version(min_version=(0,13))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Application Support/MWorks/Scripting/Python/mworks/ __init__.py", line 31, in require_version
    assert version >= min_version, 'MWorks version < %s' % (min_version,)
AssertionError: MWorks version < (0, 13)
>>> mworks.require_version(min_build_date=(2022,6,1))
>>> mworks.require_version(min_build_date=(2022,6,2))
>>> mworks.require_version(min_build_date=(2022,6,3))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Application Support/MWorks/Scripting/Python/mworks/ __init__.py", line 32, in require_version
    assert build_date >= min_build_date, ('MWorks build date < %s' %
AssertionError: MWorks build date < (2022, 6, 3)
>>> mworks.require_version(min_version=(0,12), min_build_date=(2022,6,2))

```

Cheers,  
Chris

---

<div class="post-metadata">

**Author:** ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)\
**Post date:** [July 28, 2022, 4:10pm UTC](https://mworks.discourse.group/t/mworks-python-version-attribute/64/6 "2022-07-28T16:10:16Z")

</div>

@histed This issue has an update, too, in case you haven’t seen it.

---

<div class="post-metadata">

**Author:** ![histed](https://avatars.discourse-cdn.com/v4/letter/h/5e9695/32.png) [@histed](https://mworks.discourse.group/u/histed)\
**Post date:** [July 28, 2022, 11:18pm UTC](https://mworks.discourse.group/t/mworks-python-version-attribute/64/7 "2022-07-28T23:18:23Z")

</div>

Great - thank you! I’ll test this.

---

<div class="post-metadata">

**Author:** ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)\
**Post date:** [September 22, 2022, 2:29pm UTC](https://mworks.discourse.group/t/mworks-python-version-attribute/64/8 "2022-09-22T14:29:33Z")

</div>


