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
shopyo new blog
cd blog
shopyo initialise
flask run --debug

Note: You can also run shopyo new (without a project name) inside an existing directory to scaffold Shopyo in place.

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

Why Shopyo?

  • Flat Structure: No more nested proj/proj confusion.
  • Zero-Friction Assets: Use standard Flask url_for('static', filename='modules/...'). It just works in Dev and Prod.
  • Auto-Discovery: Modules are detected and registered automatically.

  • 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.18.0.tar.gz (5.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shopyo-4.18.0-py3-none-any.whl (5.5 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: shopyo-4.18.0.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for shopyo-4.18.0.tar.gz
Algorithm Hash digest
SHA256 2e3f713e0cb346cbba5c04b097c1682f2421941bb2efab4ad65f79ee43eb3038
MD5 ca8799f3543473a3dfb59aeba28c96ca
BLAKE2b-256 0ad0ece9d5cf69de917e057bf417509841c1e3e8aa268220300451674046f6da

See more details on using hashes here.

File details

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

File metadata

  • Download URL: shopyo-4.18.0-py3-none-any.whl
  • Upload date:
  • Size: 5.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for shopyo-4.18.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3ab6cc0534ba711ab07c7d76e688fd4b32e00fe47cc7904dea5b6b1a8e503d03
MD5 cc1bc06e9d8a7feb884ca049e0a0fca8
BLAKE2b-256 a97d25f4c1447b76bc58fe60e742a9d633b30e166ad15614dfa0bf8073146965

See more details on using hashes here.

Supported by

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