Skip to content

Pylons/horus

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Getting Started

$ git clone git@github.com:Pylons/horus.git
$ cd horus
$ pip install -e .

If you would like to run the tests you should run:

$ pip install -e .[testing]

Design Decisions

Views

A view will be the utility functions needed to interface with Pyramid. They will be extremely light weight, they should validate and parse JSON/form data, then create any services and facades required and should contain no business logic.

Service

A service is a class that will represent all the business logic required to do a certain responsibility like creating authenticating a user.

The facade should not have any access to Pyramid or a persistence store. So there should be no DBSession or Request available, if the facade needs database access it should be done through a service.

Backend

A backend is an abstraction around the data access. There should be as little business logic in a repository as possible, it should be for connecting to a data store (postgres, zodb, mongodb) and returning the result set.

Mapping functions from database rows to model classes should be done here.

Flows

Flows represent a type of authentication that will include a specific set of services.

local The local flow represents that standard form workflow where you present a username/password form that authenticates the user from a database.

The local flow includes things like registration and e-mail verification.

ldap The ldap flow will authenticate against an LDAP server, no registration or activation is required.

Example Configuration

pyramid.includes = horus

horus.backend = horus.backends.sqla
horus.backend.sqlalchemy_url = postgresql://

horus.flows =
  local
  fb

local.impl = horus.flows.local
local.

fb.impl = horus.flows.facebook
fb.access_token =
fb.
config.override_assets(
  to_override='horus.flows.local:templates/',
  override_with='myapp.templates/')

About

User registration and login system for the Pyramid Web Framework.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages