Skip to main content

No project description provided

Project description

sqlalchemy GUID

This is a simple extension to SQLAlchemy that adds support for UUID with postgresql compatibility to other database dialects.

Installation

pip install sqlalchemy_guid

Usage

Basically, you just need to import the GUID type and use it in your models:

    import uuid
    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy import Column, Integer
    from sqlalchemy_guid import GUID

    Base = declarative_base()

    class User(Base):
        __tablename__ = 'users'
        id = Column(Integer, primary_key=True)
        guid = Column(GUID, default=uuid.uuid4)

For postgresql it will use the native uuid type, for other database dialects it will use a CHAR(32), storing as stringified hex values.

Now, when you create a new user, the guid will be automatically generated:

    user = User()
    session.add(user)
    session.commit()
    print(user.guid)

It will also work with other database dialects, such as sqlite:

    from sqlalchemy import create_engine
    engine = create_engine('sqlite:///:memory:')
    Base.metadata.create_all(engine)

    session = Session(engine)
    user = User()
    session.add(user)
    session.commit()
    print(user.guid)

More sqlite examples can be found in the tests.

License

MIT

Project details


Download files

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

Source Distribution

sqlalchemy_guid-1.0.2.tar.gz (2.7 kB view hashes)

Uploaded Source

Built Distribution

sqlalchemy_guid-1.0.2-py3-none-any.whl (3.4 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