Reutilização de Aplicações - Software-Design-2017/SSMais GitHub Wiki
Histórico de Revisão
Data | Versão | Descrição | Autor(es) |
---|---|---|---|
23/11/2017 | 1.0 | Introdução | Ronyell Henrique |
23/11/2017 | 2.0 | Empacotamento | Ronyell Henrique |
1. Introdução
2. Arquivos
- README.rst
- LICENSE
- setup.py
- MANIFEST.in
2.1 README.rst
====
Nome da aplicação
====
Descrição da aplicação reutilizável
Como utilizar a aplicação
----------------------------
1. Forma de importar a aplicação
INSTALED_APPS = [
...
'aplicação'
]
2. Forma de acessar a aplicação via url (Caso seja necessário)
url(r'.^aplicação/', include('aplicação.urls')),
3. Aplicando as migrações `python3 manage.py migrate`.
4. Visualizar a estrutura da modelo no admin http://127.0.0.1:8000/admin/
(é necessário ativar o Admin).
5. Visitar http://127.0.0.1:8000/aplicação/ para visualizar a aplicação importada.
2.2 LICENSE
2.3 setup.py
from pip.req import parse_requirements
import os
from setuptools import find_packages, setup
with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as readme:
README = readme.read()
# allow setup.py to be run from any path
os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))
# parse_requirements() returns generator of pip.req.InstallRequirement objects
install_reqs = parse_requirements('requirements.txt', session='hack')
# reqs is a list of requirement
# e.g. ['django==1.5.1', 'mezzanine==1.4.6']
requires = [str(ir.req) for ir in install_reqs]
setup(
name='Embeleza-Mais',
version='0.1',
packages=find_packages(),
include_package_data=True,
license='BSD License', # example license
description='A simple Django app to conduct Web-based polls.',
long_description=README,
url='https://www.example.com/',
author='Your Name',
author_email='[email protected]',
install_requires=requires,
classifiers=[
'Environment :: Web Environment',
'Framework :: Django',
'Framework :: Django :: X.Y', # replace "X.Y" as appropriate
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License', # example license
'Operating System :: OS Independent',
'Programming Language :: Python',
# Replace these appropriately if you are stuck on Python 2.
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Topic :: Internet :: WWW/HTTP',
'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
],
)
2.4 MANIFEST.in
include requirements.txt
include requirements-dev.txt
recursive-include aplicacao/templates *
3. Empacotamento
3.1 Gerando o Pacote
python3 setup.py sdist
3.2 Utilizando o Pacote
pip install --user aplicacao/dist/aplicacao-0.1.tar.gz
pip uninstall aplicacao
4. Distribuição no PyPI
- twine. Comando:
pip install twine
python3 setup.py sdist
twine upload dist/*