Skip to main content

A datatype which stores a year and a month.

Project description status

A datatype which stores a year and a month.

This package provides the data type Month (typical usage: Month(4, 2003)), which supports conversion to and from strings, as well as a zope.schema field and widgets for both zope.formlib and z3c.form.

To use the month field, <include package="gocept.month"/> and declare a schema like this:

>>> import gocept.month
>>> import zope.interface
>>> import zope.schema
>>> class IContract(zope.interface.Interface):
...     title = zope.schema.TextLine(title=u"Contract title")
...     start = gocept.month.MonthField(title=u"Starting date")
...     end = gocept.month.MonthField(title=u"Ending date")

To use the form widgets, you need to require the form setuptools extra (i.e. gocept.month[form]), and <include package="gocept.month.browser"/> in your ZCML.


3.0 (2021-08-27)

Backwards-incompatible changes

  • Re-licence from ZPL to MIT licence.

  • Drop support for Python 2 and 3.6.


  • Add support for Python 3.10 (as of rc.1).

2.2 (2021-04-20)


  • Add support for Python 3.7, 3.8 and 3.9.

Bug fixes

  • Add missing security declaration needed for .browser.widget.MonthWidget, the month widget for z3c.form.


  • Migrate to Github.

  • Use Github actions as CI.

  • Drop support for Python 3.4 and 3.5.

2.1 (2017-04-13)

  • Officially support Python 3.6.

  • Fix configure.zcml to be compatible with Python 3.

2.0 (2016-04-28)

  • Made the package compatible with Python 2.7 and Python 3 at the same time.

  • Backwards-incompatible change towards stricter comparison behaviour: While arbitrary objects (except month strings) used to be considered less than any Month instance, such a comparison now raises a TypeError.

  • Removed deprecated Month.isBetween method.

1.5 (2016-04-27)

  • Support Python 2.7 and PyPy only.

  • Add tox as testrunner.

1.4 (2016-02-07)

  • Add a __len__ method to MonthInterval.

  • Require z3c.form >= 2.6 to get rid of some odd test dependencies.

1.3.2 (2015-10-13)

  • Fix configure.zcml to include needed meta.zcml files.

1.3.1 (2015-08-05)

1.3 (2014-07-16)

  • Add placeholder for month widget in z3c forms describing the required month format.

1.2 (2013-02-18)

  • Split off widgets into setuptools extra form, and don’t include the browser ZCML by ourselves, so clients can use only the domain part of this package without the UI parts.

  • Added firstOfMonth method to Month.

  • Using zope.formlib >= 4.0 instead of

  • Updated to ZTK 1.1.5.

1.1 (2012-02-09)

  • Add MonthInterval.forYear().

  • Declared fromString method as a class method in interface.

1.0.2 (2011-09-01)

  • Added __contains__ method on Month.

1.0.1 (2011-04-26)

  • Declare dependencies that some upstream packages need but don’t declare.

  • Use stdlib’s doctest module, not zope.testing’s which is deprecated.

1.0 (2009-10-05)

  • Initial public release.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gocept.month-3.0.tar.gz (14.5 kB view hashes)

Uploaded Source

Built Distribution

gocept.month-3.0-py3-none-any.whl (15.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page