diff options
Diffstat (limited to 'python-django-rework.spec')
-rw-r--r-- | python-django-rework.spec | 574 |
1 files changed, 574 insertions, 0 deletions
diff --git a/python-django-rework.spec b/python-django-rework.spec new file mode 100644 index 0000000..710128b --- /dev/null +++ b/python-django-rework.spec @@ -0,0 +1,574 @@ +%global _empty_manifest_terminate_build 0 +Name: python-django-rework +Version: 0.5.2 +Release: 1 +Summary: Rapid develop framework base on Django +License: MIT +URL: https://github.com/rework-union/django-rework +Source0: https://mirrors.aliyun.com/pypi/web/packages/3d/bd/d2a83ff1328f5dafb041acaa0d009c9f7575b9c4d1320bd358058024f1ad/django-rework-0.5.2.tar.gz +BuildArch: noarch + +Requires: python3-Django +Requires: python3-django-cors-headers +Requires: python3-django-environ +Requires: python3-django-filter +Requires: python3-django-mysql +Requires: python3-django-ninja +Requires: python3-djangorestframework +Requires: python3-djangorestframework-simplejwt +Requires: python3-fabric +Requires: python3-Markdown +Requires: python3-mysqlclient +Requires: python3-patchwork +Requires: python3-Pillow +Requires: python3-drf-nested-routers +Requires: python3-drf-yasg +Requires: python3-wechatpy + +%description +# Django Rework + +[](https://pepy.tech/project/django-rework) +[](https://pypi.org/project/django-rework/) +[](https://www.python.org) +[](https://www.djangoproject.com) +[](https://opensource.org/licenses/MIT) + +Rapid develop framework base on Django, integrated with Django-Ninja. + +# _Installation_ & Cli commands + +## Requirements + +- Python >= 3.8 +- Django >= 3.2 +- Django REST framework >=3.13,<4.0 + +## Install django-rework +```bash +pip install django-rework +``` + +## Generic CLI Commands + +### Start a new project + +```bash +# It will create project in current dir +# eg: initialize a new project named `pony` +rework init pony +``` + +### Add build-in contrib Apps + +```bash +rework add users +``` + +### Add deployment configurations + +```bash +rework deploy --init +``` + +### Deploy to test or production + +```bash +rework deploy # or 'fab -H web1 deploy' +``` + +# _Core docs_ + +## Custom exceptions + +The exception handler must also be configured in your settings, using the EXCEPTION_HANDLER setting key. For example: + +```python +REST_FRAMEWORK = { + 'EXCEPTION_HANDLER': 'rework.core.views.exception_handler' +} +``` + +Use build-in custom exceptions: +```python +from rework.core.exceptions import ValidateError +ValidateError( + detail='You do not have permission to perform this action.', + code='permission_denied', +) +``` + +🥠[Build-in custom exceptions](rework/core/exceptions.py) + + +# _App docs_ + +| App | Description | docs in English | ç®€ä½“ä¸æ–‡æ–‡æ¡£ | +| -------- | ----------- | --------------- | ----------- | +| users | Users system | [users.md](docs/users.md) | [users_cn.md](docs/users_cn.md) | + + +# _DevOps Fabric scripts_ + +## Setup hosts + +`django-rework` deal with DevOps using `Fabric`. You should add hosts configurations in `fabfile.py`. + +```python +import os +from rework.core.devops.hosts import loads + +# The first argument `default` is host alias +# `user` is optional, default value is `root` +# `envs` is the server support deploy environments +# `exclude_components` is optional, it's been used in `fab setup_server` +loads( + 'default', { + 'host': 'your-server-ip', + 'port': 22, + 'user': 'root', + 'connect_kwargs': { + 'password': 'server-password', + }, + 'envs': ['test', 'prod'], + 'exclude_components': ['redis'], + } +) + +# Using SSH key +loads( + 'web1', { + 'host': 'your-server-ip', + 'connect_kwargs': { + 'key_filename': os.path.join(os.path.abspath('.'), '.deploy/private.pem'), + }, + } +) + +``` + +You can change host alias as you like: `web1` etc. +```bash +fab -H web1 deploy +``` + +if not `-H` provided, the default alias will use according the order below: +1. environment name: `dev`, `test`, `prod` +2. `default` + +## Deploy environments + +By default, environments is `dev`, `test`, `prod`, every environment name is a generic fabric tasks. + +```bash +# deploy to `test` environment +fab test deploy +``` + +If you want to update requirements, you should add arguments `-r` or `--requirements_update` +```bash +fab test deploy -r +``` + + +# _Code Format_ + +Code format using Google çš„ `yapf`,recommend to install `yapf` globally: +```bash +# install yapf using pip in python3 +$ python3 -m pip install yapf + +# find and create soft link to `/usr/local/bin/yapf` +# find yapf execute file + +$ which yapf +# (/usr/local/python3.7/bin/yapf) possible location + +$ ln -s /usr/local/python3.7/bin/yapf /usr/local/bin/yapf +``` + + + + +%package -n python3-django-rework +Summary: Rapid develop framework base on Django +Provides: python-django-rework +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-django-rework +# Django Rework + +[](https://pepy.tech/project/django-rework) +[](https://pypi.org/project/django-rework/) +[](https://www.python.org) +[](https://www.djangoproject.com) +[](https://opensource.org/licenses/MIT) + +Rapid develop framework base on Django, integrated with Django-Ninja. + +# _Installation_ & Cli commands + +## Requirements + +- Python >= 3.8 +- Django >= 3.2 +- Django REST framework >=3.13,<4.0 + +## Install django-rework +```bash +pip install django-rework +``` + +## Generic CLI Commands + +### Start a new project + +```bash +# It will create project in current dir +# eg: initialize a new project named `pony` +rework init pony +``` + +### Add build-in contrib Apps + +```bash +rework add users +``` + +### Add deployment configurations + +```bash +rework deploy --init +``` + +### Deploy to test or production + +```bash +rework deploy # or 'fab -H web1 deploy' +``` + +# _Core docs_ + +## Custom exceptions + +The exception handler must also be configured in your settings, using the EXCEPTION_HANDLER setting key. For example: + +```python +REST_FRAMEWORK = { + 'EXCEPTION_HANDLER': 'rework.core.views.exception_handler' +} +``` + +Use build-in custom exceptions: +```python +from rework.core.exceptions import ValidateError +ValidateError( + detail='You do not have permission to perform this action.', + code='permission_denied', +) +``` + +🥠[Build-in custom exceptions](rework/core/exceptions.py) + + +# _App docs_ + +| App | Description | docs in English | ç®€ä½“ä¸æ–‡æ–‡æ¡£ | +| -------- | ----------- | --------------- | ----------- | +| users | Users system | [users.md](docs/users.md) | [users_cn.md](docs/users_cn.md) | + + +# _DevOps Fabric scripts_ + +## Setup hosts + +`django-rework` deal with DevOps using `Fabric`. You should add hosts configurations in `fabfile.py`. + +```python +import os +from rework.core.devops.hosts import loads + +# The first argument `default` is host alias +# `user` is optional, default value is `root` +# `envs` is the server support deploy environments +# `exclude_components` is optional, it's been used in `fab setup_server` +loads( + 'default', { + 'host': 'your-server-ip', + 'port': 22, + 'user': 'root', + 'connect_kwargs': { + 'password': 'server-password', + }, + 'envs': ['test', 'prod'], + 'exclude_components': ['redis'], + } +) + +# Using SSH key +loads( + 'web1', { + 'host': 'your-server-ip', + 'connect_kwargs': { + 'key_filename': os.path.join(os.path.abspath('.'), '.deploy/private.pem'), + }, + } +) + +``` + +You can change host alias as you like: `web1` etc. +```bash +fab -H web1 deploy +``` + +if not `-H` provided, the default alias will use according the order below: +1. environment name: `dev`, `test`, `prod` +2. `default` + +## Deploy environments + +By default, environments is `dev`, `test`, `prod`, every environment name is a generic fabric tasks. + +```bash +# deploy to `test` environment +fab test deploy +``` + +If you want to update requirements, you should add arguments `-r` or `--requirements_update` +```bash +fab test deploy -r +``` + + +# _Code Format_ + +Code format using Google çš„ `yapf`,recommend to install `yapf` globally: +```bash +# install yapf using pip in python3 +$ python3 -m pip install yapf + +# find and create soft link to `/usr/local/bin/yapf` +# find yapf execute file + +$ which yapf +# (/usr/local/python3.7/bin/yapf) possible location + +$ ln -s /usr/local/python3.7/bin/yapf /usr/local/bin/yapf +``` + + + + +%package help +Summary: Development documents and examples for django-rework +Provides: python3-django-rework-doc +%description help +# Django Rework + +[](https://pepy.tech/project/django-rework) +[](https://pypi.org/project/django-rework/) +[](https://www.python.org) +[](https://www.djangoproject.com) +[](https://opensource.org/licenses/MIT) + +Rapid develop framework base on Django, integrated with Django-Ninja. + +# _Installation_ & Cli commands + +## Requirements + +- Python >= 3.8 +- Django >= 3.2 +- Django REST framework >=3.13,<4.0 + +## Install django-rework +```bash +pip install django-rework +``` + +## Generic CLI Commands + +### Start a new project + +```bash +# It will create project in current dir +# eg: initialize a new project named `pony` +rework init pony +``` + +### Add build-in contrib Apps + +```bash +rework add users +``` + +### Add deployment configurations + +```bash +rework deploy --init +``` + +### Deploy to test or production + +```bash +rework deploy # or 'fab -H web1 deploy' +``` + +# _Core docs_ + +## Custom exceptions + +The exception handler must also be configured in your settings, using the EXCEPTION_HANDLER setting key. For example: + +```python +REST_FRAMEWORK = { + 'EXCEPTION_HANDLER': 'rework.core.views.exception_handler' +} +``` + +Use build-in custom exceptions: +```python +from rework.core.exceptions import ValidateError +ValidateError( + detail='You do not have permission to perform this action.', + code='permission_denied', +) +``` + +🥠[Build-in custom exceptions](rework/core/exceptions.py) + + +# _App docs_ + +| App | Description | docs in English | ç®€ä½“ä¸æ–‡æ–‡æ¡£ | +| -------- | ----------- | --------------- | ----------- | +| users | Users system | [users.md](docs/users.md) | [users_cn.md](docs/users_cn.md) | + + +# _DevOps Fabric scripts_ + +## Setup hosts + +`django-rework` deal with DevOps using `Fabric`. You should add hosts configurations in `fabfile.py`. + +```python +import os +from rework.core.devops.hosts import loads + +# The first argument `default` is host alias +# `user` is optional, default value is `root` +# `envs` is the server support deploy environments +# `exclude_components` is optional, it's been used in `fab setup_server` +loads( + 'default', { + 'host': 'your-server-ip', + 'port': 22, + 'user': 'root', + 'connect_kwargs': { + 'password': 'server-password', + }, + 'envs': ['test', 'prod'], + 'exclude_components': ['redis'], + } +) + +# Using SSH key +loads( + 'web1', { + 'host': 'your-server-ip', + 'connect_kwargs': { + 'key_filename': os.path.join(os.path.abspath('.'), '.deploy/private.pem'), + }, + } +) + +``` + +You can change host alias as you like: `web1` etc. +```bash +fab -H web1 deploy +``` + +if not `-H` provided, the default alias will use according the order below: +1. environment name: `dev`, `test`, `prod` +2. `default` + +## Deploy environments + +By default, environments is `dev`, `test`, `prod`, every environment name is a generic fabric tasks. + +```bash +# deploy to `test` environment +fab test deploy +``` + +If you want to update requirements, you should add arguments `-r` or `--requirements_update` +```bash +fab test deploy -r +``` + + +# _Code Format_ + +Code format using Google çš„ `yapf`,recommend to install `yapf` globally: +```bash +# install yapf using pip in python3 +$ python3 -m pip install yapf + +# find and create soft link to `/usr/local/bin/yapf` +# find yapf execute file + +$ which yapf +# (/usr/local/python3.7/bin/yapf) possible location + +$ ln -s /usr/local/python3.7/bin/yapf /usr/local/bin/yapf +``` + + + + +%prep +%autosetup -n django-rework-0.5.2 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-django-rework -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.5.2-1 +- Package Spec generated |