/websauna

Websauna is a full stack Python web framework for building web services and back offices with admin interface and sign up process

Primary LanguagePythonOtherNOASSERTION

Websauna is a full stack Python web framework for building web services and back offices with admin interface and sign up process.

Supported Python versions Latest Version License
ci cov  

https://websauna.org/theme/images/logo-768.png

Websauna is a Python web framework for developing highly customized consumer and business websites and backends. It emphasises a low learning curve, community friendliness and polished documentation, so that newcomer developers get their first release out quickly. This is done without sacrificing scalability and high maintainability for more complex websites. Websauna builds its foundation on best practices and innovation that web development and Python communities have been refining for the last 20 years.

Websauna is created with modern Python 3 features, Pyramid web routing framework and SQLAlchemy object relational mapping. You get out of the box user experience with Jinja templates and Bootstrap theming, but you are free to bring in your own frontend.

Software development is only half of the story. Websauna additionally provides a basic deployment and operations story based on Ansible automation.

Websauna is focused on Internet facing sites where you have a public or private sign up process and an administrative interface. Its sweet spots include custom business portals and software-as-a-service products which are too specialized for off-the-shelf solutions. Websauna is ideal for Internet startups that iterate fast and may face urgent scalability needs. Furthermore, you can easily integrate different frontends like React, Angular and mobile apps with Websauna back office.

Websauna application comes with default admin interface and user sign up. You can start immediately developing business logic by adding models, views, forms and CRUD controllers.

Polished integration, getting started tutorial and project scaffolding allow a seasoned Python developer to roll out a custom web service within few a hours - being a turn key solution for the first prototype that can later be iterated on.

Websauna default stack choices are made high scalability in mind, so that your website can reach millions of users before you start hitting limitations. For example, delayed and asynchronous tasks ensure your site stays responsive and can scale horizontally.

Websauna is a security first solution . Its foundation principles make it immune to OWASP top 10 vulnerabilities. Websauna leans heavily on optimistic concurrency control eliminating potential for race condition errors. ACID guarantees are followed throughout the codebase, making Websauna ideal for financial services needing high data integrity.

A default mobile friendly Bootstrap frontend is provided for landing page and form styling. You can drop in premium theme packages for distinct user experience even if there is graphical design talent in your team. Federated authentication, like Facebook or Google login, is supported out of the box. Building RESTful behavior over business logic is made easy, so that frontend may be replaced with a heavier JavaScript solution when needed.

All default stack choices are suggestive, thus leaving room for opinions for different components and a path to scale up a service. There is no inversion of control - the developer is always in the driver's seat. A strong decoupling is achieved through component architecture, event dispatch and standardized addon mechanism. This allows building non-monolithic packages and frictionless distribution of work among teams.

You can browse available addons on Github.

A significant part of software development work is maintaining and updating services. Websauna provides a default deployment story using Ansible. When your website is ready to go live, you point the Ansible playbook to any Linux installation and it will deploy a fully functional website within a few minutes. The deployment choices are made by security experts for your convenience, so that even without deep sysadmin knowledge you can run your sites securely.

Because Websauna uses vendor neutral Ansible playbooks, you are not tied to a particular provider. Migrating between service providers is easy. You can run Websauna on Amazon, Azure, Hetzner, Digital Ocean, Linode, Upcloud or any other cloud server provider.

Websauna comes with integrated IPython Notebook support. IPython Notebook, an award winning data analysis and science tool, is directly integrated into Websauna. You can open a browser based shell prompt within your admin site with one click.

The IPython integration makes Websauna ideal for science and data analysis use cases. You can also use the administrative shell for ad hoc system administration tasks and data fixes.