skip to navigation
skip to content

flufl.enum 4.1

A Python enumeration package.

Package Documentation

==========
flufl.enum
==========

A Python enumeration package.

The `flufl.enum` library is a Python enumeration package. Its goal is to
provide simple, specific, concise semantics in an easy to read and write
syntax. `flufl.enum` has just enough of the features needed to make
enumerations useful, but without a lot of extra baggage to weigh them down.
This work grew out of the Mailman 3.0 project.

**Note: This package is deprecated!** Python 3.4 added an enum package to its
`standard library`_ which is also available as a `third party package`_ on
PyPI for older versions of Python. If you are using `flufl.enum` you should
switch to the standard enum package.


Author
======

`flufl.enum` is Copyright (C) 2004-2015 Barry Warsaw <barry@python.org>

Licensed under the terms of the GNU Lesser General Public License, version 3
or later. See the COPYING.LESSER file for details.


Project details
===============

* Project home: https://gitlab.com/warsaw/flufl.enum
* Report bugs at: https://gitlab.com/warsaw/flufl.enum/issues
* Code hosting: git@gitlab.com:warsaw/flufl.enum.git
* Documentation: http://fluflenum.readthedocs.org/


.. `standard library`: https://docs.python.org/3/library/enum.html
.. `third party package`: https://pypi.python.org/pypi/enum34

===================
NEWS for flufl.enum
===================

4.1 (2015-10-09)
================
* Fix the regexp that matches identifiers in the functional API.
(LP: #1167052)
* Deprecate using getitem syntax for accessing enum values by attribute
name. Use ``getattr(Enum, name)`` instead. (LP: #1167091)
* Duplicate enum values error now provides information on the attribute names
that produced the conflict. Given by Eli Bendersky.
* The documentation now makes it clear that iteration sort order is not
guaranteed for ``Enum`` but *is* guaranteed for ``IntEnum``.
* Comparison operators now return ``NotImplemented`` which cause their use to
raise ``TypeError`` instead of ``NotImplementedError``. This is for
consistency with Python 3. In Python 2, we raise the ``TypeError``
explicitly.
* ``repr(Enum)`` now sorts in attribute name order, as does iteration over
``Enum``. Iteration over ``IntEnum`` is sorted by the enumeration item
values (which must be integers).
* ``Enum.__getattr__()`` and special treatment for ``__members__`` is
removed. A ``__dir__()`` is provided to limit ``dir(Enum)`` to just the
enumeration item names.
* As per BDFL request, document the ``__value_factory__`` API.
* Add support for Python 3.5 and drop support for Python 2.6.


4.0.1 (2014-06-11)
==================
* Include MANIFEST.in and tox.ini in the sdist tarball, otherwise the Debian
package won't built correctly.
* Drop use of distribute.
* Narrow tox supported environments.
* Bump copyright years.


4.0 (2013-04-05)
================
* Fix documentation bugs. (LP: #1026403, LP: #1132830)
* Deprecate ``EnumValue.__int__()``; use ``IntEnumValue`` (via ``IntEnum``)
instead.
* Add ``IntEnum`` class which returns int-subclass enum values. (LP: #1132976)
- Add ``__index__()`` method to support slicing. (LP: #1132972)
- Add non-deprecated ``__int__()`` method.
* Deprecate ``make()``; use ``Enum()`` instead.
- Call ``IntEnum()`` to create integer valued enums. (LP: #1162375)
- Accept a space-separate string of enum values which are auto-split.
- Accept a dictionary of enumeration name/value pairs.
* Add ``.value`` attribute to enum values. (LP: #1132859)
* For ``__getitem__()`` and ``__call__()``, fall back to using the ``.value``
attribute if the argument has one. (LP: #1124596)
* Previously deprecated APIs ``EnumValue.enumclass``, ``EnumValue.enumname``,
and ``enum.make_enum()`` are removed. (LP: #1132951)
* Small change to the ``repr`` of enum values; they now say "value=" instead
of "int=".
* Multiple enum values now raise a `ValueError` instead of a `TypeError`.


3.3.2 (2012-04-19)
==================
* Add classifiers to setup.py and make the long description more compatible
with the Cheeseshop.
* Other changes to make the Cheeseshop page look nicer. (LP: #680136)
* setup_helper.py version 2.1.


3.3.1 (2012-01-19)
==================
* Fix Python 3 compatibility with Sphinx's conf.py ($python setup.py install).


3.3 (2012-01-19)
================
* Remove the dependency on 2to3 for Python 3 support; support Python 3
directly with a single code base.
* flufl.enum.make_enum() is deprecated in favor of flufl.enum.make() which
provides a better API. (LP: #839529)
* Updated to distribute 0.6.19.
* Moved all documentation to .rst suffix.
* Make test_deprecations() compatible with Python 3 and Python 2.
* Removed markup for pylint.
* Improve documentation to illustrate that enum values with similar names and
integer representations still do not hash equally. (Found by Jeroen
Vermeulen).


3.2 (2011-08-19)
================
* make_enum() accepts an optional `iterable` argument to provide the values
for the enums.
* The .enumclass and .enumname attributes are deprecated. Use .enum and
.name instead, respectively.
* Improve the documentation regarding ordered comparisons and equality
tests. (LP: #794853)
* make_enum() now enforces the use of valid Python identifiers. (LP: #803570)


3.1 (2011-03-01)
================
* New convenience function `make_enum()`. (Contributed by Michael Foord)
* Fix `from flufl.enum import *`.
* Enums created with the class syntax can be pickled and unpickled.
(Suggestion and basic implementation idea by Phillip Eby).


3.0.1 (2010-06-07)
==================
* Fixed typo which caused the package to break.


3.0 (2010-04-24)
================
* Package renamed to flufl.enum.


2.0.2 (2010-01-29)
==================
* Fixed some test failures when running under 2to3.


2.0.1 (2010-01-08)
==================
* Fix the manifest and clarify license.


2.0 (2010-01-07)
================
* Use Sphinx to build the documentation.
* Updates to better package Debian/Ubuntu.
* Use distribute_setup instead of ez_setup.
* Rename pep-xxxx.txt; this won't be submitted as a PEP.
* Remove dependencies on nose and setuptools_bzr
* Support Python 3 via 2to3.


Earlier
=======

Try `bzr log lp:flufl.enum` for details.  
File Type Py Version Uploaded on Size
flufl.enum-4.1.tar.gz (md5, pgp) Source 2015-10-09 22KB
  • Downloads (All Versions):
  • 0 downloads in the last day
  • 0 downloads in the last week
  • 25879 downloads in the last month