Skip to main content

SQLAlchemy-Enum34

https://badge.fury.io/py/SQLAlchemy-Enum34.svg? https://travis-ci.org/spoqa/sqlalchemy-enum34.svg?branch=master https://codecov.io/github/spoqa/sqlalchemy-enum34/coverage.svg?branch=master

This package provides a SQLAlchemy type to store values of standard enum.Enum (which became a part of standard library since Python 3.4). Its internal representation is equivalent to SQLAlchemy’s built-in sqlalchemy.types.Enum, but its Python representation is not a str but enum.Enum.

Note that this works on Python 2.6 as well as 3.4, the latest version of Python, through enum34 package.

The following example shows how enum-typed columns can be declared:

import enum

from sqlalchemy import Column, Integer
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy_enum34 import EnumType

Base = declarative_base()

class Color(enum.Enum):
    black = 'black'
    white = 'white'
    navy = 'navy'
    red = 'red'

class Size(enum.Enum):
    small = 'S'
    medium = 'M'
    large = 'L'
    xlarge = 'XL'

class Shirt(Base):
    id = Column(Integer, primary_key=True)
    color = Column(EnumType(Color), nullable=False)
    size = Column(EnumType(Size, name='shirt_size'), nullable=False)

And the following REPL session shows how these columns work:

>>> shirt = session.query(Shirt).filter(Shirt.color == Color.navy).first()
>>> shirt.color
<Color.navy: 'navy'>
>>> shirt.size
<Size.large: 'large'>

Written by Hong Minhee at Spoqa, and distributed under MIT license.

Changelog

2.0.0

Released on April 14, 2021.

  • Update for SQLAlchemy 1.3+ and modern Python versions. [#6 by Joongi Kim]

1.0.1

Released on August 7, 2015.

  • Fixed that sqlalchemy_enum34.Enum didn’t allow nullability. [#1 by Andrés Moya]

1.0.0

First version. Released on July 30, 2015.

Download files

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

Source Distribution

SQLAlchemy-Enum34-2.0.0.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

SQLAlchemy_Enum34-2.0.0-py2.py3-none-any.whl (4.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file SQLAlchemy-Enum34-2.0.0.tar.gz.

File metadata

  • Download URL: SQLAlchemy-Enum34-2.0.0.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/54.2.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.3

File hashes

Hashes for SQLAlchemy-Enum34-2.0.0.tar.gz
Algorithm Hash digest
SHA256 4d7d241cfc1f7032f897a97f53670e62fa33fd2a3bdc8501dbbb46685cf006ae
MD5 3018221e7eb30910b4330d8b1f816efc
BLAKE2b-256 f612184e6c30c888b8a3dd031c8443542a2f3e6b724647d3dd4b0715bf7580a8

See more details on using hashes here.

File details

Details for the file SQLAlchemy_Enum34-2.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: SQLAlchemy_Enum34-2.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/54.2.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.3

File hashes

Hashes for SQLAlchemy_Enum34-2.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6937191cfcb47ecee0f4111046626f143445962a94935fe50989b6560e6bc5c3
MD5 77b90604d154107d78b4e9676bccd849
BLAKE2b-256 927b33f113ee53c91dbae47c112a00a1abc30e6f903f9c518b566d72ea3a463b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 files

1.0.1

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page