Skip to main content

Set of SQLAlchemy mixins that make application building an easy task. Provides users, groups, permissions, resource tree handling and authorization solutions for Pyramid and Flask frameworks.

Project description

# Ziggurat Foundations

[![Build Status]](https://travis-ci.org/ergo/ziggurat_foundations) [![logo]](https://gitter.im/ergo/ziggurat_foundations)

DOCUMENTATION: http://readthedocs.org/docs/ziggurat-foundations/en/latest/

BUG TRACKER: https://github.com/ergo/ziggurat_foundations

Top layer to make authentication, resource ownership and permission management fast, simple and easy. In summary, Ziggurat Foundations (Zigg), is a set of framework agnostic set of sqlalchemy classes, but most of the documentation refers to using it within pyramid. It is the perfect solution for handling complex login and user management systems, from e-commerce systems, to private intranets or large (and small) CMS systems. It can easily be extended to support any additional features you may need (explained further in the documentation)

Zigg has been used (at scale) for very large implementations (millions of real users) and has been extended for custom applications such as geo-location applications that rely on pin-point accuracy for a users location. Zigg has been designed to work for high end environments, where the user(s) are at the main focus of the application (for example Zigg could become the backbone for a social media style application).

Zigg supplies a set of SQLAlchemy mixins that can be used to extend models in your application built in pyramid/flask/(your-favourite-framework-here). The aim of this project is to supply set of generic models that cover the most common needs in application development when it comes to authorization - using flat and tree like data structures. We provide nearly every feature you will need in a standard application, but provide the mixins as we understand that every implementation has its own use case and in doing so, extending the base models is very easy.

Zigg supplies extendable, robust and well tested models that include:

  • User - base for user accounts

  • Group - container for many users

  • Resource - Arbitrary database entity that can represent various object hierarchies - blogs, forums, cms documents, pages etc.

Zigg provides standard functions that let you:

  • Assign arbitrary permissions directly to users (ie. access certain views)

  • Assign users to groups

  • Assign arbitrary permissions to groups

  • Assign arbitrary resource permissions to users (ie. only user X can access private forum)

  • Assign arbitrary resource permissions to groups

  • Manage nested resources with tree service

  • Assign a user o an external identity (such as facebook/twitter)

  • Manage the sign in/sign out process

  • Change users password and generate security codes

  • Example root factory for assigning permissions per request

Ziggurat Foundations is BSD Licensed

[Build Status]: https://travis-ci.org/ergo/ziggurat_foundations.svg?branch=master [logo]: https://badges.gitter.im/ergo/ziggurat_foundations.svg

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

ziggurat_foundations-0.8.0.tar.gz (48.5 kB view details)

Uploaded Source

Built Distribution

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

ziggurat_foundations-0.8.0-py2.py3-none-any.whl (67.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ziggurat_foundations-0.8.0.tar.gz.

File metadata

  • Download URL: ziggurat_foundations-0.8.0.tar.gz
  • Upload date:
  • Size: 48.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.19.5 CPython/3.6.6

File hashes

Hashes for ziggurat_foundations-0.8.0.tar.gz
Algorithm Hash digest
SHA256 9945c4c9923e8b5ef62d29af53011d4aacf4106da531938a0806f39f1eb63910
MD5 4bf9f003a7b89b064f305343bb2e20a9
BLAKE2b-256 669c51e42e87c54b595f90e1f76e7d7fec27657d69ce5f8fd6174f6f25fb7229

See more details on using hashes here.

File details

Details for the file ziggurat_foundations-0.8.0-py2.py3-none-any.whl.

File metadata

  • Download URL: ziggurat_foundations-0.8.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 67.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.9.1 pkginfo/1.4.1 requests/2.18.4 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.19.5 CPython/3.6.6

File hashes

Hashes for ziggurat_foundations-0.8.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e91edf3749a9ef556a2d27596b00847214d646c74c10304c354744b00f53722a
MD5 ed604481864d0cfcb9bc6b1a2e2bd765
BLAKE2b-256 99e658c0adbb791d478677be4ce249fb84a3e31a61e2bb428839832e368e0b51

See more details on using hashes here.

Supported by

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