Developer features

Write cloud-ready apps at ease.

Build apps for Aalam Cloud in Python. The framework takes care of sign-in, permissions, alerts and packaging, so you only write what your app does.

$ pip install aalam-common

acme-leavesExample

main.py

from aalam_common.wsgi import BaseHandlerfrom aalam_common.role_mgmt import Permissions class LeaveHandler(BaseHandler):    def apply(self, request, **kwargs):        ...  # your logic, nothing else def routes(mapper):    mapper.connect(        "/acme/leaves/apply",        handler=LeaveHandler(),        action="apply",        conditions={"method": ["PUT"]},        permissions=Permissions.deny_anon())

PKG-INFO

entry-point: acme_leaves.main:entrystatics-url: /acme/leaves/sstatics-path: resource/statics permissions:  permission-groups:    Leaves: "Leave requests"  Leaves:    approve: "Approve a leave request"
1Only your logic goes here2Sign-in and permission check: one parameter3Permissions your app exposes, in one YAML file

Easy to develop. Built for Python.

Built for Python

The framework is open to all under the MIT License and available directly on PyPI.

It remembers your APIs

You don’t have to remember the framework’s APIs. The framework remembers yours.

One YAML file

Permissions your app exposes, the URL for static files and the rest of your app’s details, all in one file.

Security, before your code runs.

Knows who is asking

Every API can tell whether a request came from a user, another app or an anonymous visitor. Authentication is done before your handler runs.

get_auth_user(request)

Checks what they’re allowed

Authorization is handled too. Defining permissions for an API is as simple as adding a parameter to a function call.

permissions=Permissions.deny_anon()

Messages your users can act on.

  1. Real-time alerts

    Post alert messages to a user or a group of users the moment something happens.

  2. A link to act on

    Attach a link to every message. A leave request reaches the manager, and the link opens the page to approve or decline it.

  3. A callback when someone acts

    Attach a backend API too. When user X joins a customer chat, your app hears about it and can update the message for everyone.

Alerts.put(from_, receiver, fe_url, content, be_url=None)

Central dashboard. Your app on every user’s home.

Every user gets a dashboard shaped by their permissions on the account. Your app can add to it by hooking the dashboard API and registering a handler.

Dashboard API

Testing kit. Find bugs before we do.

Learn more

Many users, on your machine

Test your app with several users and permissions, locally.

Packaging checked first

Catch packaging bugs before you submit to Aalam Cloud.

Update path tested

Try the update and migration from one version to the next.

App dependencies. Don’t rebuild what exists.

Use the APIs of well-known apps instead of rebuilding them. If an invoicing app has documented its APIs, your app can use them and stay focused on its own problem.

Built for teams. And a few more things.

Team development

Add your team to your provider account. Every member can submit apps and publish them.

Single sign-on

One login for your provider account and your cloud account. No separate account to create accounts.

API documentation

Generating documentation for your APIs is easy when your app is written in Python.

How it works

Build your first app on Aalam Cloud.

Everything above is in the developer docs, with step-by-step guides for Python.