<h1 align="center">
<br>
<a href="https://github.com/shopyo"><img src="https://github.com/shopyo/shopyo/blob/dev/assets/github_banner.png" alt="shopyo" width="" height=""></a>
</h1>
[![Downloads](https://static.pepy.tech/badge/shopyo/month)](https://pepy.tech/project/shopyo) [![Codecov](https://codecov.io/gh/shopyo/shopyo/branch/dev/graph/badge.svg?token=J4TL2MDTSS)](https://codecov.io/gh/shopyo/shopyo) ![Tests](https://github.com/shopyo/shopyo/actions/workflows/tests.yaml/badge.svg) [![PyPI version shields.io](https://img.shields.io/pypi/v/shopyo.svg)](https://pypi.python.org/pypi/shopyo/) [![Documentation Status](https://readthedocs.org/projects/shopyo/badge/?version=latest)](https://shopyo.readthedocs.io/en/latest/?badge=latest) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5350/badge)](https://bestpractices.coreinfrastructure.org/projects/5350) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/shopyo/shopyo/badge)](https://api.securityscorecards.dev/projects/github.com/shopyo/shopyo)
Featured on [Weekly Python issue 436](https://newsletry.com/Home/Python%20Weekly/9a578693-14ba-47c5-8a8e-08d7b0139fe7) 🌟
A 45 mins talk was dedicated to it at [EuroPython](https://youtu.be/rkzXQOC1T0Q) 🌟
Must watch: [Shopyo: Your Mega Flask Machine](https://youtu.be/pvwvRi6iMds) (short vid)
E-commerce modules transferred to [ShopCube](https://github.com/shopyo/shopcube)
**[ [DOCS](https://shopyo.readthedocs.io/en/latest/) | [DISCORD](https://discord.gg/k37Ef6w) | [CONTRIBUTE](https://shopyo.readthedocs.io/en/latest/contrib.html) | [TWITTER](https://twitter.com/shopyoproject)]**
# 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
```bash
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
![](https://github.com/shopyo/shopyo/blob/dev/comparison.png)
- 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](https://github.com/shopyo/shopyo/discussions/307).
> Thank you! One of the best onboarding experiences I've had. Learned a lot too (Ramon from Codesee.io)
# Glimpse
![](https://github.com/shopyo/shopyo/raw/dev/assets/comparison.png)
# 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](https://shopyo.readthedocs.io/en/latest/contrib.html)
👉 Join the [Discord](https://discord.gg/k37Ef6w), ask questions & learn about Flask tricks during our dev talks!
# 📚 Docs
👉 Link: [shopyo.readthedocs.io/](https://shopyo.readthedocs.io/en/latest/)
# 📞 Contact (inlcuding in case of vulns)
Support team if you are stuck
- [Abdur-Rahmaan Janhangeer](https://github.com/Abdur-rahmaanJ) - arj.python@gmail.com
- [Nathan](https://github.com/blips5) -
- [Arthur Nangai](https://github.com/arthurarty) - arthurnangaiarty@yahoo.co.uk
- [Shamsuddin Rehmani](https://github.com/rehmanis) - rehmani@usc.edu
Raw data
{
"_id": null,
"home_page": "https://github.com/shopyo/shopyo",
"name": "shopyo",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "Flask, Django, web framework, modular",
"author": "Abdur-Rahmaan Janhangeer",
"author_email": "arj.python@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/00/2c/a244cd614dfdc1884cab55cefe2ab470b8fe9c5453afb2f4fc4dd0575b41/shopyo-4.12.1.tar.gz",
"platform": null,
"description": "<h1 align=\"center\">\n <br>\n <a href=\"https://github.com/shopyo\"><img src=\"https://github.com/shopyo/shopyo/blob/dev/assets/github_banner.png\" alt=\"shopyo\" width=\"\" height=\"\"></a>\n\n</h1>\n\n[![Downloads](https://static.pepy.tech/badge/shopyo/month)](https://pepy.tech/project/shopyo) [![Codecov](https://codecov.io/gh/shopyo/shopyo/branch/dev/graph/badge.svg?token=J4TL2MDTSS)](https://codecov.io/gh/shopyo/shopyo) ![Tests](https://github.com/shopyo/shopyo/actions/workflows/tests.yaml/badge.svg) [![PyPI version shields.io](https://img.shields.io/pypi/v/shopyo.svg)](https://pypi.python.org/pypi/shopyo/) [![Documentation Status](https://readthedocs.org/projects/shopyo/badge/?version=latest)](https://shopyo.readthedocs.io/en/latest/?badge=latest) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5350/badge)](https://bestpractices.coreinfrastructure.org/projects/5350) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/shopyo/shopyo/badge)](https://api.securityscorecards.dev/projects/github.com/shopyo/shopyo)\n\nFeatured on [Weekly Python issue 436](https://newsletry.com/Home/Python%20Weekly/9a578693-14ba-47c5-8a8e-08d7b0139fe7) \ud83c\udf1f\n\nA 45 mins talk was dedicated to it at [EuroPython](https://youtu.be/rkzXQOC1T0Q) \ud83c\udf1f\n\nMust watch: [Shopyo: Your Mega Flask Machine](https://youtu.be/pvwvRi6iMds) (short vid)\n\nE-commerce modules transferred to [ShopCube](https://github.com/shopyo/shopcube)\n\n**[ [DOCS](https://shopyo.readthedocs.io/en/latest/) | [DISCORD](https://discord.gg/k37Ef6w) | [CONTRIBUTE](https://shopyo.readthedocs.io/en/latest/contrib.html) | [TWITTER](https://twitter.com/shopyoproject)]**\n\n# What?\n\nYour next-level modular web framework. Get organisation & scalability from day 1.\n\nBuilt on top of Flask, it offers most Django features, sometimes a tidbit more with far more flexibility.\n\n# Why?\n\n| Perk | |\n|:--|:--:|\n| \ud83e\udd4f No learning | Does not get into the way, uses common flask-packages. You only need to know Flask. |\n| \ud83c\udfd7\ufe0f Architecture | Never think about architecture of your app, just build & integrate extensions. |\n| \ud83c\udfe2 Scalable | As your app grows, Shopyo caters for your codebase with powerful features. |\n| \ud83e\udd62 Good practices | Testing, docs etc are covered. Don't make those afterthoughts. |\n| \ud83d\udd27 Ease your life | We've been there. Awesome utils to ease development. |\n| \ud83e\ude9c Scaffolding | Don't waste time writing boilerplate code. We've got you covered. |\n| \ud83d\udd8d\ufe0f Theming system | You need theme in your apps? We integrate a default theme system. |\n\n# Features\n\n- \u269b\ufe0f i18n setup\n- \ud83d\udd10 Login & Auth\n- \ud83d\udce7 Email\n- \ud83d\udce6 2-level modularity\n- \ud83e\ude90 Designed for really BIG apps\n- \ud83c\udf05 Assets management\n\n# Quick start\n\n```bash\npip install shopyo>=4.11\nmkdir blog\ncd blog\nshopyo new -m # -m adds static files\ncd blog\n# comment out in app.py\n# from shopyo_base import ShopyoBase\n# ...\n# sh_theme.init_app(app)\nshopyo initialise\nflask shopyo-seed\nflask run --debug\n```\n\nIf errors do (linux, use `set <VAR>` for Windows):\n\n```\nexport SHOPYO_CONFIG_PROFILE=development\nexport FLASK_ENV=development # < flask 2.2.x\nexport ENV=development\nexport FLASK_DEBUG=development # < flask 2.2.x\nexport FLASK_APP=app.py\n```\n\n`SHOPYO_CONFIG_PROFILE` is what is defined as keys of `app_config` in `config.py`\n\nIt is recommended to use a venv in root folder.\n\n`python -m venv venv`\n\nIf for dev install dev_requirements.txt also.\n\n`python -m pip install -r requirements/dev.txt`\n\ngo to http://127.0.0.1:5000/dashboard with credentials admin@domain.com / pass\n\n![](https://github.com/shopyo/shopyo/blob/dev/comparison.png)\n\n- Not framework docs but docs for the project you are building.\n\n# First time contributing?\n\nWe have a 100% first-timers friendly policy. Check out the [testimonials](https://github.com/shopyo/shopyo/discussions/307).\n\n> Thank you! One of the best onboarding experiences I've had. Learned a lot too (Ramon from Codesee.io)\n\n# Glimpse\n\n![](https://github.com/shopyo/shopyo/raw/dev/assets/comparison.png)\n\n# Who uses Shopyo?\n\n| site name | description |\n| :------------: | :----------------: |\n| Maurilearn.com | Elearning platform |\n| Linkolearn.com | Learn By links |\n| FlaskCon.com | Conference soft |\n\n# Big??\n\nPowered by apps / modules. Add as many as you like.\n\nApps are not enough, organise them in boxes and get the ultimate order you need.\n\nYou need a customised Django? This is the project. You need to build an ERP? This is the project.\n\n# Linux??\n\nHackable to the core. Even the dashboard is but a module.\n\nDon't need our modules? Nuke them. Look boring? modify them\n\n# Reliable?\n\nWe don't maintain middlewares. We rely on battle tested batteries like:\n\n- flask_sqlalchemy\n- flask_login & co\n\nHeck remove them if you don't want. Want to use Peewee? You can.\n\n# Rich Flask API\n\nCommon flask patterns are integrated, the structure is over the moon.\n\nCommon flask tasks are provided with an API: custom notifications, bulk form errors\n\n# Back office feel & Theme\n\nAll looks are 100% customisable with themes ~ Backend, bootstrap included by default.\n\nAgain blow it up & use what you want. It's possible\n\n# Transparent: Code your own web distro\n\nEverything is clear, not hidden. You can 100% customise whatever you want.\n\nWe did not hardcode our choices. Our APIS are incremental. You can always use barebones.\n\n# Plug & Play\n\nThe modules are put by copy paste. No blueprint codes to write.\n\n# Contribute\n\nWe follow a 100% first-timers friendly policy.\n\n\ud83d\udc49 Get started [here](https://shopyo.readthedocs.io/en/latest/contrib.html)\n\n\ud83d\udc49 Join the [Discord](https://discord.gg/k37Ef6w), ask questions & learn about Flask tricks during our dev talks!\n\n# \ud83d\udcda Docs\n\n\ud83d\udc49 Link: [shopyo.readthedocs.io/](https://shopyo.readthedocs.io/en/latest/)\n\n# \ud83d\udcde Contact (inlcuding in case of vulns)\n\nSupport team if you are stuck\n\n- [Abdur-Rahmaan Janhangeer](https://github.com/Abdur-rahmaanJ) - arj.python@gmail.com\n- [Nathan](https://github.com/blips5) -\n- [Arthur Nangai](https://github.com/arthurarty) - arthurnangaiarty@yahoo.co.uk\n- [Shamsuddin Rehmani](https://github.com/rehmanis) - rehmani@usc.edu\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Highly modular web framework built for big apps on top of Flask with Django advantages",
"version": "4.12.1",
"project_urls": {
"Changelog": "https://github.com/shopyo/shopyo/blob/dev/CHANGES.md/",
"Homepage": "https://github.com/shopyo/shopyo",
"Issue Tracker": "https://github.com/shopyo/shopyo/issues/",
"Source Code": "https://github.com/shopyo/shopyo/",
"Twitter": "https://twitter.com/shopyoproject/"
},
"split_keywords": [
"flask",
" django",
" web framework",
" modular"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8e0af35b81dc2616121172e1c60fd51b804d40e3cc8999e29e3f968054bc80fd",
"md5": "c5d7ecb1613b34bd1e59b6648667df20",
"sha256": "a051d306c356b69799bc08416188016bf81b37a719665959791ce00c1c69b5db"
},
"downloads": -1,
"filename": "shopyo-4.12.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c5d7ecb1613b34bd1e59b6648667df20",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 5439186,
"upload_time": "2024-10-11T19:49:36",
"upload_time_iso_8601": "2024-10-11T19:49:36.792704Z",
"url": "https://files.pythonhosted.org/packages/8e/0a/f35b81dc2616121172e1c60fd51b804d40e3cc8999e29e3f968054bc80fd/shopyo-4.12.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "002ca244cd614dfdc1884cab55cefe2ab470b8fe9c5453afb2f4fc4dd0575b41",
"md5": "161b60fce0d397d0dd25aa6d5677d546",
"sha256": "cb0036552187b87803d0131947b11272a2409c24a89b8eba63bd76e1b5188c20"
},
"downloads": -1,
"filename": "shopyo-4.12.1.tar.gz",
"has_sig": false,
"md5_digest": "161b60fce0d397d0dd25aa6d5677d546",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 5424604,
"upload_time": "2024-10-11T19:49:39",
"upload_time_iso_8601": "2024-10-11T19:49:39.477724Z",
"url": "https://files.pythonhosted.org/packages/00/2c/a244cd614dfdc1884cab55cefe2ab470b8fe9c5453afb2f4fc4dd0575b41/shopyo-4.12.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-11 19:49:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "shopyo",
"github_project": "shopyo",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "shopyo"
}