All Projects → ergo → Ziggurat_foundations

ergo / Ziggurat_foundations

Licence: bsd-3-clause
Framework agnostic set of sqlalchemy classes that make building applications that require permissions an easy task.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Ziggurat foundations

Appy Backend
A user system to bootstrap your app.
Stars: ✭ 96 (+43.28%)
Mutual labels:  authentication, authorization, permissions
Brandenburg
Laravel Authentication Package
Stars: ✭ 79 (+17.91%)
Mutual labels:  authentication, authorization, permissions
Matrixauth
High-performance lightweight distributed permission system. 高性能轻量级分布式权限系统。
Stars: ✭ 41 (-38.81%)
Mutual labels:  authentication, authorization, permission
HeimGuard
🛡 A simple library that allows you to easily manage permissions in your .NET projects.
Stars: ✭ 77 (+14.93%)
Mutual labels:  permissions, authorization, permission
Bottle Cork
Authentication module for the Bottle and Flask web frameworks
Stars: ✭ 174 (+159.7%)
Mutual labels:  flask, authentication, authorization
Sentinel
A framework agnostic authentication & authorization system.
Stars: ✭ 1,354 (+1920.9%)
Mutual labels:  authentication, authorization, permissions
Vakt
Attribute-based access control (ABAC) SDK for Python
Stars: ✭ 92 (+37.31%)
Mutual labels:  authorization, permissions, permission
Laravel Auth
A powerful authentication, authorization and verification package built on top of Laravel. It provides developers with Role Based Access Control, Two-Factor Authentication, Social Authentication, and much more, compatible Laravel’s standard API and fully featured out of the box.
Stars: ✭ 128 (+91.04%)
Mutual labels:  authentication, authorization, permissions
Flask Base
A simple Flask boilerplate app with SQLAlchemy, Redis, User Authentication, and more.
Stars: ✭ 2,680 (+3900%)
Mutual labels:  sqlalchemy, flask, authentication
Rbac
Hierarchical Role Based Access Control for NodeJS
Stars: ✭ 857 (+1179.1%)
Mutual labels:  authentication, authorization, permissions
Flask Restful Authentication
An example for RESTful authentication using nginx, uWSGI, Flask, MongoDB and JSON Web Token(JWT).
Stars: ✭ 63 (-5.97%)
Mutual labels:  flask, authentication
Cookiecutter Pyramid Talk Python Starter
An opinionated Cookiecutter template for creating Pyramid web applications starting way further down the development chain. This cookiecutter template will create a new Pyramid web application with email, sqlalchemy, rollbar, and way more integrated.
Stars: ✭ 64 (-4.48%)
Mutual labels:  sqlalchemy, pyramid
Flask Jwt Router
Flask JWT Router is a Python library that adds authorised routes to a Flask app.
Stars: ✭ 43 (-35.82%)
Mutual labels:  sqlalchemy, flask
Webargs
A friendly library for parsing HTTP request arguments, with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado, Pyramid, webapp2, Falcon, and aiohttp.
Stars: ✭ 1,145 (+1608.96%)
Mutual labels:  flask, pyramid
Python Api Development Fundamentals
Develop a full-stack web application with Python and Flask
Stars: ✭ 44 (-34.33%)
Mutual labels:  sqlalchemy, flask
Authr
🔑 a flexible and expressive approach to access-control
Stars: ✭ 33 (-50.75%)
Mutual labels:  authorization, permissions
Gortas
Gortas is an API based authentication service, allows adding authentication to your site or service with minimum efforts.
Stars: ✭ 48 (-28.36%)
Mutual labels:  authentication, authorization
Best Of Web Python
🏆 A ranked list of awesome python libraries for web development. Updated weekly.
Stars: ✭ 1,118 (+1568.66%)
Mutual labels:  flask, pyramid
Authomatic
Simple yet powerful authorization / authentication client library for Python web applications.
Stars: ✭ 962 (+1335.82%)
Mutual labels:  authentication, authorization
Python crawler
It's designed to be a simple, tiny, pratical python crawler using json and sqlite instead of mysql or mongdb. The destination website is Zhihu.com.
Stars: ✭ 45 (-32.84%)
Mutual labels:  sqlalchemy, flask

Ziggurat Foundations

Build Status logo

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

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

High level mixins for adding authorization, resource ownership and permission management fast, simple and easy. In summary, Ziggurat Foundations is a set of framework agnostic set of SQLAalchemy classes, so it can be used with Flask, Pyramid or other popular frameworks. It is the perfect solution for handling complex login and user management systems, from e-commerce systems, to private intranets or large 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).

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 most commonly needed features in a "standard" application, but provide them as 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 context factory for assigning permissions per request (framework integration)

Ziggurat Foundations is BSD Licensed

Local development using docker

docker-compose run --rm app bash
cd ../application;

To run sqlite tests:

tox

To run postgres tests:

DB_STRING="postgres://test:[email protected]:5432/test" DB=postgres tox

To run mysql tests:

DB_STRING="mysql+mysqldb://test:[email protected]_mysql/test" DB=mysql tox
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].