Skip to main content

Highly modular web framework built for big apps on top of Flask with Django advantages

Project description


shopyo

Downloads Codecov Tests PyPI version shields.io Documentation Status CII Best Practices OpenSSF Scorecard

Featured on Weekly Python issue 436 🌟

A 45 mins talk was dedicated to it at EuroPython 🌟

Must watch: Shopyo: Your Mega Flask Machine (short vid)

E-commerce modules transferred to ShopCube

[ DOCS | DISCORD | CONTRIBUTE | TWITTER]

What?

Your next-level modular web framework. Get organisation & scalability from day 1.

Built on top of Flask, it offers most Django features, sometimes a tidbit more with far more flexibility.

Why?

Perk
🥏 No learning Does not get into the way, uses common flask-packages. You only need to know Flask.
🏗️ Architecture Never think about architecture of your app, just build & integrate extensions.
🏢 Scalable As your app grows, Shopyo caters for your codebase with powerful features.
🥢 Good practices Testing, docs etc are covered. Don't make those afterthoughts.
🔧 Ease your life We've been there. Awesome utils to ease development.
🪜 Scaffolding Don't waste time writing boilerplate code. We've got you covered.
🖍️ Theming system You need theme in your apps? We integrate a default theme system.

Features

  • ⚛️ i18n setup
  • 🔐 Login & Auth
  • 📧 Email
  • 📦 2-level modularity
  • 🪐 Designed for really BIG apps
  • 🌅 Assets management

Quick start

pip install shopyo>=4.11
mkdir blog
cd blog
shopyo new -m # -m adds static files
cd blog
# comment out in app.py
# from shopyo_base import ShopyoBase
# ...
# sh_theme.init_app(app)
shopyo initialise
flask shopyo-seed
flask run --debug

If errors do (linux, use set <VAR> for Windows):

export SHOPYO_CONFIG_PROFILE=development
export FLASK_ENV=development # < flask 2.2.x
export ENV=development
export FLASK_DEBUG=development # < flask 2.2.x
export FLASK_APP=app.py

SHOPYO_CONFIG_PROFILE is what is defined as keys of app_config in config.py

It is recommended to use a venv in root folder.

python -m venv venv

If for dev install dev_requirements.txt also.

python -m pip install -r requirements/dev.txt

go to http://127.0.0.1:5000/dashboard with credentials admin@domain.com / pass

  • Not framework docs but docs for the project you are building.

First time contributing?

We have a 100% first-timers friendly policy. Check out the testimonials.

Thank you! One of the best onboarding experiences I've had. Learned a lot too (Ramon from Codesee.io)

Glimpse

Who uses Shopyo?

site name description
Maurilearn.com Elearning platform
Linkolearn.com Learn By links
FlaskCon.com Conference soft

Big??

Powered by apps / modules. Add as many as you like.

Apps are not enough, organise them in boxes and get the ultimate order you need.

You need a customised Django? This is the project. You need to build an ERP? This is the project.

Linux??

Hackable to the core. Even the dashboard is but a module.

Don't need our modules? Nuke them. Look boring? modify them

Reliable?

We don't maintain middlewares. We rely on battle tested batteries like:

  • flask_sqlalchemy
  • flask_login & co

Heck remove them if you don't want. Want to use Peewee? You can.

Rich Flask API

Common flask patterns are integrated, the structure is over the moon.

Common flask tasks are provided with an API: custom notifications, bulk form errors

Back office feel & Theme

All looks are 100% customisable with themes ~ Backend, bootstrap included by default.

Again blow it up & use what you want. It's possible

Transparent: Code your own web distro

Everything is clear, not hidden. You can 100% customise whatever you want.

We did not hardcode our choices. Our APIS are incremental. You can always use barebones.

Plug & Play

The modules are put by copy paste. No blueprint codes to write.

Contribute

We follow a 100% first-timers friendly policy.

👉 Get started here

👉 Join the Discord, ask questions & learn about Flask tricks during our dev talks!

📚 Docs

👉 Link: shopyo.readthedocs.io/

📞 Contact (inlcuding in case of vulns)

Support team if you are stuck

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shopyo-4.12.1.tar.gz (5.4 MB view details)

Uploaded Source

Built Distribution

shopyo-4.12.1-py3-none-any.whl (5.4 MB view details)

Uploaded Python 3

File details

Details for the file shopyo-4.12.1.tar.gz.

File metadata

  • Download URL: shopyo-4.12.1.tar.gz
  • Upload date:
  • Size: 5.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for shopyo-4.12.1.tar.gz
Algorithm Hash digest
SHA256 cb0036552187b87803d0131947b11272a2409c24a89b8eba63bd76e1b5188c20
MD5 161b60fce0d397d0dd25aa6d5677d546
BLAKE2b-256 002ca244cd614dfdc1884cab55cefe2ab470b8fe9c5453afb2f4fc4dd0575b41

See more details on using hashes here.

File details

Details for the file shopyo-4.12.1-py3-none-any.whl.

File metadata

  • Download URL: shopyo-4.12.1-py3-none-any.whl
  • Upload date:
  • Size: 5.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for shopyo-4.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a051d306c356b69799bc08416188016bf81b37a719665959791ce00c1c69b5db
MD5 c5d7ecb1613b34bd1e59b6648667df20
BLAKE2b-256 8e0af35b81dc2616121172e1c60fd51b804d40e3cc8999e29e3f968054bc80fd

See more details on using hashes here.

Supported by

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