Skip to main content

Um template para começar o desenvolvimento de apps

Project description

Modificações

  1. Altere o nome da pasta emdemor_app_template para o nome do seu App e desenvolva seu código ali. Vou citar como exemplo um app fictício emmapp.

  2. No arquivo environment.yml altere o nome do ambiente conda para o que seja de maior conveniência. Por exemplo, pode-se usar emmapp.

  3. Configure o arquivo LICENSE de acordo com a licensa que escolher.

  4. No arquivo Makefile, substitua emdemor_app_template nas linhas 19 e 24 (dentro das regras clear e uninstall) para o nome de seu app (no nosso caso, emmapp)

  5. No arquivo pyproject.toml, Substitua emdemor_app_template pelo nome de seu app nas linhas 6 (campo "name" dentro de [project]), 28 (campo "version" dentro de [tool.setuptools.dynamic]) e 32 (campo onde você define o comando para rodar o app. Escolha o comando que deseja usar.)

  6. No arquivo docs/source/conf.py, substitua o app name nas linhas 9 (dentro do sys.path.insert) e 14 (nome do projeto). Aproveite para configurar as informações de autor e data.

  7. Escreva a introdução da sua documentação no arquivo docs/source/intro.rst

  8. Para cada modulo na pasta emmapp (no seu caso, será o nome de seu app), crie uma arquivo tipo RST dentro de _files/_modules com o nome do modulo. Por exemplo, para o módulo emmapp.utils, deve-se criar o arquivo _files/_modules/utils.rst. Dentro, deverá ter o seguinte código

{{nome do modulo}}
===================

.. automodule:: {{nome do modulo}}
   :members:
  1. Para cada submodulo na pasta emmapp (no seu caso, será o nome de seu app), crie uma pasta dentro de _files/_modules com o nome do modulo e um arquivo tipo RST dentro dessa pasta para cada submodulo. Por exemplo, para do módulo emmapp/mymodule/hello, deve-se criar a pasta _files/_modules/mymodule, e dentro, o arquivo _files/_modules/mymodule/hello.rst. Nesse arquivo, deverá ter o seguinte código
{{nome do submodulo}}
===================

.. automodule:: {{nome do modulo}}.{{nome do submodulo}}
   :members:
  1. Dentro de _files/_usage, edite o arquivo getting_started.rst e quaisquer outros arquivos que adicionar. Lembre-se que para cada arquivo novo em docs/source/_files/_usage, deve-se também referenciá-lo em docs/source/usage.rst

Detalhes sobre a documentação

  1. Instale sphinx
pip install sphinx
  1. Crie e entre na pasta docs e rode sphinx-quickstart
mkdir docs
cd docs
sphinx-quickstart
  1. Preencha as informações
> Separar os diretórios de origem e compilação (y/n) [n]: y
> Nome do projeto: Template de Python
> Nome(s) de autor(es): A. U. Thor
> Lançamento do projeto []: 2022-12-31
> Idioma do projeto [en]: en

Após isso, teremos duas pastas dentro de docs. A pasta source vai ser onde vamos trabalhar para gerar documentação. A pasta build será onde a documentação estará.

  1. Editar o endereço do seus modulos (no template, é a pasta src) em relação ao arquivo docs/source/conf.py. No nosso caso, será:
import os
import sys

sys.path.insert(0, os.path.abspath("../../src"))
  1. Adicione extensões. No arquivo docs/source/conf.py, onde está
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = []

Substitua por:

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
    "sphinx.ext.autodoc",
    "sphinx.ext.intersphinx",
    "sphinx.ext.autodoc",
    "sphinx.ext.mathjax",
    "sphinx.ext.viewcode",
    "sphinx.ext.napoleon",
]
  1. Altere o thema html do arquivo
# The theme to use for HTML and HTML Help pages.  See the documentation for
# a list of builtin themes.
#
html_theme = "sphinx_rtd_theme"
  1. Adicione logo, favicon e estilos css à sua página. Para isso, adicione todos os arquivos dentro de docs/source/_static. Dentro do arquivo docs/source/conf.py, adicione as seguintes linhas:
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ["_static"]

html_logo = "_static/logo.png"

html_css_files = ["custom-theme.css"]

html_favicon = "_static/favicon.ico"

html_theme_options = {
    "logo_only": True,
    "display_version": False,
}
  1. Dentro da pasta docs, rode:
make html

A documentação estará em docs/build/html

Project details


Download files

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

Source Distribution

emdemor_app_template-0.0.3.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

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

emdemor_app_template-0.0.3-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file emdemor_app_template-0.0.3.tar.gz.

File metadata

  • Download URL: emdemor_app_template-0.0.3.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for emdemor_app_template-0.0.3.tar.gz
Algorithm Hash digest
SHA256 256fe4dbad8d66c6fb057417cdf1fa55f5ef85b82bf7a1054ce33297ca1c5d8e
MD5 1292af741252b0c528ac866701fd7e2f
BLAKE2b-256 cc0e43d9db7384f4922e7b9239b0973c0f7f38ccfd6df1c0fbf92fa1b487f6e9

See more details on using hashes here.

File details

Details for the file emdemor_app_template-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for emdemor_app_template-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 18c761047c35fec1b9429257026d3495a3a76d40c087a3c1c088ced725d88160
MD5 2ff5c85d1b6a31a556dd6b1b7f100418
BLAKE2b-256 ccb8188d61770660f8a7b30a16e7c5b49c804e29a109e9b1019985c3a77c4e6d

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